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

Function efx_ev_init

dpdk/drivers/common/sfc_efx/base/efx_ev.c:130–200  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

128
129
130 __checkReturn efx_rc_t
131efx_ev_init(
132 __in efx_nic_t *enp)
133{
134 const efx_ev_ops_t *eevop;
135 efx_rc_t rc;
136
137 EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC);
138 EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_INTR);
139
140 if (enp->en_mod_flags & EFX_MOD_EV) {
141 rc = EINVAL;
142 goto fail1;
143 }
144
145 switch (enp->en_family) {
146#if EFSYS_OPT_SIENA
147 case EFX_FAMILY_SIENA:
148 eevop = &__efx_ev_siena_ops;
149 break;
150#endif /* EFSYS_OPT_SIENA */
151
152#if EFSYS_OPT_HUNTINGTON
153 case EFX_FAMILY_HUNTINGTON:
154 eevop = &__efx_ev_ef10_ops;
155 break;
156#endif /* EFSYS_OPT_HUNTINGTON */
157
158#if EFSYS_OPT_MEDFORD
159 case EFX_FAMILY_MEDFORD:
160 eevop = &__efx_ev_ef10_ops;
161 break;
162#endif /* EFSYS_OPT_MEDFORD */
163
164#if EFSYS_OPT_MEDFORD2
165 case EFX_FAMILY_MEDFORD2:
166 eevop = &__efx_ev_ef10_ops;
167 break;
168#endif /* EFSYS_OPT_MEDFORD2 */
169
170#if EFSYS_OPT_RIVERHEAD
171 case EFX_FAMILY_RIVERHEAD:
172 eevop = &__efx_ev_rhead_ops;
173 break;
174#endif /* EFSYS_OPT_RIVERHEAD */
175
176 default:
177 EFSYS_ASSERT(0);
178 rc = ENOTSUP;
179 goto fail1;
180 }
181
182 EFSYS_ASSERT3U(enp->en_ev_qcount, ==, 0);
183
184 if ((rc = eevop->eevo_init(enp)) != 0)
185 goto fail2;
186
187 enp->en_eevop = eevop;

Callers 2

sfc_ev_startFunction · 0.85
sfc_rss_attachFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected