X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fcommon%2Fsfc_efx%2Fbase%2Frhead_rx.c;h=692c3e1d491b2f8ca23cd177f3f87529250ac157;hb=c4f4a0e60dcb2a3877a4a751d7641fa1d9c46c29;hp=d3d7339b8c8db63fe5f665a24349d034b162d884;hpb=f21c6e7f81f391318de2289916072cbb251d59b5;p=dpdk.git diff --git a/drivers/common/sfc_efx/base/rhead_rx.c b/drivers/common/sfc_efx/base/rhead_rx.c index d3d7339b8c..692c3e1d49 100644 --- a/drivers/common/sfc_efx/base/rhead_rx.c +++ b/drivers/common/sfc_efx/base/rhead_rx.c @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: BSD-3-Clause * - * Copyright(c) 2019-2020 Xilinx, Inc. + * Copyright(c) 2019-2021 Xilinx, Inc. * Copyright(c) 2018-2019 Solarflare Communications Inc. */ @@ -37,7 +37,7 @@ static const efx_rx_prefix_layout_t rhead_default_rx_prefix_layout = { RHEAD_RX_PREFIX_FIELD(PARTIAL_TSTAMP, B_FALSE), RHEAD_RX_PREFIX_FIELD(RSS_HASH, B_FALSE), RHEAD_RX_PREFIX_FIELD(USER_MARK, B_FALSE), - RHEAD_RX_PREFIX_FIELD(INGRESS_VPORT, B_FALSE), + RHEAD_RX_PREFIX_FIELD(INGRESS_MPORT, B_FALSE), RHEAD_RX_PREFIX_FIELD(CSUM_FRAME, B_TRUE), RHEAD_RX_PREFIX_FIELD(VLAN_STRIP_TCI, B_TRUE), @@ -624,13 +624,20 @@ rhead_rx_qcreate( else params.disable_scatter = encp->enc_rx_disable_scatter_supported; + if (flags & EFX_RXQ_FLAG_RSS_HASH) { + fields_mask |= 1U << EFX_RX_PREFIX_FIELD_RSS_HASH; + fields_mask |= 1U << EFX_RX_PREFIX_FIELD_RSS_HASH_VALID; + } + + if (flags & EFX_RXQ_FLAG_INGRESS_MPORT) + fields_mask |= 1U << EFX_RX_PREFIX_FIELD_INGRESS_MPORT; + + if (flags & EFX_RXQ_FLAG_USER_MARK) + fields_mask |= 1U << EFX_RX_PREFIX_FIELD_USER_MARK; + /* * LENGTH is required in EF100 host interface, as receive events * do not include the packet length. - * NOTE: Required fields are hard-wired now. Future designs will - * want to allow the client (driver) code to have control over - * which fields are required or may be allow to request so-called - * default Rx prefix (which ID is equal to 0). */ fields_mask |= 1U << EFX_RX_PREFIX_FIELD_LENGTH; if ((rc = rhead_rx_choose_prefix_id(enp, fields_mask, &erpl)) != 0)