common/sfc_efx/base: simplify requesting Rx prefix fields

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>
This commit is contained in:
Andrew Rybchenko 2020-10-13 14:45:44 +01:00 committed by Ferruh Yigit
parent 9e6e7f479a
commit f21c6e7f81

View 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;