/* 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.
*/
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),
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)