net/sfc/base: simplify EF10 family run-time checks
Add EFX_FAMILY_IS_EF10() which may be used as synonym of any EF10-based NIC family (i.e. Huntigton, Medford or Medford2 at the time of addition). Suggested-by: Andy Moreton <amoreton@solarflare.com> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
This commit is contained in:
parent
dc82cc97ee
commit
5661516f22
@ -553,9 +553,7 @@ ef10_ev_qdestroy(
|
||||
{
|
||||
efx_nic_t *enp = eep->ee_enp;
|
||||
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
|
||||
(void) efx_mcdi_fini_evq(enp, eep->ee_index);
|
||||
}
|
||||
|
@ -94,9 +94,7 @@ ef10_filter_init(
|
||||
efx_rc_t rc;
|
||||
ef10_filter_table_t *eftp;
|
||||
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
|
||||
#define MATCH_MASK(match) (EFX_MASK32(match) << EFX_LOW_BIT(match))
|
||||
EFX_STATIC_ASSERT(EFX_FILTER_MATCH_REM_HOST ==
|
||||
@ -154,9 +152,7 @@ fail1:
|
||||
ef10_filter_fini(
|
||||
__in efx_nic_t *enp)
|
||||
{
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
|
||||
if (enp->en_filter.ef_ef10_filter_table != NULL) {
|
||||
EFSYS_KMEM_FREE(enp->en_esip, sizeof (ef10_filter_table_t),
|
||||
@ -545,9 +541,7 @@ ef10_filter_restore(
|
||||
efsys_lock_state_t state;
|
||||
efx_rc_t rc;
|
||||
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
|
||||
for (tbl_id = 0; tbl_id < EFX_EF10_FILTER_TBL_ROWS; tbl_id++) {
|
||||
|
||||
@ -621,9 +615,7 @@ ef10_filter_add_internal(
|
||||
efsys_lock_state_t state;
|
||||
boolean_t locked = B_FALSE;
|
||||
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
|
||||
hash = ef10_filter_hash(spec);
|
||||
|
||||
@ -894,9 +886,7 @@ ef10_filter_delete(
|
||||
efsys_lock_state_t state;
|
||||
boolean_t locked = B_FALSE;
|
||||
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
|
||||
hash = ef10_filter_hash(spec);
|
||||
|
||||
|
@ -55,9 +55,7 @@ efx_mcdi_trigger_interrupt(
|
||||
MC_CMD_TRIGGER_INTERRUPT_OUT_LEN);
|
||||
efx_rc_t rc;
|
||||
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
|
||||
if (level >= enp->en_nic_cfg.enc_intr_limit) {
|
||||
rc = EINVAL;
|
||||
@ -128,9 +126,7 @@ 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_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
|
||||
/* Read the queue mask and implicitly acknowledge the interrupt. */
|
||||
EFX_BAR_READD(enp, ER_DZ_BIU_INT_ISR_REG, &dword, B_FALSE);
|
||||
@ -147,9 +143,7 @@ ef10_intr_status_message(
|
||||
__in unsigned int message,
|
||||
__out boolean_t *fatalp)
|
||||
{
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
|
||||
_NOTE(ARGUNUSED(enp, message))
|
||||
|
||||
|
@ -351,9 +351,7 @@ ef10_mac_multicast_list_set(
|
||||
const efx_mac_ops_t *emop = epp->ep_emop;
|
||||
efx_rc_t rc;
|
||||
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
|
||||
if ((rc = emop->emo_reconfigure(enp)) != 0)
|
||||
goto fail1;
|
||||
|
@ -27,9 +27,7 @@ ef10_mcdi_init(
|
||||
efx_dword_t dword;
|
||||
efx_rc_t rc;
|
||||
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
EFSYS_ASSERT(enp->en_features & EFX_FEATURE_MCDI_DMA);
|
||||
|
||||
/*
|
||||
@ -135,9 +133,7 @@ ef10_mcdi_send_request(
|
||||
efx_dword_t dword;
|
||||
unsigned int pos;
|
||||
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
|
||||
/* Write the header */
|
||||
for (pos = 0; pos < hdr_len; pos += sizeof (efx_dword_t)) {
|
||||
@ -259,9 +255,7 @@ ef10_mcdi_feature_supported(
|
||||
uint32_t privilege_mask = encp->enc_privilege_mask;
|
||||
efx_rc_t rc;
|
||||
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
|
||||
/*
|
||||
* Use privilege mask state at MCDI attach.
|
||||
|
@ -24,9 +24,7 @@ efx_mcdi_get_port_assignment(
|
||||
MC_CMD_GET_PORT_ASSIGNMENT_OUT_LEN);
|
||||
efx_rc_t rc;
|
||||
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
|
||||
req.emr_cmd = MC_CMD_GET_PORT_ASSIGNMENT;
|
||||
req.emr_in_buf = payload;
|
||||
@ -70,9 +68,7 @@ efx_mcdi_get_port_modes(
|
||||
MC_CMD_GET_PORT_MODES_OUT_LEN);
|
||||
efx_rc_t rc;
|
||||
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
|
||||
req.emr_cmd = MC_CMD_GET_PORT_MODES;
|
||||
req.emr_in_buf = payload;
|
||||
@ -308,9 +304,7 @@ efx_mcdi_get_mac_address_pf(
|
||||
MC_CMD_GET_MAC_ADDRESSES_OUT_LEN);
|
||||
efx_rc_t rc;
|
||||
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
|
||||
req.emr_cmd = MC_CMD_GET_MAC_ADDRESSES;
|
||||
req.emr_in_buf = payload;
|
||||
@ -366,9 +360,7 @@ efx_mcdi_get_mac_address_vf(
|
||||
MC_CMD_VPORT_GET_MAC_ADDRESSES_OUT_LENMAX);
|
||||
efx_rc_t rc;
|
||||
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
|
||||
req.emr_cmd = MC_CMD_VPORT_GET_MAC_ADDRESSES;
|
||||
req.emr_in_buf = payload;
|
||||
@ -430,9 +422,7 @@ efx_mcdi_get_clock(
|
||||
MC_CMD_GET_CLOCK_OUT_LEN);
|
||||
efx_rc_t rc;
|
||||
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
|
||||
req.emr_cmd = MC_CMD_GET_CLOCK;
|
||||
req.emr_in_buf = payload;
|
||||
@ -892,9 +882,7 @@ ef10_nic_pio_alloc(
|
||||
uint32_t buf, blk;
|
||||
efx_rc_t rc;
|
||||
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
EFSYS_ASSERT(bufnump);
|
||||
EFSYS_ASSERT(handlep);
|
||||
EFSYS_ASSERT(blknump);
|
||||
@ -1963,9 +1951,7 @@ ef10_nic_probe(
|
||||
efx_drv_cfg_t *edcp = &(enp->en_drv_cfg);
|
||||
efx_rc_t rc;
|
||||
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
|
||||
/* Read and clear any assertion state */
|
||||
if ((rc = efx_mcdi_read_assertion(enp)) != 0)
|
||||
@ -2177,9 +2163,7 @@ ef10_nic_init(
|
||||
uint32_t vi_window_size;
|
||||
efx_rc_t rc;
|
||||
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
|
||||
/* Enable reporting of some events (e.g. link change) */
|
||||
if ((rc = efx_mcdi_log_ctrl(enp)) != 0)
|
||||
@ -2340,9 +2324,7 @@ ef10_nic_get_vi_pool(
|
||||
__in efx_nic_t *enp,
|
||||
__out uint32_t *vi_countp)
|
||||
{
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
|
||||
/*
|
||||
* Report VIs that the client driver can use.
|
||||
@ -2362,9 +2344,7 @@ ef10_nic_get_bar_region(
|
||||
{
|
||||
efx_rc_t rc;
|
||||
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
|
||||
/*
|
||||
* TODO: Specify host memory mapping alignment and granularity
|
||||
|
@ -25,9 +25,7 @@ ef10_vpd_init(
|
||||
efx_rc_t rc;
|
||||
|
||||
EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PROBE);
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
|
||||
if (enp->en_nic_cfg.enc_vpd_is_global) {
|
||||
tag = TLV_TAG_GLOBAL_STATIC_VPD;
|
||||
@ -82,9 +80,7 @@ ef10_vpd_size(
|
||||
{
|
||||
efx_rc_t rc;
|
||||
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
|
||||
/*
|
||||
* This function returns the total size the user should allocate
|
||||
@ -116,9 +112,7 @@ ef10_vpd_read(
|
||||
uint32_t tag;
|
||||
efx_rc_t rc;
|
||||
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
|
||||
if (enp->en_nic_cfg.enc_vpd_is_global) {
|
||||
tag = TLV_TAG_GLOBAL_DYNAMIC_VPD;
|
||||
@ -172,9 +166,7 @@ ef10_vpd_verify(
|
||||
unsigned int dcont;
|
||||
efx_rc_t rc;
|
||||
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
|
||||
/*
|
||||
* Strictly you could take the view that dynamic vpd is optional.
|
||||
@ -294,9 +286,7 @@ ef10_vpd_get(
|
||||
uint8_t length;
|
||||
efx_rc_t rc;
|
||||
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
|
||||
/* Attempt to satisfy the request from svpd first */
|
||||
if (enp->en_arch.ef10.ena_svpd_length > 0) {
|
||||
@ -341,9 +331,7 @@ ef10_vpd_set(
|
||||
{
|
||||
efx_rc_t rc;
|
||||
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
|
||||
/* If the provided (tag,keyword) exists in svpd, then it is readonly */
|
||||
if (enp->en_arch.ef10.ena_svpd_length > 0) {
|
||||
@ -395,9 +383,7 @@ ef10_vpd_write(
|
||||
uint32_t tag;
|
||||
efx_rc_t rc;
|
||||
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
|
||||
if (enp->en_nic_cfg.enc_vpd_is_global) {
|
||||
tag = TLV_TAG_GLOBAL_DYNAMIC_VPD;
|
||||
@ -432,9 +418,7 @@ fail1:
|
||||
ef10_vpd_fini(
|
||||
__in efx_nic_t *enp)
|
||||
{
|
||||
EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2);
|
||||
EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
|
||||
|
||||
if (enp->en_arch.ef10.ena_svpd_length > 0) {
|
||||
EFSYS_KMEM_FREE(enp->en_esip, enp->en_arch.ef10.ena_svpd_length,
|
||||
|
@ -741,6 +741,11 @@ struct efx_nic_s {
|
||||
#endif /* EFX_OPTS_EF10() */
|
||||
};
|
||||
|
||||
#define EFX_FAMILY_IS_EF10(_enp) \
|
||||
((_enp)->en_family == EFX_FAMILY_MEDFORD2 || \
|
||||
(_enp)->en_family == EFX_FAMILY_MEDFORD || \
|
||||
(_enp)->en_family == EFX_FAMILY_HUNTINGTON)
|
||||
|
||||
|
||||
#define EFX_NIC_MAGIC 0x02121996
|
||||
|
||||
|
@ -26,9 +26,7 @@ efx_sram_buf_tbl_set(
|
||||
EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_NIC);
|
||||
|
||||
#if EFX_OPTS_EF10()
|
||||
if (enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2) {
|
||||
if (EFX_FAMILY_IS_EF10(enp)) {
|
||||
/*
|
||||
* FIXME: the efx_sram_buf_tbl_*() functionality needs to be
|
||||
* pulled inside the Falcon/Siena queue create/destroy code,
|
||||
@ -149,9 +147,7 @@ efx_sram_buf_tbl_clear(
|
||||
EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_NIC);
|
||||
|
||||
#if EFX_OPTS_EF10()
|
||||
if (enp->en_family == EFX_FAMILY_HUNTINGTON ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD ||
|
||||
enp->en_family == EFX_FAMILY_MEDFORD2) {
|
||||
if (EFX_FAMILY_IS_EF10(enp)) {
|
||||
/*
|
||||
* FIXME: the efx_sram_buf_tbl_*() functionality needs to be
|
||||
* pulled inside the Falcon/Siena queue create/destroy code,
|
||||
|
Loading…
x
Reference in New Issue
Block a user