LCOV - code coverage report
Current view: top level - drivers/common/sfc_efx/base - efx_mon.c (source / functions) Hit Total Coverage
Test: Code coverage Lines: 0 25 0.0 %
Date: 2024-04-01 19:00:53 Functions: 0 3 0.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 0 20 0.0 %

           Branch data     Line data    Source code
       1                 :            : /* SPDX-License-Identifier: BSD-3-Clause
       2                 :            :  *
       3                 :            :  * Copyright(c) 2019-2021 Xilinx, Inc.
       4                 :            :  * Copyright(c) 2007-2019 Solarflare Communications Inc.
       5                 :            :  */
       6                 :            : 
       7                 :            : #include "efx.h"
       8                 :            : #include "efx_impl.h"
       9                 :            : 
      10                 :            : #if EFSYS_OPT_MON_MCDI
      11                 :            : #include "mcdi_mon.h"
      12                 :            : #endif
      13                 :            : 
      14                 :            : #if EFSYS_OPT_NAMES
      15                 :            : 
      16                 :            : static const char * const __efx_mon_name[] = {
      17                 :            :         "",
      18                 :            :         "sfx90x0",
      19                 :            :         "sfx91x0",
      20                 :            :         "sfx92x0"
      21                 :            : };
      22                 :            : 
      23                 :            :                 const char *
      24                 :          0 : efx_mon_name(
      25                 :            :         __in    efx_nic_t *enp)
      26                 :            : {
      27                 :            :         efx_nic_cfg_t *encp = &(enp->en_nic_cfg);
      28                 :            : 
      29         [ #  # ]:          0 :         EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC);
      30                 :            : 
      31         [ #  # ]:          0 :         EFSYS_ASSERT(encp->enc_mon_type != EFX_MON_INVALID);
      32         [ #  # ]:          0 :         EFSYS_ASSERT3U(encp->enc_mon_type, <, EFX_MON_NTYPES);
      33                 :          0 :         return (__efx_mon_name[encp->enc_mon_type]);
      34                 :            : }
      35                 :            : 
      36                 :            : #endif  /* EFSYS_OPT_NAMES */
      37                 :            : 
      38                 :            : #if EFSYS_OPT_MON_MCDI
      39                 :            : static const efx_mon_ops_t      __efx_mon_mcdi_ops = {
      40                 :            : #if EFSYS_OPT_MON_STATS
      41                 :            :         mcdi_mon_stats_update,          /* emo_stats_update */
      42                 :            :         mcdi_mon_limits_update,         /* emo_limits_update */
      43                 :            : #endif  /* EFSYS_OPT_MON_STATS */
      44                 :            : };
      45                 :            : #endif
      46                 :            : 
      47                 :            : 
      48                 :            :         __checkReturn   efx_rc_t
      49                 :          0 : efx_mon_init(
      50                 :            :         __in            efx_nic_t *enp)
      51                 :            : {
      52                 :            :         efx_nic_cfg_t *encp = &(enp->en_nic_cfg);
      53                 :            :         efx_mon_t *emp = &(enp->en_mon);
      54                 :            :         const efx_mon_ops_t *emop;
      55                 :            :         efx_rc_t rc;
      56                 :            : 
      57         [ #  # ]:          0 :         EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC);
      58         [ #  # ]:          0 :         EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PROBE);
      59                 :            : 
      60         [ #  # ]:          0 :         if (enp->en_mod_flags & EFX_MOD_MON) {
      61                 :            :                 rc = EINVAL;
      62                 :          0 :                 goto fail1;
      63                 :            :         }
      64                 :            : 
      65                 :          0 :         enp->en_mod_flags |= EFX_MOD_MON;
      66                 :            : 
      67                 :          0 :         emp->em_type = encp->enc_mon_type;
      68                 :            : 
      69         [ #  # ]:          0 :         EFSYS_ASSERT(encp->enc_mon_type != EFX_MON_INVALID);
      70                 :            :         switch (emp->em_type) {
      71                 :            : #if EFSYS_OPT_MON_MCDI
      72                 :            :         case EFX_MON_SFC90X0:
      73                 :            :         case EFX_MON_SFC91X0:
      74                 :            :         case EFX_MON_SFC92X0:
      75                 :            :                 emop = &__efx_mon_mcdi_ops;
      76                 :            :                 break;
      77                 :            : #endif
      78                 :            :         default:
      79                 :            :                 rc = ENOTSUP;
      80                 :          0 :                 goto fail2;
      81                 :            :         }
      82                 :            : 
      83                 :            :         emp->em_emop = emop;
      84                 :            :         return (0);
      85                 :            : 
      86                 :            : fail2:
      87                 :            :         EFSYS_PROBE(fail2);
      88                 :            : 
      89                 :          0 :         emp->em_type = EFX_MON_INVALID;
      90                 :            : 
      91                 :          0 :         enp->en_mod_flags &= ~EFX_MOD_MON;
      92                 :            : 
      93                 :          0 : fail1:
      94                 :            :         EFSYS_PROBE1(fail1, efx_rc_t, rc);
      95                 :            : 
      96                 :            :         return (rc);
      97                 :            : }
      98                 :            : 
      99                 :            : #if EFSYS_OPT_MON_STATS
     100                 :            : 
     101                 :            : #if EFSYS_OPT_NAMES
     102                 :            : 
     103                 :            : /* START MKCONFIG GENERATED MonitorStatNamesBlock 277c17eda1a6d1a4 */
     104                 :            : static const char * const __mon_stat_name[] = {
     105                 :            :         "controller_temp",
     106                 :            :         "phy_common_temp",
     107                 :            :         "controller_cooling",
     108                 :            :         "phy0_temp",
     109                 :            :         "phy0_cooling",
     110                 :            :         "phy1_temp",
     111                 :            :         "phy1_cooling",
     112                 :            :         "in_1v0",
     113                 :            :         "in_1v2",
     114                 :            :         "in_1v8",
     115                 :            :         "in_2v5",
     116                 :            :         "in_3v3",
     117                 :            :         "in_12v0",
     118                 :            :         "in_1v2a",
     119                 :            :         "in_vref",
     120                 :            :         "out_vaoe",
     121                 :            :         "aoe_temp",
     122                 :            :         "psu_aoe_temp",
     123                 :            :         "psu_temp",
     124                 :            :         "fan_0",
     125                 :            :         "fan_1",
     126                 :            :         "fan_2",
     127                 :            :         "fan_3",
     128                 :            :         "fan_4",
     129                 :            :         "in_vaoe",
     130                 :            :         "out_iaoe",
     131                 :            :         "in_iaoe",
     132                 :            :         "nic_power",
     133                 :            :         "in_0v9",
     134                 :            :         "in_i0v9",
     135                 :            :         "in_i1v2",
     136                 :            :         "in_0v9_adc",
     137                 :            :         "controller_2_temp",
     138                 :            :         "vreg_internal_temp",
     139                 :            :         "vreg_0v9_temp",
     140                 :            :         "vreg_1v2_temp",
     141                 :            :         "controller_vptat",
     142                 :            :         "controller_internal_temp",
     143                 :            :         "controller_vptat_extadc",
     144                 :            :         "controller_internal_temp_extadc",
     145                 :            :         "ambient_temp",
     146                 :            :         "airflow",
     147                 :            :         "vdd08d_vss08d_csr",
     148                 :            :         "vdd08d_vss08d_csr_extadc",
     149                 :            :         "hotpoint_temp",
     150                 :            :         "phy_power_port0",
     151                 :            :         "phy_power_port1",
     152                 :            :         "mum_vcc",
     153                 :            :         "in_0v9_a",
     154                 :            :         "in_i0v9_a",
     155                 :            :         "vreg_0v9_a_temp",
     156                 :            :         "in_0v9_b",
     157                 :            :         "in_i0v9_b",
     158                 :            :         "vreg_0v9_b_temp",
     159                 :            :         "ccom_avreg_1v2_supply",
     160                 :            :         "ccom_avreg_1v2_supply_extadc",
     161                 :            :         "ccom_avreg_1v8_supply",
     162                 :            :         "ccom_avreg_1v8_supply_extadc",
     163                 :            :         "controller_master_vptat",
     164                 :            :         "controller_master_internal_temp",
     165                 :            :         "controller_master_vptat_extadc",
     166                 :            :         "controller_master_internal_temp_extadc",
     167                 :            :         "controller_slave_vptat",
     168                 :            :         "controller_slave_internal_temp",
     169                 :            :         "controller_slave_vptat_extadc",
     170                 :            :         "controller_slave_internal_temp_extadc",
     171                 :            :         "sodimm_vout",
     172                 :            :         "sodimm_0_temp",
     173                 :            :         "sodimm_1_temp",
     174                 :            :         "phy0_vcc",
     175                 :            :         "phy1_vcc",
     176                 :            :         "controller_tdiode_temp",
     177                 :            :         "board_front_temp",
     178                 :            :         "board_back_temp",
     179                 :            :         "in_i1v8",
     180                 :            :         "in_i2v5",
     181                 :            :         "in_i3v3",
     182                 :            :         "in_i12v0",
     183                 :            :         "in_1v3",
     184                 :            :         "in_i1v3",
     185                 :            : };
     186                 :            : 
     187                 :            : /* END MKCONFIG GENERATED MonitorStatNamesBlock */
     188                 :            : 
     189                 :            :                                         const char *
     190                 :            : efx_mon_stat_name(
     191                 :            :         __in                            efx_nic_t *enp,
     192                 :            :         __in                            efx_mon_stat_t id)
     193                 :            : {
     194                 :            :         _NOTE(ARGUNUSED(enp))
     195                 :            :         EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC);
     196                 :            : 
     197                 :            :         EFSYS_ASSERT3U(id, <, EFX_MON_NSTATS);
     198                 :            :         return (__mon_stat_name[id]);
     199                 :            : }
     200                 :            : 
     201                 :            : typedef struct _stat_description_t {
     202                 :            :         efx_mon_stat_t  stat;
     203                 :            :         const char      *desc;
     204                 :            : } stat_description_t;
     205                 :            : 
     206                 :            : /* START MKCONFIG GENERATED MonitorStatDescriptionsBlock f072138f16d2e1f8 */
     207                 :            : static const char *__mon_stat_description[] = {
     208                 :            :         MC_CMD_SENSOR_CONTROLLER_TEMP_ENUM_STR,
     209                 :            :         MC_CMD_SENSOR_PHY_COMMON_TEMP_ENUM_STR,
     210                 :            :         MC_CMD_SENSOR_CONTROLLER_COOLING_ENUM_STR,
     211                 :            :         MC_CMD_SENSOR_PHY0_TEMP_ENUM_STR,
     212                 :            :         MC_CMD_SENSOR_PHY0_COOLING_ENUM_STR,
     213                 :            :         MC_CMD_SENSOR_PHY1_TEMP_ENUM_STR,
     214                 :            :         MC_CMD_SENSOR_PHY1_COOLING_ENUM_STR,
     215                 :            :         MC_CMD_SENSOR_IN_1V0_ENUM_STR,
     216                 :            :         MC_CMD_SENSOR_IN_1V2_ENUM_STR,
     217                 :            :         MC_CMD_SENSOR_IN_1V8_ENUM_STR,
     218                 :            :         MC_CMD_SENSOR_IN_2V5_ENUM_STR,
     219                 :            :         MC_CMD_SENSOR_IN_3V3_ENUM_STR,
     220                 :            :         MC_CMD_SENSOR_IN_12V0_ENUM_STR,
     221                 :            :         MC_CMD_SENSOR_IN_1V2A_ENUM_STR,
     222                 :            :         MC_CMD_SENSOR_IN_VREF_ENUM_STR,
     223                 :            :         MC_CMD_SENSOR_OUT_VAOE_ENUM_STR,
     224                 :            :         MC_CMD_SENSOR_AOE_TEMP_ENUM_STR,
     225                 :            :         MC_CMD_SENSOR_PSU_AOE_TEMP_ENUM_STR,
     226                 :            :         MC_CMD_SENSOR_PSU_TEMP_ENUM_STR,
     227                 :            :         MC_CMD_SENSOR_FAN_0_ENUM_STR,
     228                 :            :         MC_CMD_SENSOR_FAN_1_ENUM_STR,
     229                 :            :         MC_CMD_SENSOR_FAN_2_ENUM_STR,
     230                 :            :         MC_CMD_SENSOR_FAN_3_ENUM_STR,
     231                 :            :         MC_CMD_SENSOR_FAN_4_ENUM_STR,
     232                 :            :         MC_CMD_SENSOR_IN_VAOE_ENUM_STR,
     233                 :            :         MC_CMD_SENSOR_OUT_IAOE_ENUM_STR,
     234                 :            :         MC_CMD_SENSOR_IN_IAOE_ENUM_STR,
     235                 :            :         MC_CMD_SENSOR_NIC_POWER_ENUM_STR,
     236                 :            :         MC_CMD_SENSOR_IN_0V9_ENUM_STR,
     237                 :            :         MC_CMD_SENSOR_IN_I0V9_ENUM_STR,
     238                 :            :         MC_CMD_SENSOR_IN_I1V2_ENUM_STR,
     239                 :            :         MC_CMD_SENSOR_IN_0V9_ADC_ENUM_STR,
     240                 :            :         MC_CMD_SENSOR_CONTROLLER_2_TEMP_ENUM_STR,
     241                 :            :         MC_CMD_SENSOR_VREG_INTERNAL_TEMP_ENUM_STR,
     242                 :            :         MC_CMD_SENSOR_VREG_0V9_TEMP_ENUM_STR,
     243                 :            :         MC_CMD_SENSOR_VREG_1V2_TEMP_ENUM_STR,
     244                 :            :         MC_CMD_SENSOR_CONTROLLER_VPTAT_ENUM_STR,
     245                 :            :         MC_CMD_SENSOR_CONTROLLER_INTERNAL_TEMP_ENUM_STR,
     246                 :            :         MC_CMD_SENSOR_CONTROLLER_VPTAT_EXTADC_ENUM_STR,
     247                 :            :         MC_CMD_SENSOR_CONTROLLER_INTERNAL_TEMP_EXTADC_ENUM_STR,
     248                 :            :         MC_CMD_SENSOR_AMBIENT_TEMP_ENUM_STR,
     249                 :            :         MC_CMD_SENSOR_AIRFLOW_ENUM_STR,
     250                 :            :         MC_CMD_SENSOR_VDD08D_VSS08D_CSR_ENUM_STR,
     251                 :            :         MC_CMD_SENSOR_VDD08D_VSS08D_CSR_EXTADC_ENUM_STR,
     252                 :            :         MC_CMD_SENSOR_HOTPOINT_TEMP_ENUM_STR,
     253                 :            :         MC_CMD_SENSOR_PHY_POWER_PORT0_ENUM_STR,
     254                 :            :         MC_CMD_SENSOR_PHY_POWER_PORT1_ENUM_STR,
     255                 :            :         MC_CMD_SENSOR_MUM_VCC_ENUM_STR,
     256                 :            :         MC_CMD_SENSOR_IN_0V9_A_ENUM_STR,
     257                 :            :         MC_CMD_SENSOR_IN_I0V9_A_ENUM_STR,
     258                 :            :         MC_CMD_SENSOR_VREG_0V9_A_TEMP_ENUM_STR,
     259                 :            :         MC_CMD_SENSOR_IN_0V9_B_ENUM_STR,
     260                 :            :         MC_CMD_SENSOR_IN_I0V9_B_ENUM_STR,
     261                 :            :         MC_CMD_SENSOR_VREG_0V9_B_TEMP_ENUM_STR,
     262                 :            :         MC_CMD_SENSOR_CCOM_AVREG_1V2_SUPPLY_ENUM_STR,
     263                 :            :         MC_CMD_SENSOR_CCOM_AVREG_1V2_SUPPLY_EXTADC_ENUM_STR,
     264                 :            :         MC_CMD_SENSOR_CCOM_AVREG_1V8_SUPPLY_ENUM_STR,
     265                 :            :         MC_CMD_SENSOR_CCOM_AVREG_1V8_SUPPLY_EXTADC_ENUM_STR,
     266                 :            :         MC_CMD_SENSOR_CONTROLLER_MASTER_VPTAT_ENUM_STR,
     267                 :            :         MC_CMD_SENSOR_CONTROLLER_MASTER_INTERNAL_TEMP_ENUM_STR,
     268                 :            :         MC_CMD_SENSOR_CONTROLLER_MASTER_VPTAT_EXTADC_ENUM_STR,
     269                 :            :         MC_CMD_SENSOR_CONTROLLER_MASTER_INTERNAL_TEMP_EXTADC_ENUM_STR,
     270                 :            :         MC_CMD_SENSOR_CONTROLLER_SLAVE_VPTAT_ENUM_STR,
     271                 :            :         MC_CMD_SENSOR_CONTROLLER_SLAVE_INTERNAL_TEMP_ENUM_STR,
     272                 :            :         MC_CMD_SENSOR_CONTROLLER_SLAVE_VPTAT_EXTADC_ENUM_STR,
     273                 :            :         MC_CMD_SENSOR_CONTROLLER_SLAVE_INTERNAL_TEMP_EXTADC_ENUM_STR,
     274                 :            :         MC_CMD_SENSOR_SODIMM_VOUT_ENUM_STR,
     275                 :            :         MC_CMD_SENSOR_SODIMM_0_TEMP_ENUM_STR,
     276                 :            :         MC_CMD_SENSOR_SODIMM_1_TEMP_ENUM_STR,
     277                 :            :         MC_CMD_SENSOR_PHY0_VCC_ENUM_STR,
     278                 :            :         MC_CMD_SENSOR_PHY1_VCC_ENUM_STR,
     279                 :            :         MC_CMD_SENSOR_CONTROLLER_TDIODE_TEMP_ENUM_STR,
     280                 :            :         MC_CMD_SENSOR_BOARD_FRONT_TEMP_ENUM_STR,
     281                 :            :         MC_CMD_SENSOR_BOARD_BACK_TEMP_ENUM_STR,
     282                 :            :         MC_CMD_SENSOR_IN_I1V8_ENUM_STR,
     283                 :            :         MC_CMD_SENSOR_IN_I2V5_ENUM_STR,
     284                 :            :         MC_CMD_SENSOR_IN_I3V3_ENUM_STR,
     285                 :            :         MC_CMD_SENSOR_IN_I12V0_ENUM_STR,
     286                 :            :         MC_CMD_SENSOR_IN_1V3_ENUM_STR,
     287                 :            :         MC_CMD_SENSOR_IN_I1V3_ENUM_STR,
     288                 :            : };
     289                 :            : 
     290                 :            : /* END MKCONFIG GENERATED MonitorStatDescriptionsBlock */
     291                 :            : 
     292                 :            :                                         const char *
     293                 :            : efx_mon_stat_description(
     294                 :            :         __in                            efx_nic_t *enp,
     295                 :            :         __in                            efx_mon_stat_t id)
     296                 :            : {
     297                 :            :         _NOTE(ARGUNUSED(enp))
     298                 :            :         EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC);
     299                 :            : 
     300                 :            :         EFSYS_ASSERT3U(id, <, EFX_MON_NSTATS);
     301                 :            :         return (__mon_stat_description[id]);
     302                 :            : }
     303                 :            : 
     304                 :            : #endif  /* EFSYS_OPT_NAMES */
     305                 :            : 
     306                 :            : /* START MKCONFIG GENERATED MonitorMcdiMappingBlock 173eee0a5599996a */
     307                 :            :         __checkReturn                   boolean_t
     308                 :            : efx_mon_mcdi_to_efx_stat(
     309                 :            :         __in                            int mcdi_index,
     310                 :            :         __out                           efx_mon_stat_t *statp)
     311                 :            : {
     312                 :            : 
     313                 :            :         if ((mcdi_index % (MC_CMD_SENSOR_PAGE0_NEXT + 1)) ==
     314                 :            :             MC_CMD_SENSOR_PAGE0_NEXT) {
     315                 :            :                 *statp = EFX_MON_NSTATS;
     316                 :            :                 return (B_FALSE);
     317                 :            :         }
     318                 :            : 
     319                 :            :         switch (mcdi_index) {
     320                 :            :         case MC_CMD_SENSOR_IN_I0V9:
     321                 :            :                 *statp = EFX_MON_STAT_IN_I0V9;
     322                 :            :                 break;
     323                 :            :         case MC_CMD_SENSOR_CONTROLLER_SLAVE_VPTAT_EXTADC:
     324                 :            :                 *statp = EFX_MON_STAT_CONTROLLER_SLAVE_VPTAT_EXTADC;
     325                 :            :                 break;
     326                 :            :         case MC_CMD_SENSOR_CONTROLLER_SLAVE_VPTAT:
     327                 :            :                 *statp = EFX_MON_STAT_CONTROLLER_SLAVE_VPTAT;
     328                 :            :                 break;
     329                 :            :         case MC_CMD_SENSOR_PSU_TEMP:
     330                 :            :                 *statp = EFX_MON_STAT_PSU_TEMP;
     331                 :            :                 break;
     332                 :            :         case MC_CMD_SENSOR_FAN_2:
     333                 :            :                 *statp = EFX_MON_STAT_FAN_2;
     334                 :            :                 break;
     335                 :            :         case MC_CMD_SENSOR_CONTROLLER_INTERNAL_TEMP_EXTADC:
     336                 :            :                 *statp = EFX_MON_STAT_CONTROLLER_INTERNAL_TEMP_EXTADC;
     337                 :            :                 break;
     338                 :            :         case MC_CMD_SENSOR_BOARD_BACK_TEMP:
     339                 :            :                 *statp = EFX_MON_STAT_BOARD_BACK_TEMP;
     340                 :            :                 break;
     341                 :            :         case MC_CMD_SENSOR_IN_1V3:
     342                 :            :                 *statp = EFX_MON_STAT_IN_1V3;
     343                 :            :                 break;
     344                 :            :         case MC_CMD_SENSOR_CONTROLLER_TDIODE_TEMP:
     345                 :            :                 *statp = EFX_MON_STAT_CONTROLLER_TDIODE_TEMP;
     346                 :            :                 break;
     347                 :            :         case MC_CMD_SENSOR_IN_2V5:
     348                 :            :                 *statp = EFX_MON_STAT_IN_2V5;
     349                 :            :                 break;
     350                 :            :         case MC_CMD_SENSOR_PHY_COMMON_TEMP:
     351                 :            :                 *statp = EFX_MON_STAT_PHY_COMMON_TEMP;
     352                 :            :                 break;
     353                 :            :         case MC_CMD_SENSOR_PHY1_TEMP:
     354                 :            :                 *statp = EFX_MON_STAT_PHY1_TEMP;
     355                 :            :                 break;
     356                 :            :         case MC_CMD_SENSOR_VREG_INTERNAL_TEMP:
     357                 :            :                 *statp = EFX_MON_STAT_VREG_INTERNAL_TEMP;
     358                 :            :                 break;
     359                 :            :         case MC_CMD_SENSOR_IN_1V0:
     360                 :            :                 *statp = EFX_MON_STAT_IN_1V0;
     361                 :            :                 break;
     362                 :            :         case MC_CMD_SENSOR_FAN_1:
     363                 :            :                 *statp = EFX_MON_STAT_FAN_1;
     364                 :            :                 break;
     365                 :            :         case MC_CMD_SENSOR_IN_1V2:
     366                 :            :                 *statp = EFX_MON_STAT_IN_1V2;
     367                 :            :                 break;
     368                 :            :         case MC_CMD_SENSOR_FAN_3:
     369                 :            :                 *statp = EFX_MON_STAT_FAN_3;
     370                 :            :                 break;
     371                 :            :         case MC_CMD_SENSOR_IN_1V2A:
     372                 :            :                 *statp = EFX_MON_STAT_IN_1V2A;
     373                 :            :                 break;
     374                 :            :         case MC_CMD_SENSOR_SODIMM_0_TEMP:
     375                 :            :                 *statp = EFX_MON_STAT_SODIMM_0_TEMP;
     376                 :            :                 break;
     377                 :            :         case MC_CMD_SENSOR_IN_1V8:
     378                 :            :                 *statp = EFX_MON_STAT_IN_1V8;
     379                 :            :                 break;
     380                 :            :         case MC_CMD_SENSOR_IN_VREF:
     381                 :            :                 *statp = EFX_MON_STAT_IN_VREF;
     382                 :            :                 break;
     383                 :            :         case MC_CMD_SENSOR_SODIMM_VOUT:
     384                 :            :                 *statp = EFX_MON_STAT_SODIMM_VOUT;
     385                 :            :                 break;
     386                 :            :         case MC_CMD_SENSOR_CCOM_AVREG_1V2_SUPPLY:
     387                 :            :                 *statp = EFX_MON_STAT_CCOM_AVREG_1V2_SUPPLY;
     388                 :            :                 break;
     389                 :            :         case MC_CMD_SENSOR_IN_I1V2:
     390                 :            :                 *statp = EFX_MON_STAT_IN_I1V2;
     391                 :            :                 break;
     392                 :            :         case MC_CMD_SENSOR_IN_I1V3:
     393                 :            :                 *statp = EFX_MON_STAT_IN_I1V3;
     394                 :            :                 break;
     395                 :            :         case MC_CMD_SENSOR_AIRFLOW:
     396                 :            :                 *statp = EFX_MON_STAT_AIRFLOW;
     397                 :            :                 break;
     398                 :            :         case MC_CMD_SENSOR_HOTPOINT_TEMP:
     399                 :            :                 *statp = EFX_MON_STAT_HOTPOINT_TEMP;
     400                 :            :                 break;
     401                 :            :         case MC_CMD_SENSOR_VDD08D_VSS08D_CSR:
     402                 :            :                 *statp = EFX_MON_STAT_VDD08D_VSS08D_CSR;
     403                 :            :                 break;
     404                 :            :         case MC_CMD_SENSOR_AOE_TEMP:
     405                 :            :                 *statp = EFX_MON_STAT_AOE_TEMP;
     406                 :            :                 break;
     407                 :            :         case MC_CMD_SENSOR_IN_I1V8:
     408                 :            :                 *statp = EFX_MON_STAT_IN_I1V8;
     409                 :            :                 break;
     410                 :            :         case MC_CMD_SENSOR_IN_I2V5:
     411                 :            :                 *statp = EFX_MON_STAT_IN_I2V5;
     412                 :            :                 break;
     413                 :            :         case MC_CMD_SENSOR_PHY1_COOLING:
     414                 :            :                 *statp = EFX_MON_STAT_PHY1_COOLING;
     415                 :            :                 break;
     416                 :            :         case MC_CMD_SENSOR_CCOM_AVREG_1V8_SUPPLY_EXTADC:
     417                 :            :                 *statp = EFX_MON_STAT_CCOM_AVREG_1V8_SUPPLY_EXTADC;
     418                 :            :                 break;
     419                 :            :         case MC_CMD_SENSOR_IN_0V9_ADC:
     420                 :            :                 *statp = EFX_MON_STAT_IN_0V9_ADC;
     421                 :            :                 break;
     422                 :            :         case MC_CMD_SENSOR_VREG_0V9_A_TEMP:
     423                 :            :                 *statp = EFX_MON_STAT_VREG_0V9_A_TEMP;
     424                 :            :                 break;
     425                 :            :         case MC_CMD_SENSOR_CONTROLLER_MASTER_VPTAT:
     426                 :            :                 *statp = EFX_MON_STAT_CONTROLLER_MASTER_VPTAT;
     427                 :            :                 break;
     428                 :            :         case MC_CMD_SENSOR_PHY0_VCC:
     429                 :            :                 *statp = EFX_MON_STAT_PHY0_VCC;
     430                 :            :                 break;
     431                 :            :         case MC_CMD_SENSOR_PHY0_COOLING:
     432                 :            :                 *statp = EFX_MON_STAT_PHY0_COOLING;
     433                 :            :                 break;
     434                 :            :         case MC_CMD_SENSOR_PSU_AOE_TEMP:
     435                 :            :                 *statp = EFX_MON_STAT_PSU_AOE_TEMP;
     436                 :            :                 break;
     437                 :            :         case MC_CMD_SENSOR_VREG_0V9_TEMP:
     438                 :            :                 *statp = EFX_MON_STAT_VREG_0V9_TEMP;
     439                 :            :                 break;
     440                 :            :         case MC_CMD_SENSOR_IN_I0V9_A:
     441                 :            :                 *statp = EFX_MON_STAT_IN_I0V9_A;
     442                 :            :                 break;
     443                 :            :         case MC_CMD_SENSOR_IN_I3V3:
     444                 :            :                 *statp = EFX_MON_STAT_IN_I3V3;
     445                 :            :                 break;
     446                 :            :         case MC_CMD_SENSOR_BOARD_FRONT_TEMP:
     447                 :            :                 *statp = EFX_MON_STAT_BOARD_FRONT_TEMP;
     448                 :            :                 break;
     449                 :            :         case MC_CMD_SENSOR_OUT_VAOE:
     450                 :            :                 *statp = EFX_MON_STAT_OUT_VAOE;
     451                 :            :                 break;
     452                 :            :         case MC_CMD_SENSOR_VDD08D_VSS08D_CSR_EXTADC:
     453                 :            :                 *statp = EFX_MON_STAT_VDD08D_VSS08D_CSR_EXTADC;
     454                 :            :                 break;
     455                 :            :         case MC_CMD_SENSOR_IN_I12V0:
     456                 :            :                 *statp = EFX_MON_STAT_IN_I12V0;
     457                 :            :                 break;
     458                 :            :         case MC_CMD_SENSOR_PHY_POWER_PORT1:
     459                 :            :                 *statp = EFX_MON_STAT_PHY_POWER_PORT1;
     460                 :            :                 break;
     461                 :            :         case MC_CMD_SENSOR_PHY_POWER_PORT0:
     462                 :            :                 *statp = EFX_MON_STAT_PHY_POWER_PORT0;
     463                 :            :                 break;
     464                 :            :         case MC_CMD_SENSOR_CONTROLLER_SLAVE_INTERNAL_TEMP_EXTADC:
     465                 :            :                 *statp = EFX_MON_STAT_CONTROLLER_SLAVE_INTERNAL_TEMP_EXTADC;
     466                 :            :                 break;
     467                 :            :         case MC_CMD_SENSOR_CONTROLLER_MASTER_INTERNAL_TEMP:
     468                 :            :                 *statp = EFX_MON_STAT_CONTROLLER_MASTER_INTERNAL_TEMP;
     469                 :            :                 break;
     470                 :            :         case MC_CMD_SENSOR_CONTROLLER_TEMP:
     471                 :            :                 *statp = EFX_MON_STAT_CONTROLLER_TEMP;
     472                 :            :                 break;
     473                 :            :         case MC_CMD_SENSOR_IN_IAOE:
     474                 :            :                 *statp = EFX_MON_STAT_IN_IAOE;
     475                 :            :                 break;
     476                 :            :         case MC_CMD_SENSOR_IN_VAOE:
     477                 :            :                 *statp = EFX_MON_STAT_IN_VAOE;
     478                 :            :                 break;
     479                 :            :         case MC_CMD_SENSOR_CONTROLLER_MASTER_VPTAT_EXTADC:
     480                 :            :                 *statp = EFX_MON_STAT_CONTROLLER_MASTER_VPTAT_EXTADC;
     481                 :            :                 break;
     482                 :            :         case MC_CMD_SENSOR_CCOM_AVREG_1V8_SUPPLY:
     483                 :            :                 *statp = EFX_MON_STAT_CCOM_AVREG_1V8_SUPPLY;
     484                 :            :                 break;
     485                 :            :         case MC_CMD_SENSOR_PHY1_VCC:
     486                 :            :                 *statp = EFX_MON_STAT_PHY1_VCC;
     487                 :            :                 break;
     488                 :            :         case MC_CMD_SENSOR_CONTROLLER_COOLING:
     489                 :            :                 *statp = EFX_MON_STAT_CONTROLLER_COOLING;
     490                 :            :                 break;
     491                 :            :         case MC_CMD_SENSOR_AMBIENT_TEMP:
     492                 :            :                 *statp = EFX_MON_STAT_AMBIENT_TEMP;
     493                 :            :                 break;
     494                 :            :         case MC_CMD_SENSOR_IN_3V3:
     495                 :            :                 *statp = EFX_MON_STAT_IN_3V3;
     496                 :            :                 break;
     497                 :            :         case MC_CMD_SENSOR_PHY0_TEMP:
     498                 :            :                 *statp = EFX_MON_STAT_PHY0_TEMP;
     499                 :            :                 break;
     500                 :            :         case MC_CMD_SENSOR_SODIMM_1_TEMP:
     501                 :            :                 *statp = EFX_MON_STAT_SODIMM_1_TEMP;
     502                 :            :                 break;
     503                 :            :         case MC_CMD_SENSOR_MUM_VCC:
     504                 :            :                 *statp = EFX_MON_STAT_MUM_VCC;
     505                 :            :                 break;
     506                 :            :         case MC_CMD_SENSOR_VREG_0V9_B_TEMP:
     507                 :            :                 *statp = EFX_MON_STAT_VREG_0V9_B_TEMP;
     508                 :            :                 break;
     509                 :            :         case MC_CMD_SENSOR_CONTROLLER_SLAVE_INTERNAL_TEMP:
     510                 :            :                 *statp = EFX_MON_STAT_CONTROLLER_SLAVE_INTERNAL_TEMP;
     511                 :            :                 break;
     512                 :            :         case MC_CMD_SENSOR_FAN_4:
     513                 :            :                 *statp = EFX_MON_STAT_FAN_4;
     514                 :            :                 break;
     515                 :            :         case MC_CMD_SENSOR_CONTROLLER_2_TEMP:
     516                 :            :                 *statp = EFX_MON_STAT_CONTROLLER_2_TEMP;
     517                 :            :                 break;
     518                 :            :         case MC_CMD_SENSOR_CCOM_AVREG_1V2_SUPPLY_EXTADC:
     519                 :            :                 *statp = EFX_MON_STAT_CCOM_AVREG_1V2_SUPPLY_EXTADC;
     520                 :            :                 break;
     521                 :            :         case MC_CMD_SENSOR_IN_0V9_A:
     522                 :            :                 *statp = EFX_MON_STAT_IN_0V9_A;
     523                 :            :                 break;
     524                 :            :         case MC_CMD_SENSOR_CONTROLLER_VPTAT_EXTADC:
     525                 :            :                 *statp = EFX_MON_STAT_CONTROLLER_VPTAT_EXTADC;
     526                 :            :                 break;
     527                 :            :         case MC_CMD_SENSOR_IN_0V9:
     528                 :            :                 *statp = EFX_MON_STAT_IN_0V9;
     529                 :            :                 break;
     530                 :            :         case MC_CMD_SENSOR_IN_I0V9_B:
     531                 :            :                 *statp = EFX_MON_STAT_IN_I0V9_B;
     532                 :            :                 break;
     533                 :            :         case MC_CMD_SENSOR_NIC_POWER:
     534                 :            :                 *statp = EFX_MON_STAT_NIC_POWER;
     535                 :            :                 break;
     536                 :            :         case MC_CMD_SENSOR_IN_12V0:
     537                 :            :                 *statp = EFX_MON_STAT_IN_12V0;
     538                 :            :                 break;
     539                 :            :         case MC_CMD_SENSOR_OUT_IAOE:
     540                 :            :                 *statp = EFX_MON_STAT_OUT_IAOE;
     541                 :            :                 break;
     542                 :            :         case MC_CMD_SENSOR_CONTROLLER_VPTAT:
     543                 :            :                 *statp = EFX_MON_STAT_CONTROLLER_VPTAT;
     544                 :            :                 break;
     545                 :            :         case MC_CMD_SENSOR_CONTROLLER_MASTER_INTERNAL_TEMP_EXTADC:
     546                 :            :                 *statp = EFX_MON_STAT_CONTROLLER_MASTER_INTERNAL_TEMP_EXTADC;
     547                 :            :                 break;
     548                 :            :         case MC_CMD_SENSOR_CONTROLLER_INTERNAL_TEMP:
     549                 :            :                 *statp = EFX_MON_STAT_CONTROLLER_INTERNAL_TEMP;
     550                 :            :                 break;
     551                 :            :         case MC_CMD_SENSOR_FAN_0:
     552                 :            :                 *statp = EFX_MON_STAT_FAN_0;
     553                 :            :                 break;
     554                 :            :         case MC_CMD_SENSOR_VREG_1V2_TEMP:
     555                 :            :                 *statp = EFX_MON_STAT_VREG_1V2_TEMP;
     556                 :            :                 break;
     557                 :            :         case MC_CMD_SENSOR_IN_0V9_B:
     558                 :            :                 *statp = EFX_MON_STAT_IN_0V9_B;
     559                 :            :                 break;
     560                 :            :         default:
     561                 :            :                 *statp = EFX_MON_NSTATS;
     562                 :            :                 break;
     563                 :            :         };
     564                 :            : 
     565                 :            :         if (*statp == EFX_MON_NSTATS)
     566                 :            :                 goto fail1;
     567                 :            : 
     568                 :            :         return (B_TRUE);
     569                 :            : 
     570                 :            : fail1:
     571                 :            :         EFSYS_PROBE1(fail1, boolean_t, B_TRUE);
     572                 :            :         return (B_FALSE);
     573                 :            : };
     574                 :            : 
     575                 :            : /* END MKCONFIG GENERATED MonitorMcdiMappingBlock */
     576                 :            : 
     577                 :            : /* START MKCONFIG GENERATED MonitorStatisticUnitsBlock 2d447c656cc2d01d */
     578                 :            :         __checkReturn                   boolean_t
     579                 :            : efx_mon_get_stat_unit(
     580                 :            :         __in                            efx_mon_stat_t stat,
     581                 :            :         __out                           efx_mon_stat_unit_t *unitp)
     582                 :            : {
     583                 :            :         switch (stat) {
     584                 :            :         case EFX_MON_STAT_IN_1V0:
     585                 :            :         case EFX_MON_STAT_IN_1V2:
     586                 :            :         case EFX_MON_STAT_IN_1V8:
     587                 :            :         case EFX_MON_STAT_IN_2V5:
     588                 :            :         case EFX_MON_STAT_IN_3V3:
     589                 :            :         case EFX_MON_STAT_IN_12V0:
     590                 :            :         case EFX_MON_STAT_IN_1V2A:
     591                 :            :         case EFX_MON_STAT_IN_VREF:
     592                 :            :         case EFX_MON_STAT_OUT_VAOE:
     593                 :            :         case EFX_MON_STAT_IN_VAOE:
     594                 :            :         case EFX_MON_STAT_IN_0V9:
     595                 :            :         case EFX_MON_STAT_IN_0V9_ADC:
     596                 :            :         case EFX_MON_STAT_CONTROLLER_VPTAT_EXTADC:
     597                 :            :         case EFX_MON_STAT_VDD08D_VSS08D_CSR:
     598                 :            :         case EFX_MON_STAT_VDD08D_VSS08D_CSR_EXTADC:
     599                 :            :         case EFX_MON_STAT_MUM_VCC:
     600                 :            :         case EFX_MON_STAT_IN_0V9_A:
     601                 :            :         case EFX_MON_STAT_IN_0V9_B:
     602                 :            :         case EFX_MON_STAT_CCOM_AVREG_1V2_SUPPLY:
     603                 :            :         case EFX_MON_STAT_CCOM_AVREG_1V2_SUPPLY_EXTADC:
     604                 :            :         case EFX_MON_STAT_CCOM_AVREG_1V8_SUPPLY:
     605                 :            :         case EFX_MON_STAT_CCOM_AVREG_1V8_SUPPLY_EXTADC:
     606                 :            :         case EFX_MON_STAT_CONTROLLER_MASTER_VPTAT:
     607                 :            :         case EFX_MON_STAT_CONTROLLER_MASTER_VPTAT_EXTADC:
     608                 :            :         case EFX_MON_STAT_CONTROLLER_SLAVE_VPTAT:
     609                 :            :         case EFX_MON_STAT_CONTROLLER_SLAVE_VPTAT_EXTADC:
     610                 :            :         case EFX_MON_STAT_SODIMM_VOUT:
     611                 :            :         case EFX_MON_STAT_PHY0_VCC:
     612                 :            :         case EFX_MON_STAT_PHY1_VCC:
     613                 :            :         case EFX_MON_STAT_IN_1V3:
     614                 :            :                 *unitp = EFX_MON_STAT_UNIT_VOLTAGE_MV;
     615                 :            :                 break;
     616                 :            :         case EFX_MON_STAT_CONTROLLER_TEMP:
     617                 :            :         case EFX_MON_STAT_PHY_COMMON_TEMP:
     618                 :            :         case EFX_MON_STAT_PHY0_TEMP:
     619                 :            :         case EFX_MON_STAT_PHY1_TEMP:
     620                 :            :         case EFX_MON_STAT_AOE_TEMP:
     621                 :            :         case EFX_MON_STAT_PSU_AOE_TEMP:
     622                 :            :         case EFX_MON_STAT_PSU_TEMP:
     623                 :            :         case EFX_MON_STAT_CONTROLLER_2_TEMP:
     624                 :            :         case EFX_MON_STAT_VREG_INTERNAL_TEMP:
     625                 :            :         case EFX_MON_STAT_VREG_0V9_TEMP:
     626                 :            :         case EFX_MON_STAT_VREG_1V2_TEMP:
     627                 :            :         case EFX_MON_STAT_CONTROLLER_VPTAT:
     628                 :            :         case EFX_MON_STAT_CONTROLLER_INTERNAL_TEMP:
     629                 :            :         case EFX_MON_STAT_CONTROLLER_INTERNAL_TEMP_EXTADC:
     630                 :            :         case EFX_MON_STAT_AMBIENT_TEMP:
     631                 :            :         case EFX_MON_STAT_HOTPOINT_TEMP:
     632                 :            :         case EFX_MON_STAT_VREG_0V9_A_TEMP:
     633                 :            :         case EFX_MON_STAT_VREG_0V9_B_TEMP:
     634                 :            :         case EFX_MON_STAT_CONTROLLER_MASTER_INTERNAL_TEMP:
     635                 :            :         case EFX_MON_STAT_CONTROLLER_MASTER_INTERNAL_TEMP_EXTADC:
     636                 :            :         case EFX_MON_STAT_CONTROLLER_SLAVE_INTERNAL_TEMP:
     637                 :            :         case EFX_MON_STAT_CONTROLLER_SLAVE_INTERNAL_TEMP_EXTADC:
     638                 :            :         case EFX_MON_STAT_SODIMM_0_TEMP:
     639                 :            :         case EFX_MON_STAT_SODIMM_1_TEMP:
     640                 :            :         case EFX_MON_STAT_CONTROLLER_TDIODE_TEMP:
     641                 :            :         case EFX_MON_STAT_BOARD_FRONT_TEMP:
     642                 :            :         case EFX_MON_STAT_BOARD_BACK_TEMP:
     643                 :            :                 *unitp = EFX_MON_STAT_UNIT_TEMP_C;
     644                 :            :                 break;
     645                 :            :         case EFX_MON_STAT_CONTROLLER_COOLING:
     646                 :            :         case EFX_MON_STAT_PHY0_COOLING:
     647                 :            :         case EFX_MON_STAT_PHY1_COOLING:
     648                 :            :         case EFX_MON_STAT_AIRFLOW:
     649                 :            :         case EFX_MON_STAT_PHY_POWER_PORT0:
     650                 :            :         case EFX_MON_STAT_PHY_POWER_PORT1:
     651                 :            :                 *unitp = EFX_MON_STAT_UNIT_BOOL;
     652                 :            :                 break;
     653                 :            :         case EFX_MON_STAT_NIC_POWER:
     654                 :            :                 *unitp = EFX_MON_STAT_UNIT_POWER_W;
     655                 :            :                 break;
     656                 :            :         case EFX_MON_STAT_OUT_IAOE:
     657                 :            :         case EFX_MON_STAT_IN_IAOE:
     658                 :            :         case EFX_MON_STAT_IN_I0V9:
     659                 :            :         case EFX_MON_STAT_IN_I1V2:
     660                 :            :         case EFX_MON_STAT_IN_I0V9_A:
     661                 :            :         case EFX_MON_STAT_IN_I0V9_B:
     662                 :            :         case EFX_MON_STAT_IN_I1V8:
     663                 :            :         case EFX_MON_STAT_IN_I2V5:
     664                 :            :         case EFX_MON_STAT_IN_I3V3:
     665                 :            :         case EFX_MON_STAT_IN_I12V0:
     666                 :            :         case EFX_MON_STAT_IN_I1V3:
     667                 :            :                 *unitp = EFX_MON_STAT_UNIT_CURRENT_MA;
     668                 :            :                 break;
     669                 :            :         case EFX_MON_STAT_FAN_0:
     670                 :            :         case EFX_MON_STAT_FAN_1:
     671                 :            :         case EFX_MON_STAT_FAN_2:
     672                 :            :         case EFX_MON_STAT_FAN_3:
     673                 :            :         case EFX_MON_STAT_FAN_4:
     674                 :            :                 *unitp = EFX_MON_STAT_UNIT_RPM;
     675                 :            :                 break;
     676                 :            :         default:
     677                 :            :                 *unitp = EFX_MON_STAT_UNIT_UNKNOWN;
     678                 :            :                 break;
     679                 :            :         };
     680                 :            : 
     681                 :            :         if (*unitp == EFX_MON_STAT_UNIT_UNKNOWN)
     682                 :            :                 goto fail1;
     683                 :            : 
     684                 :            :         return (B_TRUE);
     685                 :            : 
     686                 :            : fail1:
     687                 :            :         EFSYS_PROBE1(fail1, boolean_t, B_TRUE);
     688                 :            :         return (B_FALSE);
     689                 :            : };
     690                 :            : 
     691                 :            : /* END MKCONFIG GENERATED MonitorStatisticUnitsBlock */
     692                 :            : 
     693                 :            : /* START MKCONFIG GENERATED MonitorStatisticPortsBlock 1719b751d842534f */
     694                 :            :         __checkReturn                   boolean_t
     695                 :            : efx_mon_get_stat_portmap(
     696                 :            :         __in                            efx_mon_stat_t stat,
     697                 :            :         __out                           efx_mon_stat_portmask_t *maskp)
     698                 :            : {
     699                 :            : 
     700                 :            :         switch (stat) {
     701                 :            :         case EFX_MON_STAT_PHY1_TEMP:
     702                 :            :         case EFX_MON_STAT_PHY1_COOLING:
     703                 :            :         case EFX_MON_STAT_PHY_POWER_PORT1:
     704                 :            :                 *maskp = EFX_MON_STAT_PORTMAP_PORT1;
     705                 :            :                 break;
     706                 :            :         case EFX_MON_STAT_CONTROLLER_TEMP:
     707                 :            :         case EFX_MON_STAT_PHY_COMMON_TEMP:
     708                 :            :         case EFX_MON_STAT_CONTROLLER_COOLING:
     709                 :            :         case EFX_MON_STAT_IN_1V0:
     710                 :            :         case EFX_MON_STAT_IN_1V2:
     711                 :            :         case EFX_MON_STAT_IN_1V8:
     712                 :            :         case EFX_MON_STAT_IN_2V5:
     713                 :            :         case EFX_MON_STAT_IN_3V3:
     714                 :            :         case EFX_MON_STAT_IN_12V0:
     715                 :            :         case EFX_MON_STAT_IN_1V2A:
     716                 :            :         case EFX_MON_STAT_IN_VREF:
     717                 :            :         case EFX_MON_STAT_OUT_VAOE:
     718                 :            :         case EFX_MON_STAT_AOE_TEMP:
     719                 :            :         case EFX_MON_STAT_PSU_AOE_TEMP:
     720                 :            :         case EFX_MON_STAT_PSU_TEMP:
     721                 :            :         case EFX_MON_STAT_FAN_0:
     722                 :            :         case EFX_MON_STAT_FAN_1:
     723                 :            :         case EFX_MON_STAT_FAN_2:
     724                 :            :         case EFX_MON_STAT_FAN_3:
     725                 :            :         case EFX_MON_STAT_FAN_4:
     726                 :            :         case EFX_MON_STAT_IN_VAOE:
     727                 :            :         case EFX_MON_STAT_OUT_IAOE:
     728                 :            :         case EFX_MON_STAT_IN_IAOE:
     729                 :            :         case EFX_MON_STAT_NIC_POWER:
     730                 :            :         case EFX_MON_STAT_IN_0V9:
     731                 :            :         case EFX_MON_STAT_IN_I0V9:
     732                 :            :         case EFX_MON_STAT_IN_I1V2:
     733                 :            :         case EFX_MON_STAT_IN_0V9_ADC:
     734                 :            :         case EFX_MON_STAT_CONTROLLER_2_TEMP:
     735                 :            :         case EFX_MON_STAT_VREG_INTERNAL_TEMP:
     736                 :            :         case EFX_MON_STAT_VREG_0V9_TEMP:
     737                 :            :         case EFX_MON_STAT_VREG_1V2_TEMP:
     738                 :            :         case EFX_MON_STAT_CONTROLLER_VPTAT:
     739                 :            :         case EFX_MON_STAT_CONTROLLER_INTERNAL_TEMP:
     740                 :            :         case EFX_MON_STAT_CONTROLLER_VPTAT_EXTADC:
     741                 :            :         case EFX_MON_STAT_CONTROLLER_INTERNAL_TEMP_EXTADC:
     742                 :            :         case EFX_MON_STAT_AMBIENT_TEMP:
     743                 :            :         case EFX_MON_STAT_AIRFLOW:
     744                 :            :         case EFX_MON_STAT_VDD08D_VSS08D_CSR:
     745                 :            :         case EFX_MON_STAT_VDD08D_VSS08D_CSR_EXTADC:
     746                 :            :         case EFX_MON_STAT_HOTPOINT_TEMP:
     747                 :            :         case EFX_MON_STAT_MUM_VCC:
     748                 :            :         case EFX_MON_STAT_IN_0V9_A:
     749                 :            :         case EFX_MON_STAT_IN_I0V9_A:
     750                 :            :         case EFX_MON_STAT_VREG_0V9_A_TEMP:
     751                 :            :         case EFX_MON_STAT_IN_0V9_B:
     752                 :            :         case EFX_MON_STAT_IN_I0V9_B:
     753                 :            :         case EFX_MON_STAT_VREG_0V9_B_TEMP:
     754                 :            :         case EFX_MON_STAT_CCOM_AVREG_1V2_SUPPLY:
     755                 :            :         case EFX_MON_STAT_CCOM_AVREG_1V2_SUPPLY_EXTADC:
     756                 :            :         case EFX_MON_STAT_CCOM_AVREG_1V8_SUPPLY:
     757                 :            :         case EFX_MON_STAT_CCOM_AVREG_1V8_SUPPLY_EXTADC:
     758                 :            :         case EFX_MON_STAT_CONTROLLER_MASTER_VPTAT:
     759                 :            :         case EFX_MON_STAT_CONTROLLER_MASTER_INTERNAL_TEMP:
     760                 :            :         case EFX_MON_STAT_CONTROLLER_MASTER_VPTAT_EXTADC:
     761                 :            :         case EFX_MON_STAT_CONTROLLER_MASTER_INTERNAL_TEMP_EXTADC:
     762                 :            :         case EFX_MON_STAT_CONTROLLER_SLAVE_VPTAT:
     763                 :            :         case EFX_MON_STAT_CONTROLLER_SLAVE_INTERNAL_TEMP:
     764                 :            :         case EFX_MON_STAT_CONTROLLER_SLAVE_VPTAT_EXTADC:
     765                 :            :         case EFX_MON_STAT_CONTROLLER_SLAVE_INTERNAL_TEMP_EXTADC:
     766                 :            :         case EFX_MON_STAT_SODIMM_VOUT:
     767                 :            :         case EFX_MON_STAT_SODIMM_0_TEMP:
     768                 :            :         case EFX_MON_STAT_SODIMM_1_TEMP:
     769                 :            :         case EFX_MON_STAT_PHY0_VCC:
     770                 :            :         case EFX_MON_STAT_PHY1_VCC:
     771                 :            :         case EFX_MON_STAT_CONTROLLER_TDIODE_TEMP:
     772                 :            :         case EFX_MON_STAT_BOARD_FRONT_TEMP:
     773                 :            :         case EFX_MON_STAT_BOARD_BACK_TEMP:
     774                 :            :         case EFX_MON_STAT_IN_I1V8:
     775                 :            :         case EFX_MON_STAT_IN_I2V5:
     776                 :            :         case EFX_MON_STAT_IN_I3V3:
     777                 :            :         case EFX_MON_STAT_IN_I12V0:
     778                 :            :         case EFX_MON_STAT_IN_1V3:
     779                 :            :         case EFX_MON_STAT_IN_I1V3:
     780                 :            :                 *maskp = EFX_MON_STAT_PORTMAP_ALL;
     781                 :            :                 break;
     782                 :            :         case EFX_MON_STAT_PHY0_TEMP:
     783                 :            :         case EFX_MON_STAT_PHY0_COOLING:
     784                 :            :         case EFX_MON_STAT_PHY_POWER_PORT0:
     785                 :            :                 *maskp = EFX_MON_STAT_PORTMAP_PORT0;
     786                 :            :                 break;
     787                 :            :         default:
     788                 :            :                 *maskp = EFX_MON_STAT_PORTMAP_UNKNOWN;
     789                 :            :                 break;
     790                 :            :         };
     791                 :            : 
     792                 :            :         if (*maskp == EFX_MON_STAT_PORTMAP_UNKNOWN)
     793                 :            :                 goto fail1;
     794                 :            : 
     795                 :            :         return (B_TRUE);
     796                 :            : 
     797                 :            : fail1:
     798                 :            :         EFSYS_PROBE1(fail1, boolean_t, B_TRUE);
     799                 :            :         return (B_FALSE);
     800                 :            : };
     801                 :            : 
     802                 :            : /* END MKCONFIG GENERATED MonitorStatisticPortsBlock */
     803                 :            : 
     804                 :            :         __checkReturn                   efx_rc_t
     805                 :            : efx_mon_stats_update(
     806                 :            :         __in                            efx_nic_t *enp,
     807                 :            :         __in                            efsys_mem_t *esmp,
     808                 :            :         __inout_ecount(EFX_MON_NSTATS)  efx_mon_stat_value_t *values)
     809                 :            : {
     810                 :            :         efx_mon_t *emp = &(enp->en_mon);
     811                 :            :         const efx_mon_ops_t *emop = emp->em_emop;
     812                 :            : 
     813                 :            :         EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC);
     814                 :            :         EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_MON);
     815                 :            : 
     816                 :            :         return (emop->emo_stats_update(enp, esmp, values));
     817                 :            : }
     818                 :            : 
     819                 :            :         __checkReturn                   efx_rc_t
     820                 :            : efx_mon_limits_update(
     821                 :            :         __in                            efx_nic_t *enp,
     822                 :            :         __inout_ecount(EFX_MON_NSTATS)  efx_mon_stat_limits_t *values)
     823                 :            : {
     824                 :            :         efx_mon_t *emp = &(enp->en_mon);
     825                 :            :         const efx_mon_ops_t *emop = emp->em_emop;
     826                 :            : 
     827                 :            :         EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC);
     828                 :            :         EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_MON);
     829                 :            : 
     830                 :            :         return (emop->emo_limits_update(enp, values));
     831                 :            : }
     832                 :            : 
     833                 :            : #endif  /* EFSYS_OPT_MON_STATS */
     834                 :            : 
     835                 :            :                 void
     836                 :          0 : efx_mon_fini(
     837                 :            :         __in    efx_nic_t *enp)
     838                 :            : {
     839                 :            :         efx_mon_t *emp = &(enp->en_mon);
     840                 :            : 
     841         [ #  # ]:          0 :         EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC);
     842         [ #  # ]:          0 :         EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PROBE);
     843         [ #  # ]:          0 :         EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_MON);
     844                 :            : 
     845                 :          0 :         emp->em_emop = NULL;
     846                 :            : 
     847                 :          0 :         emp->em_type = EFX_MON_INVALID;
     848                 :            : 
     849                 :          0 :         enp->en_mod_flags &= ~EFX_MOD_MON;
     850                 :          0 : }

Generated by: LCOV version 1.14