Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/132310/?format=api
http://patches.dpdk.org/api/patches/132310/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/20231005021854.109096-3-nicolas.chautru@intel.com/", "project": { "id": 1, "url": "http://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": "<20231005021854.109096-3-nicolas.chautru@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20231005021854.109096-3-nicolas.chautru@intel.com", "date": "2023-10-05T02:18:44", "name": "[v4,02/12] baseband/acc: add FFT window width in the VRB PMD", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "a3e0ec7e141f679ae6566c2360ef8aee86768158", "submitter": { "id": 1314, "url": "http://patches.dpdk.org/api/people/1314/?format=api", "name": "Chautru, Nicolas", "email": "nicolas.chautru@intel.com" }, "delegate": { "id": 2642, "url": "http://patches.dpdk.org/api/users/2642/?format=api", "username": "mcoquelin", "first_name": "Maxime", "last_name": "Coquelin", "email": "maxime.coquelin@redhat.com" }, "mbox": "http://patches.dpdk.org/project/dpdk/patch/20231005021854.109096-3-nicolas.chautru@intel.com/mbox/", "series": [ { "id": 29739, "url": "http://patches.dpdk.org/api/series/29739/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=29739", "date": "2023-10-05T02:18:42", "name": "VRB2 bbdev PMD introduction", "version": 4, "mbox": "http://patches.dpdk.org/series/29739/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/132310/comments/", "check": "success", "checks": "http://patches.dpdk.org/api/patches/132310/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 0199D426BB;\n\tThu, 5 Oct 2023 04:26:10 +0200 (CEST)", "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 57C3A402DB;\n\tThu, 5 Oct 2023 04:26:00 +0200 (CEST)", "from mgamail.intel.com (mgamail.intel.com [192.55.52.151])\n by mails.dpdk.org (Postfix) with ESMTP id B49784028A\n for <dev@dpdk.org>; Thu, 5 Oct 2023 04:25:55 +0200 (CEST)", "from orsmga008.jf.intel.com ([10.7.209.65])\n by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 04 Oct 2023 19:25:53 -0700", "from spr-npg-bds1-eec2.sn.intel.com (HELO spr-npg-bds1-eec2..)\n ([10.233.181.123])\n by orsmga008.jf.intel.com with ESMTP; 04 Oct 2023 19:25:53 -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=1696472755; x=1728008755;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=dtp5sHecbO073vSLHGg6RE/RvyW9hwbEnVCOJmOS29Q=;\n b=JOkZ1+5/CJ7O6aNQ9gAJOOGGVvT1oaXIs9RDgtMCnx3l0qW3MK/tnHT9\n lbV4E4bveJ0e0Qs2OynISn5hEAwPGpHUpTje50HPo97ULkuXKFqbIR9St\n xzDQInJXUClLOf5IXw4knwiwsTfy+6e+tmo/KW9aEqL6wC9K5uqQ00K91\n s9Kkw78FbulCng4RLJDKM4fOZxrOBvHwVQNCycv5Ybr7icagGb1yMFfmp\n 0VweDNq5qc4+6ObUhZ9hq0jv18z/mv8jyr9ZO5brTUOv1Ar2HZ1amBmC/\n kgvMiRII8yuuuCnaqY/KdLPZq09vvF9dWdTGxuWojJQ51eYwtBRysangg Q==;", "X-IronPort-AV": [ "E=McAfee;i=\"6600,9927,10853\"; a=\"363657671\"", "E=Sophos;i=\"6.03,201,1694761200\"; d=\"scan'208\";a=\"363657671\"", "E=McAfee;i=\"6600,9927,10853\"; a=\"781063010\"", "E=Sophos;i=\"6.03,201,1694761200\"; d=\"scan'208\";a=\"781063010\"" ], "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 v4 02/12] baseband/acc: add FFT window width in the VRB PMD", "Date": "Thu, 5 Oct 2023 02:18:44 +0000", "Message-Id": "<20231005021854.109096-3-nicolas.chautru@intel.com>", "X-Mailer": "git-send-email 2.34.1", "In-Reply-To": "<20231005021854.109096-1-nicolas.chautru@intel.com>", "References": "<20231005021854.109096-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 | 39 +++++++++++++++++++++++++-----\n 2 files changed, 39 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..7b9e946ed8 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@@ -271,12 +302,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 +1110,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 +1126,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": [ "v4", "02/12" ] }{ "id": 132310, "url": "