#include "mcdi_mon.h"
#endif
-#if EFSYS_OPT_QSTATS
-#define EFX_EV_QSTAT_INCR(_eep, _stat) \
- do { \
- (_eep)->ee_stat[_stat]++; \
- _NOTE(CONSTANTCONDITION) \
- } while (B_FALSE)
-#else
-#define EFX_EV_QSTAT_INCR(_eep, _stat)
-#endif
-
#define EFX_EV_PRESENT(_qword) \
(EFX_QWORD_FIELD((_qword), EFX_DWORD_0) != 0xffffffff && \
EFX_QWORD_FIELD((_qword), EFX_DWORD_1) != 0xffffffff)
};
#endif /* EFSYS_OPT_SIENA */
-#if EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2
+#if EFX_OPTS_EF10()
static const efx_ev_ops_t __efx_ev_ef10_ops = {
ef10_ev_init, /* eevo_init */
ef10_ev_fini, /* eevo_fini */
ef10_ev_qstats_update, /* eevo_qstats_update */
#endif
};
-#endif /* EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2 */
+#endif /* EFX_OPTS_EF10() */
__checkReturn efx_rc_t
__in const efx_nic_t *enp,
__in unsigned int ndescs)
{
- return (efx_evq_size(enp, ndescs) / EFX_BUF_SIZE);
+ return (EFX_DIV_ROUND_UP(efx_evq_size(enp, ndescs), EFX_BUF_SIZE));
}
void
{
efx_nic_cfg_t *encp = &(enp->en_nic_cfg);
unsigned int ticks;
+ efx_rc_t rc;
+
+ if (encp->enc_evq_timer_quantum_ns == 0) {
+ rc = ENOTSUP;
+ goto fail1;
+ }
/* Convert microseconds to a timer tick count */
if (us == 0)
*ticksp = ticks;
return (0);
+
+fail1:
+ EFSYS_PROBE1(fail1, efx_rc_t, rc);
+ return (rc);
}
__checkReturn efx_rc_t
#if EFSYS_OPT_QSTATS
#if EFSYS_OPT_NAMES
-/* START MKCONFIG GENERATED EfxEventQueueStatNamesBlock c0f3bc5083b40532 */
+/* START MKCONFIG GENERATED EfxEventQueueStatNamesBlock ac223f7134058b4f */
static const char * const __efx_ev_qstat_name[] = {
"all",
"rx",
"driver_tx_dsc_error",
"drv_gen",
"mcdi_response",
+ "rx_parse_incomplete",
};
/* END MKCONFIG GENERATED EfxEventQueueStatNamesBlock */