Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/132334/?format=api
https://patches.dpdk.org/api/patches/132334/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/patch/20231005194907.557517-3-nicolas.chautru@intel.com/", "project": { "id": 1, "url": "https://patches.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": "<20231005194907.557517-3-nicolas.chautru@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20231005194907.557517-3-nicolas.chautru@intel.com", "date": "2023-10-05T19:48:57", "name": "[v5,02/12] baseband/acc: add FFT window width in the VRB PMD", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "b65d5277aebe3ec50bb77496edba8b544b82484d", "submitter": { "id": 1314, "url": "https://patches.dpdk.org/api/people/1314/?format=api", "name": "Chautru, Nicolas", "email": "nicolas.chautru@intel.com" }, "delegate": { "id": 2642, "url": "https://patches.dpdk.org/api/users/2642/?format=api", "username": "mcoquelin", "first_name": "Maxime", "last_name": "Coquelin", "email": "maxime.coquelin@redhat.com" }, "mbox": "https://patches.dpdk.org/project/dpdk/patch/20231005194907.557517-3-nicolas.chautru@intel.com/mbox/", "series": [ { "id": 29744, "url": "https://patches.dpdk.org/api/series/29744/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=29744", "date": "2023-10-05T19:48:55", "name": "VRB2 bbdev PMD introduction", "version": 5, "mbox": "https://patches.dpdk.org/series/29744/mbox/" } ], "comments": "https://patches.dpdk.org/api/patches/132334/comments/", "check": "success", "checks": "https://patches.dpdk.org/api/patches/132334/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 3CBB6426C5;\n\tThu, 5 Oct 2023 21:56:23 +0200 (CEST)", "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 4645B40685;\n\tThu, 5 Oct 2023 21:56:10 +0200 (CEST)", "from mgamail.intel.com (mgamail.intel.com [134.134.136.24])\n by mails.dpdk.org (Postfix) with ESMTP id 75E0F402CF\n for <dev@dpdk.org>; Thu, 5 Oct 2023 21:56:06 +0200 (CEST)", "from fmsmga007.fm.intel.com ([10.253.24.52])\n by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 05 Oct 2023 12:56:04 -0700", "from spr-npg-bds1-eec2.sn.intel.com (HELO spr-npg-bds1-eec2..)\n ([10.233.181.123])\n by fmsmga007.fm.intel.com with ESMTP; 05 Oct 2023 12:56:04 -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=1696535766; x=1728071766;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=sj0gDtBYL9FOKE2NXUn6F5cjlzMny3HlfRIT9X87dTY=;\n b=eZGKJbMh/trBUGFtktbBKELnQMJkEb4i5bUZs5bSfMACxGNNn3MsaXCM\n iqv1f2/BoYASb8tHQcwHjk7EmcaN34CPWzB6Y67D5ICDvdYPHQ5Sr9G0+\n KmJRCa7cYIo/Jk8XvsoupSxXUpopXCCV6Qu41+WZ2xLXNK3QSXwKAIPmX\n DXZi7fCgkrDHC+0Iahf63LGUYLhgksKmgpZfEa8Zcc/rL4nuZZiq6UxnV\n 2Idt6h7yGPQBBrMjtyGiBe48b6DSyO7dkKqCmUDWQZS5GVkIRLMUhGsKL\n 9CQJln41HzE+eEf6ShsC3FCPN2fChKcJ4GmO62q4SbphxIRplKPcUNZvj Q==;", "X-IronPort-AV": [ "E=McAfee;i=\"6600,9927,10854\"; a=\"386432636\"", "E=Sophos;i=\"6.03,203,1694761200\"; d=\"scan'208\";a=\"386432636\"", "E=McAfee;i=\"6600,9927,10854\"; a=\"755600273\"", "E=Sophos;i=\"6.03,203,1694761200\"; d=\"scan'208\";a=\"755600273\"" ], "X-ExtLoop1": "1", "From": "Nicolas Chautru <nicolas.chautru@intel.com>", "To": "dev@dpdk.org,\n\tmaxime.coquelin@redhat.com", "Cc": "hemant.agrawal@nxp.com, david.marchand@redhat.com,\n hernan.vargas@intel.com,\n Nicolas Chautru <nicolas.chautru@intel.com>", "Subject": "[PATCH v5 02/12] baseband/acc: add FFT window width in the VRB PMD", "Date": "Thu, 5 Oct 2023 19:48:57 +0000", "Message-Id": "<20231005194907.557517-3-nicolas.chautru@intel.com>", "X-Mailer": "git-send-email 2.34.1", "In-Reply-To": "<20231005194907.557517-1-nicolas.chautru@intel.com>", "References": "<20231005194907.557517-1-nicolas.chautru@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": "This allows to expose the FFT window width being introduced in\nprevious commit based on what is configured dynamically on the\ndevice platform.\n\nSigned-off-by: Nicolas Chautru <nicolas.chautru@intel.com>\n---\n drivers/baseband/acc/acc_common.h | 6 +++++\n drivers/baseband/acc/rte_vrb_pmd.c | 41 +++++++++++++++++++++++++-----\n 2 files changed, 41 insertions(+), 6 deletions(-)", "diff": "diff --git a/drivers/baseband/acc/acc_common.h b/drivers/baseband/acc/acc_common.h\nindex 5bb00746c3..afece863bc 100644\n--- a/drivers/baseband/acc/acc_common.h\n+++ b/drivers/baseband/acc/acc_common.h\n@@ -131,6 +131,8 @@\n #define ACC_LIM_31 20 /* 0.31 */\n #define ACC_MAX_E (128 * 1024 - 2)\n \n+#define ACC_MAX_FFT_WIN 16\n+\n /* Helper macro for logging */\n #define rte_acc_log(level, fmt, ...) \\\n \trte_log(RTE_LOG_ ## level, RTE_LOG_NOTICE, fmt \"\\n\", \\\n@@ -512,6 +514,8 @@ struct acc_deq_intr_details {\n enum {\n \tACC_VF2PF_STATUS_REQUEST = 1,\n \tACC_VF2PF_USING_VF = 2,\n+\tACC_VF2PF_LUT_VER_REQUEST = 3,\n+\tACC_VF2PF_FFT_WIN_REQUEST = 4,\n };\n \n \n@@ -558,6 +562,8 @@ struct acc_device {\n \tqueue_offset_fun_t queue_offset; /* Device specific queue offset */\n \tuint16_t num_qgroups;\n \tuint16_t num_aqs;\n+\tuint16_t fft_window_width[ACC_MAX_FFT_WIN]; /* FFT windowing size. */\n+\n };\n \n /* Structure associated with each queue. */\ndiff --git a/drivers/baseband/acc/rte_vrb_pmd.c b/drivers/baseband/acc/rte_vrb_pmd.c\nindex 9e5a73c9c7..b86e814f8f 100644\n--- a/drivers/baseband/acc/rte_vrb_pmd.c\n+++ b/drivers/baseband/acc/rte_vrb_pmd.c\n@@ -183,6 +183,37 @@ vrb_check_device_enable(struct rte_bbdev *dev)\n \treturn false;\n }\n \n+static inline void\n+vrb_vf2pf(struct acc_device *d, unsigned int payload)\n+{\n+\tacc_reg_write(d, d->reg_addr->vf2pf_doorbell, payload);\n+}\n+\n+/* Request device FFT windowing information. */\n+static inline void\n+vrb_device_fft_win(struct rte_bbdev *dev)\n+{\n+\tstruct acc_device *d = dev->data->dev_private;\n+\tuint32_t reg, time_out = 0, win;\n+\n+\tif (d->pf_device)\n+\t\treturn;\n+\n+\t/* Check from the device the first time. */\n+\tif (d->fft_window_width[0] == 0) {\n+\t\tfor (win = 0; win < ACC_MAX_FFT_WIN; win++) {\n+\t\t\tvrb_vf2pf(d, ACC_VF2PF_FFT_WIN_REQUEST | win);\n+\t\t\treg = acc_reg_read(d, d->reg_addr->pf2vf_doorbell);\n+\t\t\twhile ((time_out < ACC_STATUS_TO) && (reg == RTE_BBDEV_DEV_NOSTATUS)) {\n+\t\t\t\tusleep(ACC_STATUS_WAIT); /*< Wait or VF->PF->VF Comms. */\n+\t\t\t\treg = acc_reg_read(d, d->reg_addr->pf2vf_doorbell);\n+\t\t\t\ttime_out++;\n+\t\t\t}\n+\t\t\td->fft_window_width[win] = reg;\n+\t\t}\n+\t}\n+}\n+\n /* Fetch configuration enabled for the PF/VF using MMIO Read (slow). */\n static inline void\n fetch_acc_config(struct rte_bbdev *dev)\n@@ -206,6 +237,8 @@ fetch_acc_config(struct rte_bbdev *dev)\n \t\treturn;\n \t}\n \n+\tvrb_device_fft_win(dev);\n+\n \td->ddr_size = 0;\n \n \t/* Single VF Bundle by VF. */\n@@ -271,12 +304,6 @@ fetch_acc_config(struct rte_bbdev *dev)\n \t\t\tacc_conf->q_fft.aq_depth_log2);\n }\n \n-static inline void\n-vrb_vf2pf(struct acc_device *d, unsigned int payload)\n-{\n-\tacc_reg_write(d, d->reg_addr->vf2pf_doorbell, payload);\n-}\n-\n /* Request device status information. */\n static inline uint32_t\n vrb_device_status(struct rte_bbdev *dev)\n@@ -1085,6 +1112,7 @@ vrb_dev_info_get(struct rte_bbdev *dev, struct rte_bbdev_driver_info *dev_info)\n \t\t\t\t\t\tRTE_BBDEV_LDPC_MAX_CODE_BLOCKS,\n \t\t\t\t.num_buffers_dst =\n \t\t\t\t\t\tRTE_BBDEV_LDPC_MAX_CODE_BLOCKS,\n+\t\t\t\t.fft_windows_num = ACC_MAX_FFT_WIN,\n \t\t\t}\n \t\t},\n \t\tRTE_BBDEV_END_OF_CAPABILITIES_LIST()\n@@ -1100,6 +1128,7 @@ vrb_dev_info_get(struct rte_bbdev *dev, struct rte_bbdev_driver_info *dev_info)\n \tfetch_acc_config(dev);\n \t/* Check the status of device. */\n \tdev_info->device_status = vrb_device_status(dev);\n+\tdev_info->fft_window_width = d->fft_window_width;\n \n \t/* Exposed number of queues. */\n \tdev_info->num_queues[RTE_BBDEV_OP_NONE] = 0;\n", "prefixes": [ "v5", "02/12" ] }{ "id": 132334, "url": "