[v1,8/9] common/iavf: introduce QGRP capabilities to replace ADQ caps

Message ID 20240910101224.497044-9-soumyadeep.hore@intel.com (mailing list archive)
State Accepted
Delegated to: Bruce Richardson
Headers
Series Update IAVF Base Driver |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Soumyadeep Hore Sept. 10, 2024, 10:12 a.m. UTC
From: Sudheer Mogilappagari <sudheer.mogilappagari@intel.com>

Currently VIRTCHNL_VF_OFFLOAD_ADQ cap is used for VF ADQ functionality
with i40e PF and VIRTCHNL_VF_OFFLOAD_ADQ_V2 cap is used for functionality
with ice PF.

Above caps makes the IAVF code complicated with additional checks all
around TC configuration and TC filter code. Also VF ADQ with i40e is
not officially supported feature.

The current ADQ and ADQ_V2 caps will be deprecated to simplify the
code and QGRPS and FLOW_STEER_QGRP caps will be used to negotiate TC
configuration and TC filter configuration capabilities. Also define
VIRTCHNL_MAX_TC which will eventually replace VIRTCHNL_MAX_ADQ_V2_CHANNELS.

Signed-off-by: Sudheer Mogilappagari <sudheer.mogilappagari@intel.com>
Signed-off-by: Soumyadeep Hore <soumyadeep.hore@intel.com>
---
 drivers/common/iavf/virtchnl.h | 4 ++++
 1 file changed, 4 insertions(+)
  

Patch

diff --git a/drivers/common/iavf/virtchnl.h b/drivers/common/iavf/virtchnl.h
index 2d88b83932..92e323d741 100644
--- a/drivers/common/iavf/virtchnl.h
+++ b/drivers/common/iavf/virtchnl.h
@@ -479,6 +479,8 @@  VIRTCHNL_CHECK_STRUCT_LEN(16, virtchnl_vsi_resource);
 #define VIRTCHNL_VF_OFFLOAD_INLINE_IPSEC_CRYPTO	BIT(8)
 #define VIRTCHNL_VF_LARGE_NUM_QPAIRS		BIT(9)
 #define VIRTCHNL_VF_OFFLOAD_CRC			BIT(10)
+#define VIRTCHNL_VF_OFFLOAD_QGRPS		BIT(12)
+#define VIRTCHNL_VF_OFFLOAD_FLOW_STEER_TO_QGRP	BIT(13)
 #define VIRTCHNL_VF_OFFLOAD_FSUB_PF		BIT(14)
 #define VIRTCHNL_VF_OFFLOAD_VLAN_V2		BIT(15)
 #define VIRTCHNL_VF_OFFLOAD_VLAN		BIT(16)
@@ -1303,6 +1305,8 @@  enum virtchnl_rss_algorithm {
  */
 #define VIRTCHNL_MAX_ADQ_CHANNELS 4
 #define VIRTCHNL_MAX_ADQ_V2_CHANNELS 16
+/* This is used by PF driver to enforce max supported channels */
+#define VIRTCHNL_MAX_QGRPS 16
 
 /* VIRTCHNL_OP_ENABLE_CHANNELS
  * VIRTCHNL_OP_DISABLE_CHANNELS