From patchwork Fri Sep 29 16:35:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Chautru, Nicolas" X-Patchwork-Id: 132223 X-Patchwork-Delegate: maxime.coquelin@redhat.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 5A2D642674; Fri, 29 Sep 2023 18:38:08 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 59565402D0; Fri, 29 Sep 2023 18:38:06 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id CDF764003C for ; Fri, 29 Sep 2023 18:38:02 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1696005483; x=1727541483; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=MPLRy4motHR4iD1xSjcudgDaMqZtcQAnOo25+B3EJEw=; b=TvwHyAHticxHQiRdSiOr8IC1rED+RqZdT6J5EuaDWVlPP/+ay7MdyEF3 17L4BrFQmjTVy6hDpsBCAvasETafUv1F+nizo4h6Ct+0sfyYC12+Xal65 dllT4IkGKZuH2Ey6gPbZ5IsFvGg9W/jpy8xyfzIgjLTaL3MT6/bTy3t1P 7tz6i0uj1LDQknpdnz0vL4MvmE9QvDukR1aIhE70fDUuiETqQI1FZoupq rgmz0oNHvvoQqApFIXTNF1UNY4ZxWL8oLqM1LTMKgsTxRAvuCSw7H2YLe poBjDdJCGeC77+1oCllPNvIA6H5K9VRFlv4htN9d8coTJ2Oi++k5PvCSH w==; X-IronPort-AV: E=McAfee;i="6600,9927,10848"; a="362584206" X-IronPort-AV: E=Sophos;i="6.03,187,1694761200"; d="scan'208";a="362584206" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Sep 2023 09:38:01 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10848"; a="753433465" X-IronPort-AV: E=Sophos;i="6.03,187,1694761200"; d="scan'208";a="753433465" Received: from spr-npg-bds1-eec2.sn.intel.com (HELO spr-npg-bds1-eec2..) ([10.233.181.123]) by fmsmga007.fm.intel.com with ESMTP; 29 Sep 2023 09:38:00 -0700 From: Nicolas Chautru To: dev@dpdk.org, maxime.coquelin@redhat.com Cc: hemant.agrawal@nxp.com, david.marchand@redhat.com, hernan.vargas@intel.com, Nicolas Chautru Subject: [PATCH v3 01/12] bbdev: add FFT window width member in driver info Date: Fri, 29 Sep 2023 16:35:05 +0000 Message-Id: <20230929163516.3636499-2-nicolas.chautru@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230929163516.3636499-1-nicolas.chautru@intel.com> References: <20230929163516.3636499-1-nicolas.chautru@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 This exposes the width of each windowing shape being configured on the device. This allows to distinguish different version of the flexible pointwise windowing applied to the FFT and expose this platform configuration to the application. The SRS processing chain (https://doc.dpdk.org/guides/prog_guide/bbdev.html#bbdev-fft-operation) includes a pointwise multiplication by time window whose shape width needs to be exposed, notably for accurate SNR estimate. Using that mechanism user application can retrieve information related to what has been dynamically programmed on any bbdev device supporting FFT windowing operation. Signed-off-by: Nicolas Chautru --- lib/bbdev/rte_bbdev.h | 2 ++ lib/bbdev/rte_bbdev_op.h | 2 ++ 2 files changed, 4 insertions(+) diff --git a/lib/bbdev/rte_bbdev.h b/lib/bbdev/rte_bbdev.h index 2985c9f42b..df691c479f 100644 --- a/lib/bbdev/rte_bbdev.h +++ b/lib/bbdev/rte_bbdev.h @@ -349,6 +349,8 @@ struct rte_bbdev_driver_info { const struct rte_bbdev_op_cap *capabilities; /** Device cpu_flag requirements */ const enum rte_cpu_flag_t *cpu_flag_reqs; + /** FFT width related 2048 FFT for each window. */ + uint16_t fft_window_width[RTE_BBDEV_MAX_FFT_WIN]; }; /** Macro used at end of bbdev PMD list */ diff --git a/lib/bbdev/rte_bbdev_op.h b/lib/bbdev/rte_bbdev_op.h index 693baa8386..9d27226ca6 100644 --- a/lib/bbdev/rte_bbdev_op.h +++ b/lib/bbdev/rte_bbdev_op.h @@ -51,6 +51,8 @@ extern "C" { /* 12 CS maximum */ #define RTE_BBDEV_MAX_CS_2 (6) #define RTE_BBDEV_MAX_CS (12) +/* Up to 16 windows for FFT. */ +#define RTE_BBDEV_MAX_FFT_WIN (16) /* MLD-TS up to 4 layers */ #define RTE_BBDEV_MAX_MLD_LAYERS (4) /* 12 SB per RB */