MCPcopy Create free account
hub / github.com/F-Stack/f-stack / efx_evb_init

Function efx_evb_init

dpdk/drivers/common/sfc_efx/base/efx_evb.c:67–136  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

65#endif /* EFSYS_OPT_RIVERHEAD */
66
67 __checkReturn efx_rc_t
68efx_evb_init(
69 __in efx_nic_t *enp)
70{
71 const efx_evb_ops_t *eeop;
72 efx_rc_t rc;
73 efx_nic_cfg_t *encp = &(enp->en_nic_cfg);
74
75 EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC);
76 EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PROBE);
77 EFSYS_ASSERT(!(enp->en_mod_flags & EFX_MOD_EVB));
78
79 switch (enp->en_family) {
80#if EFSYS_OPT_SIENA
81 case EFX_FAMILY_SIENA:
82 eeop = &__efx_evb_dummy_ops;
83 break;
84#endif /* EFSYS_OPT_SIENA */
85
86#if EFSYS_OPT_HUNTINGTON
87 case EFX_FAMILY_HUNTINGTON:
88 eeop = &__efx_evb_ef10_ops;
89 break;
90#endif /* EFSYS_OPT_HUNTINGTON */
91
92#if EFSYS_OPT_MEDFORD
93 case EFX_FAMILY_MEDFORD:
94 eeop = &__efx_evb_ef10_ops;
95 break;
96#endif /* EFSYS_OPT_MEDFORD */
97
98#if EFSYS_OPT_MEDFORD2
99 case EFX_FAMILY_MEDFORD2:
100 eeop = &__efx_evb_ef10_ops;
101 break;
102#endif /* EFSYS_OPT_MEDFORD2 */
103
104#if EFSYS_OPT_RIVERHEAD
105 case EFX_FAMILY_RIVERHEAD:
106 eeop = &__efx_evb_rhead_ops;
107 break;
108#endif /* EFSYS_OPT_RIVERHEAD */
109
110 default:
111 EFSYS_ASSERT(0);
112 rc = ENOTSUP;
113 goto fail1;
114 }
115
116 if (!encp->enc_datapath_cap_evb || !eeop->eeo_init) {
117 rc = ENOTSUP;
118 goto fail2;
119 }
120
121 if ((rc = eeop->eeo_init(enp)) != 0)
122 goto fail3;
123
124 enp->en_eeop = eeop;

Callers 1

sfc_sriov_vswitch_createFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected