Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/127543/?format=api
http://patchwork.dpdk.org/api/patches/127543/?format=api", "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20230526073850.101079-7-beilei.xing@intel.com/", "project": { "id": 1, "url": "http://patchwork.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<20230526073850.101079-7-beilei.xing@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20230526073850.101079-7-beilei.xing@intel.com", "date": "2023-05-26T07:38:43", "name": "[v4,06/13] common/idpf: add queue config API", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "f5f620775611329780f91c391cc1b8baa26b5820", "submitter": { "id": 410, "url": "http://patchwork.dpdk.org/api/people/410/?format=api", "name": "Xing, Beilei", "email": "beilei.xing@intel.com" }, "delegate": { "id": 1540, "url": "http://patchwork.dpdk.org/api/users/1540/?format=api", "username": "qzhan15", "first_name": "Qi", "last_name": "Zhang", "email": "qi.z.zhang@intel.com" }, "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20230526073850.101079-7-beilei.xing@intel.com/mbox/", "series": [ { "id": 28204, "url": "http://patchwork.dpdk.org/api/series/28204/?format=api", "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=28204", "date": "2023-05-26T07:38:37", "name": "net/cpfl: add hairpin queue support", "version": 4, "mbox": "http://patchwork.dpdk.org/series/28204/mbox/" } ], "comments": "http://patchwork.dpdk.org/api/patches/127543/comments/", "check": "success", "checks": "http://patchwork.dpdk.org/api/patches/127543/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "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])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 2EA1342BA9;\n\tFri, 26 May 2023 10:03:18 +0200 (CEST)", "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 4955042B8B;\n\tFri, 26 May 2023 10:02:49 +0200 (CEST)", "from mga18.intel.com (mga18.intel.com [134.134.136.126])\n by mails.dpdk.org (Postfix) with ESMTP id 6DB0A42D3B\n for <dev@dpdk.org>; Fri, 26 May 2023 10:02:45 +0200 (CEST)", "from fmsmga001.fm.intel.com ([10.253.24.23])\n by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 26 May 2023 01:02:45 -0700", "from dpdk-beileix-3.sh.intel.com ([10.67.110.253])\n by fmsmga001.fm.intel.com with ESMTP; 26 May 2023 01:02:43 -0700" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1685088165; x=1716624165;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=V2x08YHfIIIRV+DWg7M6Q2oGVFYhtmreV0bELJFpeRM=;\n b=Xeex9IE/tpfTf6/7zxVSMRjc5AvBpQ6RxsQFuc2s3VxTXxPA5g3RKYrT\n Er9EVJjh4SZjhgcWK/5l/m2oqsx4FQ1hG7DDTLppdxep5BpUtuFe8zLNe\n Z2d+3Mt1mpgbRAcIUiPy1KCEbC32jfs4a3TvpYXUxk1sVc+nfE6FZpmDk\n PY8/lovjmXe+YQmm3uZthflh9amxYhKSafEhtQ7rOIiEdii0EZO2NMiFk\n VAjunnpEdyXdufZjSdI4J7nR77syU0sv45nVXluVdJBGdWhFuV7BslqxE\n C93SsAnDinJ6XnJ3faeTWVwN8+YgEmUDLJWGOmmct2h7laYr4lZ/1HEPk w==;", "X-IronPort-AV": [ "E=McAfee;i=\"6600,9927,10721\"; a=\"338742698\"", "E=Sophos;i=\"6.00,193,1681196400\"; d=\"scan'208\";a=\"338742698\"", "E=McAfee;i=\"6600,9927,10721\"; a=\"849483884\"", "E=Sophos;i=\"6.00,193,1681196400\"; d=\"scan'208\";a=\"849483884\"" ], "X-ExtLoop1": "1", "From": "beilei.xing@intel.com", "To": "jingjing.wu@intel.com", "Cc": "dev@dpdk.org, mingxia.liu@intel.com, Beilei Xing <beilei.xing@intel.com>", "Subject": "[PATCH v4 06/13] common/idpf: add queue config API", "Date": "Fri, 26 May 2023 07:38:43 +0000", "Message-Id": "<20230526073850.101079-7-beilei.xing@intel.com>", "X-Mailer": "git-send-email 2.26.2", "In-Reply-To": "<20230526073850.101079-1-beilei.xing@intel.com>", "References": "<20230519073116.56749-1-beilei.xing@intel.com>\n <20230526073850.101079-1-beilei.xing@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 <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org" }, "content": "From: Beilei Xing <beilei.xing@intel.com>\n\nThis patch supports Rx/Tx queue configuration APIs.\n\nSigned-off-by: Beilei Xing <beilei.xing@intel.com>\n---\n drivers/common/idpf/idpf_common_virtchnl.c | 70 ++++++++++++++++++++++\n drivers/common/idpf/idpf_common_virtchnl.h | 6 ++\n drivers/common/idpf/version.map | 2 +\n 3 files changed, 78 insertions(+)", "diff": "diff --git a/drivers/common/idpf/idpf_common_virtchnl.c b/drivers/common/idpf/idpf_common_virtchnl.c\nindex a3fe55c897..211b44a88e 100644\n--- a/drivers/common/idpf/idpf_common_virtchnl.c\n+++ b/drivers/common/idpf/idpf_common_virtchnl.c\n@@ -1050,6 +1050,41 @@ idpf_vc_rxq_config(struct idpf_vport *vport, struct idpf_rx_queue *rxq)\n \treturn err;\n }\n \n+int idpf_vc_rxq_config_by_info(struct idpf_vport *vport, struct virtchnl2_rxq_info *rxq_info,\n+\t\t\t uint16_t num_qs)\n+{\n+\tstruct idpf_adapter *adapter = vport->adapter;\n+\tstruct virtchnl2_config_rx_queues *vc_rxqs = NULL;\n+\tstruct idpf_cmd_info args;\n+\tint size, err, i;\n+\n+\tsize = sizeof(*vc_rxqs) + (num_qs - 1) *\n+\t\tsizeof(struct virtchnl2_rxq_info);\n+\tvc_rxqs = rte_zmalloc(\"cfg_rxqs\", size, 0);\n+\tif (vc_rxqs == NULL) {\n+\t\tDRV_LOG(ERR, \"Failed to allocate virtchnl2_config_rx_queues\");\n+\t\terr = -ENOMEM;\n+\t\treturn err;\n+\t}\n+\tvc_rxqs->vport_id = vport->vport_id;\n+\tvc_rxqs->num_qinfo = num_qs;\n+\tmemcpy(vc_rxqs->qinfo, rxq_info, num_qs * sizeof(struct virtchnl2_rxq_info));\n+\n+\tmemset(&args, 0, sizeof(args));\n+\targs.ops = VIRTCHNL2_OP_CONFIG_RX_QUEUES;\n+\targs.in_args = (uint8_t *)vc_rxqs;\n+\targs.in_args_size = size;\n+\targs.out_buffer = adapter->mbx_resp;\n+\targs.out_size = IDPF_DFLT_MBX_BUF_SIZE;\n+\n+\terr = idpf_vc_cmd_execute(adapter, &args);\n+\trte_free(vc_rxqs);\n+\tif (err != 0)\n+\t\tDRV_LOG(ERR, \"Failed to execute command of VIRTCHNL2_OP_CONFIG_RX_QUEUES\");\n+\n+\treturn err;\n+}\n+\n int\n idpf_vc_txq_config(struct idpf_vport *vport, struct idpf_tx_queue *txq)\n {\n@@ -1121,6 +1156,41 @@ idpf_vc_txq_config(struct idpf_vport *vport, struct idpf_tx_queue *txq)\n \treturn err;\n }\n \n+int\n+idpf_vc_txq_config_by_info(struct idpf_vport *vport, struct virtchnl2_txq_info *txq_info,\n+\t\t uint16_t num_qs)\n+{\n+\tstruct idpf_adapter *adapter = vport->adapter;\n+\tstruct virtchnl2_config_tx_queues *vc_txqs = NULL;\n+\tstruct idpf_cmd_info args;\n+\tint size, err;\n+\n+\tsize = sizeof(*vc_txqs) + (num_qs - 1) * sizeof(struct virtchnl2_txq_info);\n+\tvc_txqs = rte_zmalloc(\"cfg_txqs\", size, 0);\n+\tif (vc_txqs == NULL) {\n+\t\tDRV_LOG(ERR, \"Failed to allocate virtchnl2_config_tx_queues\");\n+\t\terr = -ENOMEM;\n+\t\treturn err;\n+\t}\n+\tvc_txqs->vport_id = vport->vport_id;\n+\tvc_txqs->num_qinfo = num_qs;\n+\tmemcpy(vc_txqs->qinfo, txq_info, num_qs * sizeof(struct virtchnl2_txq_info));\n+\n+\tmemset(&args, 0, sizeof(args));\n+\targs.ops = VIRTCHNL2_OP_CONFIG_TX_QUEUES;\n+\targs.in_args = (uint8_t *)vc_txqs;\n+\targs.in_args_size = size;\n+\targs.out_buffer = adapter->mbx_resp;\n+\targs.out_size = IDPF_DFLT_MBX_BUF_SIZE;\n+\n+\terr = idpf_vc_cmd_execute(adapter, &args);\n+\trte_free(vc_txqs);\n+\tif (err != 0)\n+\t\tDRV_LOG(ERR, \"Failed to execute command of VIRTCHNL2_OP_CONFIG_TX_QUEUES\");\n+\n+\treturn err;\n+}\n+\n int\n idpf_vc_ctlq_recv(struct idpf_ctlq_info *cq, u16 *num_q_msg,\n \t\t struct idpf_ctlq_msg *q_msg)\ndiff --git a/drivers/common/idpf/idpf_common_virtchnl.h b/drivers/common/idpf/idpf_common_virtchnl.h\nindex 58b16e1c5d..db83761a5e 100644\n--- a/drivers/common/idpf/idpf_common_virtchnl.h\n+++ b/drivers/common/idpf/idpf_common_virtchnl.h\n@@ -65,6 +65,12 @@ __rte_internal\n int idpf_vc_ctlq_post_rx_buffs(struct idpf_hw *hw, struct idpf_ctlq_info *cq,\n \t\t\t u16 *buff_count, struct idpf_dma_mem **buffs);\n __rte_internal\n+int idpf_vc_rxq_config_by_info(struct idpf_vport *vport, struct virtchnl2_rxq_info *rxq_info,\n+\t\t\t uint16_t num_qs);\n+__rte_internal\n+int idpf_vc_txq_config_by_info(struct idpf_vport *vport, struct virtchnl2_txq_info *txq_info,\n+\t\t\t uint16_t num_qs);\n+__rte_internal\n int idpf_vc_queue_grps_del(struct idpf_vport *vport,\n \t\t\t uint16_t num_q_grps,\n \t\t\t struct virtchnl2_queue_group_id *qg_ids);\ndiff --git a/drivers/common/idpf/version.map b/drivers/common/idpf/version.map\nindex 01d18f3f3f..17e77884ce 100644\n--- a/drivers/common/idpf/version.map\n+++ b/drivers/common/idpf/version.map\n@@ -54,8 +54,10 @@ INTERNAL {\n \tidpf_vc_rss_lut_get;\n \tidpf_vc_rss_lut_set;\n \tidpf_vc_rxq_config;\n+\tidpf_vc_rxq_config_by_info;\n \tidpf_vc_stats_query;\n \tidpf_vc_txq_config;\n+\tidpf_vc_txq_config_by_info;\n \tidpf_vc_vectors_alloc;\n \tidpf_vc_vectors_dealloc;\n \tidpf_vc_vport_create;\n", "prefixes": [ "v4", "06/13" ] }{ "id": 127543, "url": "