sfxge(4): add Medford2 support to INTR module
Submitted by: Andy Moreton <amoreton at solarflare.com> Sponsored by: Solarflare Communications, Inc. Differential Revision: https://reviews.freebsd.org/D18147
This commit is contained in:
parent
d6f0fbb15b
commit
1bef83ea41
@ -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
|
||||
|
||||
__checkReturn efx_rc_t
|
||||
ef10_intr_init(
|
||||
@ -83,7 +83,8 @@ efx_mcdi_trigger_interrupt(
|
||||
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);
|
||||
|
||||
if (level >= enp->en_nic_cfg.enc_intr_limit) {
|
||||
rc = EINVAL;
|
||||
@ -156,7 +157,8 @@ ef10_intr_status_line(
|
||||
efx_dword_t dword;
|
||||
|
||||
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);
|
||||
|
||||
/* Read the queue mask and implicitly acknowledge the interrupt. */
|
||||
EFX_BAR_READD(enp, ER_DZ_BIU_INT_ISR_REG, &dword, B_FALSE);
|
||||
@ -174,7 +176,8 @@ ef10_intr_status_message(
|
||||
__out boolean_t *fatalp)
|
||||
{
|
||||
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);
|
||||
|
||||
_NOTE(ARGUNUSED(enp, message))
|
||||
|
||||
@ -197,4 +200,4 @@ ef10_intr_fini(
|
||||
_NOTE(ARGUNUSED(enp))
|
||||
}
|
||||
|
||||
#endif /* EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD */
|
||||
#endif /* EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2 */
|
||||
|
@ -104,7 +104,7 @@ static const efx_intr_ops_t __efx_intr_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_intr_ops_t __efx_intr_ef10_ops = {
|
||||
ef10_intr_init, /* eio_init */
|
||||
ef10_intr_enable, /* eio_enable */
|
||||
@ -116,7 +116,7 @@ static const efx_intr_ops_t __efx_intr_ef10_ops = {
|
||||
ef10_intr_fatal, /* eio_fatal */
|
||||
ef10_intr_fini, /* eio_fini */
|
||||
};
|
||||
#endif /* EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD */
|
||||
#endif /* EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2 */
|
||||
|
||||
__checkReturn efx_rc_t
|
||||
efx_intr_init(
|
||||
@ -161,6 +161,12 @@ efx_intr_init(
|
||||
break;
|
||||
#endif /* EFSYS_OPT_MEDFORD */
|
||||
|
||||
#if EFSYS_OPT_MEDFORD2
|
||||
case EFX_FAMILY_MEDFORD2:
|
||||
eiop = &__efx_intr_ef10_ops;
|
||||
break;
|
||||
#endif /* EFSYS_OPT_MEDFORD2 */
|
||||
|
||||
default:
|
||||
EFSYS_ASSERT(B_FALSE);
|
||||
rc = ENOTSUP;
|
||||
|
Loading…
x
Reference in New Issue
Block a user