common/sfc_efx/base: simplify requesting Rx prefix fields
authorAndrew Rybchenko <arybchenko@solarflare.com>
Tue, 13 Oct 2020 13:45:44 +0000 (14:45 +0100)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 16 Oct 2020 17:48:18 +0000 (19:48 +0200)
Introduce an extra variable with required Rx prefix fields mask
to make it easier to request more fields.

Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
drivers/common/sfc_efx/base/rhead_rx.c

index d683f28..d3d7339 100644 (file)
@@ -594,6 +594,7 @@ rhead_rx_qcreate(
        const efx_nic_cfg_t *encp = efx_nic_cfg_get(enp);
        efx_mcdi_init_rxq_params_t params;
        efx_rx_prefix_layout_t erpl;
+       uint32_t fields_mask = 0;
        efx_rc_t rc;
 
        _NOTE(ARGUNUSED(id))
@@ -631,8 +632,8 @@ rhead_rx_qcreate(
         * which fields are required or may be allow to request so-called
         * default Rx prefix (which ID is equal to 0).
         */
-       if ((rc = rhead_rx_choose_prefix_id(enp,
-           (1U << EFX_RX_PREFIX_FIELD_LENGTH), &erpl)) != 0)
+       fields_mask |= 1U << EFX_RX_PREFIX_FIELD_LENGTH;
+       if ((rc = rhead_rx_choose_prefix_id(enp, fields_mask, &erpl)) != 0)
                goto fail3;
 
        params.prefix_id = erpl.erpl_id;