svn commit: r293978 - stable/10/sys/dev/sfxge/common
Andrew Rybchenko
arybchik at FreeBSD.org
Thu Jan 14 15:50:15 UTC 2016
Author: arybchik
Date: Thu Jan 14 15:50:13 2016
New Revision: 293978
URL: https://svnweb.freebsd.org/changeset/base/293978
Log:
MFC r293733
sfxge: add Medford sensor support
Submitted by: Mark Spender <mspender at solarflare.com>
Reviewed by: gnn
Sponsored by: Solarflare Communications, Inc.
Modified:
stable/10/sys/dev/sfxge/common/efx.h
stable/10/sys/dev/sfxge/common/efx_mon.c
stable/10/sys/dev/sfxge/common/mcdi_mon.c
Directory Properties:
stable/10/ (props changed)
Modified: stable/10/sys/dev/sfxge/common/efx.h
==============================================================================
--- stable/10/sys/dev/sfxge/common/efx.h Thu Jan 14 15:49:24 2016 (r293977)
+++ stable/10/sys/dev/sfxge/common/efx.h Thu Jan 14 15:50:13 2016 (r293978)
@@ -594,6 +594,7 @@ typedef enum efx_mon_type_e {
EFX_MON_MAX6647,
EFX_MON_SFC90X0,
EFX_MON_SFC91X0,
+ EFX_MON_SFC92X0,
EFX_MON_NTYPES
} efx_mon_type_t;
@@ -1148,12 +1149,12 @@ typedef struct efx_nic_cfg_s {
uint32_t enc_mcdi_phy_stat_mask;
#endif /* EFSYS_OPT_PHY_STATS */
#endif /* EFSYS_OPT_SIENA */
-#if (EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON)
+#if (EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD)
#if EFSYS_OPT_MON_STATS
uint32_t *enc_mcdi_sensor_maskp;
uint32_t enc_mcdi_sensor_mask_size;
#endif /* EFSYS_OPT_MON_STATS */
-#endif /* (EFSYS_OPT_SIENA | EFSYS_OPT_HUNTINGTON) */
+#endif /* (EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) */
#if EFSYS_OPT_BIST
uint32_t enc_bist_mask;
#endif /* EFSYS_OPT_BIST */
Modified: stable/10/sys/dev/sfxge/common/efx_mon.c
==============================================================================
--- stable/10/sys/dev/sfxge/common/efx_mon.c Thu Jan 14 15:49:24 2016 (r293977)
+++ stable/10/sys/dev/sfxge/common/efx_mon.c Thu Jan 14 15:50:13 2016 (r293978)
@@ -62,6 +62,7 @@ static const char *__efx_mon_name[] = {
"max6647",
"sfx90x0",
"sfx91x0"
+ "sfx92x0"
};
const char *
@@ -119,34 +120,6 @@ static efx_mon_ops_t __efx_mon_mcdi_ops
};
#endif
-static efx_mon_ops_t *__efx_mon_ops[] = {
- NULL,
-#if EFSYS_OPT_MON_NULL
- &__efx_mon_null_ops,
-#else
- NULL,
-#endif
-#if EFSYS_OPT_MON_LM87
- &__efx_mon_lm87_ops,
-#else
- NULL,
-#endif
-#if EFSYS_OPT_MON_MAX6647
- &__efx_mon_max6647_ops,
-#else
- NULL,
-#endif
-#if EFSYS_OPT_MON_MCDI
- &__efx_mon_mcdi_ops,
-#else
- NULL,
-#endif
-#if EFSYS_OPT_MON_MCDI
- &__efx_mon_mcdi_ops
-#else
- NULL
-#endif
-};
__checkReturn efx_rc_t
efx_mon_init(
@@ -170,8 +143,30 @@ efx_mon_init(
emp->em_type = encp->enc_mon_type;
EFSYS_ASSERT(encp->enc_mon_type != EFX_MON_INVALID);
- EFSYS_ASSERT3U(emp->em_type, <, EFX_MON_NTYPES);
- if ((emop = (efx_mon_ops_t *)__efx_mon_ops[emp->em_type]) == NULL) {
+ switch (emp->em_type) {
+#if EFSYS_OPT_MON_NULL
+ case EFX_MON_NULL:
+ emop = &__efx_mon_null_ops;
+ break;
+#endif
+#if EFSYS_OPT_MON_LM87
+ case EFX_MON_LM87:
+ emop = &__efx_mon_lm87_ops;
+ break;
+#endif
+#if EFSYS_OPT_MON_MAX6647
+ case EFX_MON_MAX6647:
+ emop = &__efx_mon_max6647_ops;
+ break;
+#endif
+#if EFSYS_OPT_MON_MCDI
+ case EFX_MON_SFC90X0:
+ case EFX_MON_SFC91X0:
+ case EFX_MON_SFC92X0:
+ emop = &__efx_mon_mcdi_ops;
+ break;
+#endif
+ default:
rc = ENOTSUP;
goto fail2;
}
Modified: stable/10/sys/dev/sfxge/common/mcdi_mon.c
==============================================================================
--- stable/10/sys/dev/sfxge/common/mcdi_mon.c Thu Jan 14 15:49:24 2016 (r293977)
+++ stable/10/sys/dev/sfxge/common/mcdi_mon.c Thu Jan 14 15:50:13 2016 (r293978)
@@ -478,6 +478,11 @@ mcdi_mon_cfg_build(
encp->enc_mon_type = EFX_MON_SFC91X0;
break;
#endif
+#if EFSYS_OPT_MEDFORD
+ case EFX_FAMILY_MEDFORD:
+ encp->enc_mon_type = EFX_MON_SFC92X0;
+ break;
+#endif
default:
rc = EINVAL;
goto fail1;
More information about the svn-src-stable
mailing list