sfxge(4): add Medford2 support to MCDI module
Submitted by: Andy Moreton <amoreton at solarflare.com> Sponsored by: Solarflare Communications, Inc. Differential Revision: https://reviews.freebsd.org/D18149
This commit is contained in:
parent
cbc3f94f08
commit
eecf8d281f
@ -35,7 +35,7 @@ __FBSDID("$FreeBSD$");
|
||||
#include "efx_impl.h"
|
||||
|
||||
|
||||
#if EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD
|
||||
#if EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2
|
||||
|
||||
#if EFSYS_OPT_MCDI
|
||||
|
||||
@ -55,7 +55,8 @@ ef10_mcdi_init(
|
||||
efx_rc_t rc;
|
||||
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD);
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(enp->en_features & EFX_FEATURE_MCDI_DMA);
|
||||
|
||||
/*
|
||||
@ -162,7 +163,8 @@ ef10_mcdi_send_request(
|
||||
unsigned int pos;
|
||||
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD);
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
|
||||
/* Write the header */
|
||||
for (pos = 0; pos < hdr_len; pos += sizeof (efx_dword_t)) {
|
||||
@ -281,7 +283,8 @@ ef10_mcdi_feature_supported(
|
||||
efx_rc_t rc;
|
||||
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD);
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
|
||||
/*
|
||||
* Use privilege mask state at MCDI attach.
|
||||
@ -342,4 +345,4 @@ fail1:
|
||||
|
||||
#endif /* EFSYS_OPT_MCDI */
|
||||
|
||||
#endif /* EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD */
|
||||
#endif /* EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2 */
|
||||
|
@ -74,7 +74,7 @@ static const efx_mcdi_ops_t __efx_mcdi_siena_ops = {
|
||||
|
||||
#endif /* EFSYS_OPT_SIENA */
|
||||
|
||||
#if EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD
|
||||
#if EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2
|
||||
|
||||
static const efx_mcdi_ops_t __efx_mcdi_ef10_ops = {
|
||||
ef10_mcdi_init, /* emco_init */
|
||||
@ -87,7 +87,7 @@ static const efx_mcdi_ops_t __efx_mcdi_ef10_ops = {
|
||||
ef10_mcdi_get_timeout, /* emco_get_timeout */
|
||||
};
|
||||
|
||||
#endif /* EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD */
|
||||
#endif /* EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2 */
|
||||
|
||||
|
||||
|
||||
@ -121,6 +121,12 @@ efx_mcdi_init(
|
||||
break;
|
||||
#endif /* EFSYS_OPT_MEDFORD */
|
||||
|
||||
#if EFSYS_OPT_MEDFORD2
|
||||
case EFX_FAMILY_MEDFORD2:
|
||||
emcop = &__efx_mcdi_ef10_ops;
|
||||
break;
|
||||
#endif /* EFSYS_OPT_MEDFORD2 */
|
||||
|
||||
default:
|
||||
EFSYS_ASSERT(0);
|
||||
rc = ENOTSUP;
|
||||
@ -1650,7 +1656,7 @@ fail1:
|
||||
|
||||
#if EFSYS_OPT_BIST
|
||||
|
||||
#if EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD
|
||||
#if EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2
|
||||
/*
|
||||
* Enter bist offline mode. This is a fw mode which puts the NIC into a state
|
||||
* where memory BIST tests can be run and not much else can interfere or happen.
|
||||
@ -1686,7 +1692,7 @@ fail1:
|
||||
|
||||
return (rc);
|
||||
}
|
||||
#endif /* EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD */
|
||||
#endif /* EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2 */
|
||||
|
||||
__checkReturn efx_rc_t
|
||||
efx_mcdi_bist_start(
|
||||
@ -1950,7 +1956,7 @@ fail1:
|
||||
|
||||
#endif /* EFSYS_OPT_MAC_STATS */
|
||||
|
||||
#if EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD
|
||||
#if EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2
|
||||
|
||||
/*
|
||||
* This function returns the pf and vf number of a function. If it is a pf the
|
||||
@ -2049,7 +2055,7 @@ fail1:
|
||||
return (rc);
|
||||
}
|
||||
|
||||
#endif /* EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD */
|
||||
#endif /* EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2 */
|
||||
|
||||
__checkReturn efx_rc_t
|
||||
efx_mcdi_set_workaround(
|
||||
|
@ -194,11 +194,11 @@ efx_mcdi_mac_spoofing_supported(
|
||||
|
||||
|
||||
#if EFSYS_OPT_BIST
|
||||
#if EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD
|
||||
#if EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2
|
||||
extern __checkReturn efx_rc_t
|
||||
efx_mcdi_bist_enable_offline(
|
||||
__in efx_nic_t *enp);
|
||||
#endif /* EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD */
|
||||
#endif /* EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2 */
|
||||
extern __checkReturn efx_rc_t
|
||||
efx_mcdi_bist_start(
|
||||
__in efx_nic_t *enp,
|
||||
|
Loading…
x
Reference in New Issue
Block a user