From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 460C7454DF; Mon, 24 Jun 2024 12:05:31 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0748F410E3; Mon, 24 Jun 2024 12:03:28 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.13]) by mails.dpdk.org (Postfix) with ESMTP id 9120C40DD2 for ; Mon, 24 Jun 2024 12:02:42 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1719223362; x=1750759362; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=RVCfpYOjqGIUbv0nv5qR1+4Gi/7aqZ/YquKaGGoRD/Q=; b=FXQtWsF2tY54O8uM6hUsC/k+9h9K9ps2w7xR80H+UiyVSEVVMJNz34sC 4fxggX+rWJbYucm4mmt1F81iz1f7Sk5teo3s5KXvm07uKcQklYFPI6vJV Q0/kwrOlNYkVrp2U5FBufnGvLrzeybHrxhJBiWHjpog2yNOovpOCLOInx Ir2WNq8ejNnrClTI4WnGNUAEZnFAhMItldFXdFM2oIuz53XXdzbztSG6a 6965QrSn5R/a+fZ2ZCPrWWswC5QzU5RLOGNBRqaQ2aRPw5XwNNXXagVRL RHamQouxT1aBdx5Wzu6qdOPKod/F94XXVgU6HbvP6nj5JblF7TbWnbsr4 g==; X-CSE-ConnectionGUID: Yj1neenbQrGzIbFKu4u+yg== X-CSE-MsgGUID: in9ADILlR3iYZqmYK3V+1g== X-IronPort-AV: E=McAfee;i="6700,10204,11112"; a="19086476" X-IronPort-AV: E=Sophos;i="6.08,261,1712646000"; d="scan'208";a="19086476" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmvoesa107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Jun 2024 03:02:42 -0700 X-CSE-ConnectionGUID: CrjwuAJCR5aTxJcade1PyA== X-CSE-MsgGUID: ZFpJib3DRPqHvv2FILjeIg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,261,1712646000"; d="scan'208";a="74479208" Received: from unknown (HELO npf-hyd-clx-03..) ([10.145.170.182]) by fmviesa001.fm.intel.com with ESMTP; 24 Jun 2024 03:02:40 -0700 From: Soumyadeep Hore To: bruce.richardson@intel.com, anatoly.burakov@intel.com Cc: dev@dpdk.org Subject: [PATCH v5 20/21] drivers: adding type to idpf vc queue switch Date: Mon, 24 Jun 2024 09:16:43 +0000 Message-ID: <20240624091644.2404658-21-soumyadeep.hore@intel.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240624091644.2404658-1-soumyadeep.hore@intel.com> References: <20240618105722.2326987-22-soumyadeep.hore@intel.com> <20240624091644.2404658-1-soumyadeep.hore@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 Adding an argument named type to define queue type in idpf_vc_queue_switch(). This solves the issue of improper queue type in virtchnl2 message. Signed-off-by: Soumyadeep Hore --- drivers/common/idpf/idpf_common_virtchnl.c | 8 ++------ drivers/common/idpf/idpf_common_virtchnl.h | 2 +- drivers/net/cpfl/cpfl_ethdev.c | 12 ++++++++---- drivers/net/cpfl/cpfl_rxtx.c | 12 ++++++++---- drivers/net/idpf/idpf_rxtx.c | 12 ++++++++---- 5 files changed, 27 insertions(+), 19 deletions(-) diff --git a/drivers/common/idpf/idpf_common_virtchnl.c b/drivers/common/idpf/idpf_common_virtchnl.c index f00202f43c..de511da788 100644 --- a/drivers/common/idpf/idpf_common_virtchnl.c +++ b/drivers/common/idpf/idpf_common_virtchnl.c @@ -769,15 +769,11 @@ idpf_vc_ena_dis_one_queue(struct idpf_vport *vport, uint16_t qid, int idpf_vc_queue_switch(struct idpf_vport *vport, uint16_t qid, - bool rx, bool on) + bool rx, bool on, uint32_t type) { - uint32_t type; int err, queue_id; - /* switch txq/rxq */ - type = rx ? VIRTCHNL2_QUEUE_TYPE_RX : VIRTCHNL2_QUEUE_TYPE_TX; - - if (type == VIRTCHNL2_QUEUE_TYPE_RX) + if (rx) queue_id = vport->chunks_info.rx_start_qid + qid; else queue_id = vport->chunks_info.tx_start_qid + qid; diff --git a/drivers/common/idpf/idpf_common_virtchnl.h b/drivers/common/idpf/idpf_common_virtchnl.h index 73446ded86..d6555978d5 100644 --- a/drivers/common/idpf/idpf_common_virtchnl.h +++ b/drivers/common/idpf/idpf_common_virtchnl.h @@ -31,7 +31,7 @@ int idpf_vc_cmd_execute(struct idpf_adapter *adapter, struct idpf_cmd_info *args); __rte_internal int idpf_vc_queue_switch(struct idpf_vport *vport, uint16_t qid, - bool rx, bool on); + bool rx, bool on, uint32_t type); __rte_internal int idpf_vc_queues_ena_dis(struct idpf_vport *vport, bool enable); __rte_internal diff --git a/drivers/net/cpfl/cpfl_ethdev.c b/drivers/net/cpfl/cpfl_ethdev.c index e707043bf7..9e2a74371e 100644 --- a/drivers/net/cpfl/cpfl_ethdev.c +++ b/drivers/net/cpfl/cpfl_ethdev.c @@ -1907,7 +1907,8 @@ cpfl_stop_cfgqs(struct cpfl_adapter_ext *adapter) int i, ret; for (i = 0; i < CPFL_TX_CFGQ_NUM; i++) { - ret = idpf_vc_queue_switch(&adapter->ctrl_vport.base, i, false, false); + ret = idpf_vc_queue_switch(&adapter->ctrl_vport.base, i, false, false, + VIRTCHNL2_QUEUE_TYPE_CONFIG_TX); if (ret) { PMD_DRV_LOG(ERR, "Fail to disable Tx config queue."); return ret; @@ -1915,7 +1916,8 @@ cpfl_stop_cfgqs(struct cpfl_adapter_ext *adapter) } for (i = 0; i < CPFL_RX_CFGQ_NUM; i++) { - ret = idpf_vc_queue_switch(&adapter->ctrl_vport.base, i, true, false); + ret = idpf_vc_queue_switch(&adapter->ctrl_vport.base, i, true, false, + VIRTCHNL2_QUEUE_TYPE_CONFIG_RX); if (ret) { PMD_DRV_LOG(ERR, "Fail to disable Rx config queue."); return ret; @@ -1943,7 +1945,8 @@ cpfl_start_cfgqs(struct cpfl_adapter_ext *adapter) } for (i = 0; i < CPFL_TX_CFGQ_NUM; i++) { - ret = idpf_vc_queue_switch(&adapter->ctrl_vport.base, i, false, true); + ret = idpf_vc_queue_switch(&adapter->ctrl_vport.base, i, false, true, + VIRTCHNL2_QUEUE_TYPE_CONFIG_TX); if (ret) { PMD_DRV_LOG(ERR, "Fail to enable Tx config queue."); return ret; @@ -1951,7 +1954,8 @@ cpfl_start_cfgqs(struct cpfl_adapter_ext *adapter) } for (i = 0; i < CPFL_RX_CFGQ_NUM; i++) { - ret = idpf_vc_queue_switch(&adapter->ctrl_vport.base, i, true, true); + ret = idpf_vc_queue_switch(&adapter->ctrl_vport.base, i, true, true, + VIRTCHNL2_QUEUE_TYPE_CONFIG_RX); if (ret) { PMD_DRV_LOG(ERR, "Fail to enable Rx config queue."); return ret; diff --git a/drivers/net/cpfl/cpfl_rxtx.c b/drivers/net/cpfl/cpfl_rxtx.c index ab8bec4645..47351ca102 100644 --- a/drivers/net/cpfl/cpfl_rxtx.c +++ b/drivers/net/cpfl/cpfl_rxtx.c @@ -1200,7 +1200,8 @@ cpfl_rx_queue_start(struct rte_eth_dev *dev, uint16_t rx_queue_id) } /* Ready to switch the queue on */ - err = idpf_vc_queue_switch(vport, rx_queue_id, true, true); + err = idpf_vc_queue_switch(vport, rx_queue_id, true, true, + VIRTCHNL2_QUEUE_TYPE_RX); if (err != 0) { PMD_DRV_LOG(ERR, "Failed to switch RX queue %u on", rx_queue_id); @@ -1252,7 +1253,8 @@ cpfl_tx_queue_start(struct rte_eth_dev *dev, uint16_t tx_queue_id) } /* Ready to switch the queue on */ - err = idpf_vc_queue_switch(vport, tx_queue_id, false, true); + err = idpf_vc_queue_switch(vport, tx_queue_id, false, true, + VIRTCHNL2_QUEUE_TYPE_TX); if (err != 0) { PMD_DRV_LOG(ERR, "Failed to switch TX queue %u on", tx_queue_id); @@ -1283,7 +1285,8 @@ cpfl_rx_queue_stop(struct rte_eth_dev *dev, uint16_t rx_queue_id) rx_queue_id - cpfl_vport->nb_data_txq, true, false); else - err = idpf_vc_queue_switch(vport, rx_queue_id, true, false); + err = idpf_vc_queue_switch(vport, rx_queue_id, true, false, + VIRTCHNL2_QUEUE_TYPE_RX); if (err != 0) { PMD_DRV_LOG(ERR, "Failed to switch RX queue %u off", rx_queue_id); @@ -1331,7 +1334,8 @@ cpfl_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id) tx_queue_id - cpfl_vport->nb_data_txq, false, false); else - err = idpf_vc_queue_switch(vport, tx_queue_id, false, false); + err = idpf_vc_queue_switch(vport, tx_queue_id, false, false, + VIRTCHNL2_QUEUE_TYPE_TX); if (err != 0) { PMD_DRV_LOG(ERR, "Failed to switch TX queue %u off", tx_queue_id); diff --git a/drivers/net/idpf/idpf_rxtx.c b/drivers/net/idpf/idpf_rxtx.c index 64f2235580..858bbefe3b 100644 --- a/drivers/net/idpf/idpf_rxtx.c +++ b/drivers/net/idpf/idpf_rxtx.c @@ -595,7 +595,8 @@ idpf_rx_queue_start(struct rte_eth_dev *dev, uint16_t rx_queue_id) } /* Ready to switch the queue on */ - err = idpf_vc_queue_switch(vport, rx_queue_id, true, true); + err = idpf_vc_queue_switch(vport, rx_queue_id, true, true, + VIRTCHNL2_QUEUE_TYPE_RX); if (err != 0) { PMD_DRV_LOG(ERR, "Failed to switch RX queue %u on", rx_queue_id); @@ -646,7 +647,8 @@ idpf_tx_queue_start(struct rte_eth_dev *dev, uint16_t tx_queue_id) } /* Ready to switch the queue on */ - err = idpf_vc_queue_switch(vport, tx_queue_id, false, true); + err = idpf_vc_queue_switch(vport, tx_queue_id, false, true, + VIRTCHNL2_QUEUE_TYPE_TX); if (err != 0) { PMD_DRV_LOG(ERR, "Failed to switch TX queue %u on", tx_queue_id); @@ -669,7 +671,8 @@ idpf_rx_queue_stop(struct rte_eth_dev *dev, uint16_t rx_queue_id) if (rx_queue_id >= dev->data->nb_rx_queues) return -EINVAL; - err = idpf_vc_queue_switch(vport, rx_queue_id, true, false); + err = idpf_vc_queue_switch(vport, rx_queue_id, true, false, + VIRTCHNL2_QUEUE_TYPE_RX); if (err != 0) { PMD_DRV_LOG(ERR, "Failed to switch RX queue %u off", rx_queue_id); @@ -701,7 +704,8 @@ idpf_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id) if (tx_queue_id >= dev->data->nb_tx_queues) return -EINVAL; - err = idpf_vc_queue_switch(vport, tx_queue_id, false, false); + err = idpf_vc_queue_switch(vport, tx_queue_id, false, false, + VIRTCHNL2_QUEUE_TYPE_TX); if (err != 0) { PMD_DRV_LOG(ERR, "Failed to switch TX queue %u off", tx_queue_id); -- 2.43.0