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