From patchwork Wed Apr 26 10:22:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wenjing Qiao X-Patchwork-Id: 126536 X-Patchwork-Delegate: qi.z.zhang@intel.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5D00F42A02; Wed, 26 Apr 2023 12:28:25 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 208D142D1D; Wed, 26 Apr 2023 12:28:06 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id 5DA2A42D1D for ; Wed, 26 Apr 2023 12:28:01 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1682504881; x=1714040881; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=AcPd/43caLnE6wVp3OdqTJotit7vuunfCEQFbuk6iNA=; b=eyI5lpk82nZ0TUhIvzsmy/+q2I0fSP4t5Qp/1NXgmdAPjOtdTJGz8Lg2 VFfeukPNEOLAj5C8UW0uOLhw9fGtekIU6lqA6xVY5lA9V8p2gxIb0p4Qc SYxI0eYhUe4AQz/S/7fYB4rhhjcFrp2gwGZoiQAgwX4+RH449GILF9kFw H1Lo19jUxMHxARc4C5WS2S13fh6nEbsG09hILpx8bZNiVLisCTkxq1AJG AGBGT7a/AAEdAqWx3VcQ+vBf9gJSuuo7k4doc5z+MBf49zhpUno5sPdIt emXNN8+erhwOuxJBxDWPguwLFhVawWmOX5GLQv2oj8l2Esu+FVvb5Q8HN A==; X-IronPort-AV: E=McAfee;i="6600,9927,10691"; a="327391511" X-IronPort-AV: E=Sophos;i="5.99,227,1677571200"; d="scan'208";a="327391511" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Apr 2023 03:28:00 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10691"; a="1023552677" X-IronPort-AV: E=Sophos;i="5.99,227,1677571200"; d="scan'208";a="1023552677" Received: from dpdk-wenjing-01.sh.intel.com ([10.67.118.239]) by fmsmga005.fm.intel.com with ESMTP; 26 Apr 2023 03:27:57 -0700 From: Wenjing Qiao To: jingjing.wu@intel.com, beilei.xing@intel.com, qi.z.zhang@intel.com Cc: dev@dpdk.org, mingxia.liu@intel.com, Wenjing Qiao , Pavan Kumar Linga Subject: [PATCH v3 04/15] common/idpf/base: remove qregion struct variables Date: Wed, 26 Apr 2023 06:22:48 -0400 Message-Id: <20230426102259.205992-5-wenjing.qiao@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230426102259.205992-1-wenjing.qiao@intel.com> References: <20230421084043.135503-2-wenjing.qiao@intel.com> <20230426102259.205992-1-wenjing.qiao@intel.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Existing qregion variables are not well defined and cannot be used for TC related stuff. Remove them from create vport struct and add those freed bytes to a new reserved field. Add appropriate comments on how to use the dynctl and itrn register spacing variables. Only VF reference was used in get version comments where it should be PF/VF. Note: qregion variables will be added once the requirements are defined properly. Signed-off-by: Pavan Kumar Linga Signed-off-by: Wenjing Qiao --- drivers/common/idpf/base/virtchnl2.h | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/drivers/common/idpf/base/virtchnl2.h b/drivers/common/idpf/base/virtchnl2.h index d496f2388e..5c01734b65 100644 --- a/drivers/common/idpf/base/virtchnl2.h +++ b/drivers/common/idpf/base/virtchnl2.h @@ -426,13 +426,13 @@ /* VIRTCHNL2_OP_VERSION - * VF posts its version number to the CP. CP responds with its version number + * PF/VF posts its version number to the CP. CP responds with its version number * in the same format, along with a return code. - * If there is a major version mismatch, then the VF cannot operate. - * If there is a minor version mismatch, then the VF can operate but should + * If there is a major version mismatch, then the PF/VF cannot operate. + * If there is a minor version mismatch, then the PF/VF can operate but should * add a warning to the system log. * - * This version opcode MUST always be specified as == 1, regardless of other + * This version opcode MUST always be specified as == 1, regardless of other * changes in the API. The CP must always respond to this message without * error regardless of version mismatch. */ @@ -598,11 +598,7 @@ struct virtchnl2_create_vport { /* see VIRTCHNL2_TX_DESC_IDS definitions */ __le64 tx_desc_ids; -#define MAX_Q_REGIONS 16 - __le32 max_qs_per_qregion[MAX_Q_REGIONS]; - __le32 qregion_total_qs; - __le16 qregion_type; - __le16 pad2; + u8 reserved1[72]; /* see VIRTCHNL2_RSS_ALGORITHM definitions */ __le32 rss_algorithm; @@ -665,9 +661,7 @@ struct virtchnl2_txq_info { */ __le16 peer_rx_queue_id; - /* value ranges from 0 to 15 */ - __le16 qregion_id; - u8 pad[2]; + u8 pad[4]; /* Egress pasid is used for SIOV use case */ __le32 egress_pasid; @@ -734,10 +728,7 @@ struct virtchnl2_rxq_info { * if this field is set */ u8 bufq2_ena; - u8 pad2; - - /* value ranges from 0 to 15 */ - __le16 qregion_id; + u8 pad2[3]; /* Ingress pasid is used for SIOV use case */ __le32 ingress_pasid; @@ -801,9 +792,13 @@ struct virtchnl2_vector_chunk { * interrupt indices without modifying the state of the interrupt. */ __le32 dynctl_reg_start; + /* register spacing to find the next dynctl and itrn register offset + * from the provided dynctl_reg_start and itrn_reg_start respectively + */ __le32 dynctl_reg_spacing; __le32 itrn_reg_start; + /* register spacing to find the individual itrn register where n=0..2 */ __le32 itrn_reg_spacing; u8 reserved[8]; };