#include "medford2_impl.h"
#endif /* EFSYS_OPT_MEDFORD2 */
-#if EFX_OPTS_EF10()
+#if EFSYS_OPT_RIVERHEAD || EFX_OPTS_EF10()
#include "ef10_impl.h"
-#endif /* EFX_OPTS_EF10() */
+#endif /* EFSYS_OPT_RIVERHEAD || EFX_OPTS_EF10() */
+
+#if EFSYS_OPT_RIVERHEAD
+#include "rhead_impl.h"
+#endif /* EFSYS_OPT_RIVERHEAD */
#ifdef __cplusplus
extern "C" {
EFX_MAC_HUNTINGTON,
EFX_MAC_MEDFORD,
EFX_MAC_MEDFORD2,
+ EFX_MAC_RIVERHEAD,
EFX_MAC_NTYPES
} efx_mac_type_t;
void (*eevo_qdestroy)(efx_evq_t *);
efx_rc_t (*eevo_qprime)(efx_evq_t *, unsigned int);
void (*eevo_qpost)(efx_evq_t *, uint16_t);
+ void (*eevo_qpoll)(efx_evq_t *, unsigned int *,
+ const efx_ev_callbacks_t *, void *);
efx_rc_t (*eevo_qmoderate)(efx_evq_t *, unsigned int);
#if EFSYS_OPT_QSTATS
void (*eevo_qstats_update)(efx_evq_t *, efsys_stat_t *);
#if EFSYS_OPT_SIENA
siena_filter_t *ef_siena_filter;
#endif /* EFSYS_OPT_SIENA */
-#if EFX_OPTS_EF10()
+#if EFSYS_OPT_RIVERHEAD || EFX_OPTS_EF10()
ef10_filter_table_t *ef_ef10_filter_table;
-#endif /* EFX_OPTS_EF10() */
+#endif /* EFSYS_OPT_RIVERHEAD || EFX_OPTS_EF10() */
} efx_filter_t;
#if EFSYS_OPT_SIENA
#endif /* EFSYS_OPT_SIENA */
int enu_unused;
} en_u;
-#if EFX_OPTS_EF10()
+#if EFSYS_OPT_RIVERHEAD || EFX_OPTS_EF10()
union en_arch {
struct {
int ena_vi_base;
size_t ena_wc_mem_map_size;
} ef10;
} en_arch;
-#endif /* EFX_OPTS_EF10() */
+#endif /* EFSYS_OPT_RIVERHEAD || EFX_OPTS_EF10() */
#if EFSYS_OPT_EVB
const efx_evb_ops_t *en_eeop;
struct efx_vswitch_s *en_vswitchp;
(_enp)->en_family == EFX_FAMILY_MEDFORD || \
(_enp)->en_family == EFX_FAMILY_HUNTINGTON)
+#define EFX_FAMILY_IS_EF100(_enp) \
+ ((_enp)->en_family == EFX_FAMILY_RIVERHEAD)
+
#define EFX_NIC_MAGIC 0x02121996
rev = 'F'; \
break; \
\
+ case EFX_FAMILY_RIVERHEAD: \
+ rev = 'G'; \
+ break; \
+ \
default: \
rev = '?'; \
break; \
__out_opt uint32_t *implementedp,
__out_opt uint32_t *enabledp);
+#if EFSYS_OPT_RIVERHEAD || EFX_OPTS_EF10()
+
+LIBEFX_INTERNAL
+extern __checkReturn efx_rc_t
+efx_mcdi_init_evq(
+ __in efx_nic_t *enp,
+ __in unsigned int instance,
+ __in efsys_mem_t *esmp,
+ __in size_t nevs,
+ __in uint32_t irq,
+ __in uint32_t us,
+ __in uint32_t flags,
+ __in boolean_t low_latency);
+
+LIBEFX_INTERNAL
+extern __checkReturn efx_rc_t
+efx_mcdi_fini_evq(
+ __in efx_nic_t *enp,
+ __in uint32_t instance);
+
+#endif /* EFSYS_OPT_RIVERHEAD || EFX_OPTS_EF10() */
+
#endif /* EFSYS_OPT_MCDI */
#if EFSYS_OPT_MAC_STATS