From: Akhil Goyal <gakhil@marvell.com>
To: "Chautru, Nicolas" <nicolas.chautru@intel.com>,
"dev@dpdk.org" <dev@dpdk.org>,
"thomas@monjalon.net" <thomas@monjalon.net>,
"hemant.agrawal@nxp.com" <hemant.agrawal@nxp.com>
Cc: "maxime.coquelin@redhat.com" <maxime.coquelin@redhat.com>,
"trix@redhat.com" <trix@redhat.com>,
"mdr@ashroe.eu" <mdr@ashroe.eu>,
"Richardson, Bruce" <bruce.richardson@intel.com>,
"david.marchand@redhat.com" <david.marchand@redhat.com>,
"stephen@networkplumber.org" <stephen@networkplumber.org>,
"Zhang, Mingshan" <mingshan.zhang@intel.com>
Subject: RE: [EXT] [PATCH v7 5/7] bbdev: add new operation for FFT processing
Date: Thu, 22 Sep 2022 14:19:47 +0000 [thread overview]
Message-ID: <CO6PR18MB44843AC4F05BA3537386AB93D84E9@CO6PR18MB4484.namprd18.prod.outlook.com> (raw)
In-Reply-To: <BY5PR11MB445143D919CE3C9C06C9578BF84F9@BY5PR11MB4451.namprd11.prod.outlook.com>
> Hi Akhil,
>
> > -----Original Message-----
> > From: Akhil Goyal <gakhil@marvell.com>
> >
> > > Extension of bbdev operation to support FFT based operations.
> > >
> > > Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
> > > Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
> > > Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
> > > ---
> > > doc/guides/prog_guide/bbdev.rst | 130
> > > +++++++++++++++++++++++++++++++++++
> > > lib/bbdev/rte_bbdev.c | 10 ++-
> > > lib/bbdev/rte_bbdev.h | 76 ++++++++++++++++++++
> > > lib/bbdev/rte_bbdev_op.h | 149
> > > ++++++++++++++++++++++++++++++++++++++++
> > > lib/bbdev/version.map | 4 ++
> > > 5 files changed, 368 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/doc/guides/prog_guide/bbdev.rst
> > > b/doc/guides/prog_guide/bbdev.rst index 70fa01a..5dcc7b5 100644
> > > --- a/doc/guides/prog_guide/bbdev.rst
> > > +++ b/doc/guides/prog_guide/bbdev.rst
> > > @@ -1118,6 +1118,136 @@ Figure :numref:`figure_turbo_tb_decode`
> > above
> > > showing the Turbo decoding of CBs using BBDEV interface in TB-mode is
> > > also valid for LDPC decode.
> > >
> > > +BBDEV FFT Operation
> > > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > > +
> > > +This operation allows to run a combination of DFT and/or IDFT and/or
> > > +time-
> > > domain windowing.
> > > +These can be used in a modular fashion (using bypass modes) or as a
> > > +processing
> > > pipeline
> > > +which can be used for FFT-based baseband signal processing.
> > > +In more details it allows :
> > > +- to process the data first through an IDFT of adjustable size and
> > > +padding;
> > > +- to perform the windowing as a programmable cyclic shift offset of
> > > +the data
> > > followed by a
> > > +pointwise multiplication by a time domain window;
> > > +- to process the related data through a DFT of adjustable size and
> > > +de-padding
> > > for each such cyclic
> > > +shift output.
> > > +
> > > +A flexible number of Rx antennas are being processed in parallel with
> > > +the same
> > > configuration.
> > > +The API allows more generally for flexibility in what the PMD may
> > > +support
> > > (capability flags) and
> > > +flexibility to adjust some of the parameters of the processing.
> > > +
> > > +The operation/capability flags that can be set for each FFT operation
> > > +are given
> > > below.
> > > +
> > > + **NOTE:** The actual operation flags that may be used with a
> > > + specific BBDEV PMD are dependent on the driver capabilities as
> > > + reported via ``rte_bbdev_info_get()``, and may be a subset of those
> > below.
> > > +
> > > ++--------------------------------------------------------------------+
> > > +|Description of FFT capability flags |
> > >
> > ++============================================================
> > ===
> > > =====+
> > > +|RTE_BBDEV_FFT_WINDOWING |
> > > +| Set to enable/support windowing in time domain |
> > > ++--------------------------------------------------------------------+
> > > +|RTE_BBDEV_FFT_CS_ADJUSTMENT |
> > > +| Set to enable/support the cyclic shift time offset adjustment |
> > > ++--------------------------------------------------------------------+
> > > +|RTE_BBDEV_FFT_DFT_BYPASS |
> > > +| Set to bypass the DFT and use directly the IDFT as an option |
> > > ++--------------------------------------------------------------------+
> > > +|RTE_BBDEV_FFT_IDFT_BYPASS |
> > > +| Set to bypass the IDFT and use directly the DFT as an option |
> > > ++--------------------------------------------------------------------+
> > > +|RTE_BBDEV_FFT_WINDOWING_BYPASS |
> > > +| Set to bypass the time domain windowing as an option |
> > > ++--------------------------------------------------------------------+
> > > +|RTE_BBDEV_FFT_POWER_MEAS |
> > > +| Set to provide an optional power measurement of the DFT output |
> > > ++--------------------------------------------------------------------+
> > > +|RTE_BBDEV_FFT_FP16_INPUT |
> > > +| Set if the input data shall use FP16 format instead of INT16 |
> > > ++--------------------------------------------------------------------+
> > > +|RTE_BBDEV_FFT_FP16_OUTPUT |
> > > +| Set if the output data shall use FP16 format instead of INT16 |
> > > ++--------------------------------------------------------------------+
> > > +
> > > +The structure passed for each FFT operation is given below, with the
> > > +operation flags forming a bitmask in the ``op_flags`` field.
> > > +
> > > +.. code-block:: c
> > > +
> > > + struct rte_bbdev_op_fft {
> > > + struct rte_bbdev_op_data base_input;
> > > + struct rte_bbdev_op_data base_output;
> > > + struct rte_bbdev_op_data power_meas_output;
> > > + uint32_t op_flags;
> > > + uint16_t input_sequence_size;
> > > + uint16_t input_leading_padding;
> > > + uint16_t output_sequence_size;
> > > + uint16_t output_leading_depadding;
> > > + uint8_t window_index[RTE_BBDEV_MAX_CS_2];
> > > + uint16_t cs_bitmap;
> > > + uint8_t num_antennas_log2;
> > > + uint8_t idft_log2;
> > > + uint8_t dft_log2;
> > > + int8_t cs_time_adjustment;
> > > + int8_t idft_shift;
> > > + int8_t dft_shift;
> > > + uint16_t ncs_reciprocal;
> > > + uint16_t power_shift;
> > > + uint16_t fp16_exp_adjust;
> > > + };
> >
> > Why is this codeblock added in this guide? Isn't it covered in the doxygen API
> > doc?
>
> It is but here this detailed in context and with additional details. Note that this is
> the
> exact same format being used for all the other existing operations.
> Are you okay to keep as is?
I would suggest to remove it and others as well. I think we can add more info
In the API guide if needed.
Otherwise it will be difficult to maintain/track in future for any changes that are done in
these structs.
next prev parent reply other threads:[~2022-09-22 14:22 UTC|newest]
Thread overview: 174+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-09 0:22 [PATCH v1 0/2] bbdev: add device info on queue topology Nicolas Chautru
2022-03-09 0:22 ` [PATCH v1 1/2] " Nicolas Chautru
2022-03-09 1:28 ` Stephen Hemminger
2022-03-09 0:22 ` [PATCH v1 2/2] drivers/baseband: update PMDs to expose queue per operation Nicolas Chautru
2022-06-17 18:37 ` [PATCH v2 0/5] bbdev changes for 22.11 Nicolas Chautru
2022-06-17 18:37 ` [PATCH v2 1/5] bbdev: allow operation type enum for growth Nicolas Chautru
2022-06-17 18:37 ` [PATCH v2 2/5] bbdev: add device status info Nicolas Chautru
2022-06-17 18:37 ` [PATCH v2 3/5] bbdev: add device info on queue topology Nicolas Chautru
2022-06-17 18:37 ` [PATCH v2 4/5] drivers/baseband: update PMDs to expose queue per operation Nicolas Chautru
2022-06-17 18:37 ` [PATCH v2 5/5] bbdev: add new operation for FFT processing Nicolas Chautru
2022-06-28 1:35 ` [PATCH v3 0/7] bbdev changes for 22.11 Nicolas Chautru
2022-06-28 1:35 ` [PATCH v3 1/7] bbdev: allow operation type enum for growth Nicolas Chautru
2022-06-28 1:35 ` [PATCH v3 2/7] bbdev: add device status info Nicolas Chautru
2022-06-28 1:35 ` [PATCH v3 3/7] bbdev: add device info on queue topology Nicolas Chautru
2022-06-28 1:35 ` [PATCH v3 4/7] drivers/baseband: update PMDs to expose queue per operation Nicolas Chautru
2022-06-28 1:35 ` [PATCH v3 5/7] bbdev: add new operation for FFT processing Nicolas Chautru
2022-06-28 1:35 ` [PATCH v3 6/7] bbdev: add queue related warning and status information Nicolas Chautru
2022-06-28 1:35 ` [PATCH v3 7/7] bbdev: add a lock option for enqueue/dequeue operation Nicolas Chautru
2022-07-06 0:23 ` [PATCH v4 0/7] bbdev changes for 22.11 Nicolas Chautru
2022-07-06 0:23 ` [PATCH v4 1/7] bbdev: allow operation type enum for growth Nicolas Chautru
2022-07-06 12:50 ` Tom Rix
2022-07-06 21:20 ` Chautru, Nicolas
2022-07-06 0:23 ` [PATCH v4 2/7] bbdev: add device status info Nicolas Chautru
2022-07-06 15:38 ` Tom Rix
2022-07-06 21:16 ` Chautru, Nicolas
2022-07-07 13:37 ` Tom Rix
2022-07-07 17:15 ` Chautru, Nicolas
2022-07-18 13:09 ` Tom Rix
2022-08-25 14:08 ` Maxime Coquelin
2022-07-06 0:23 ` [PATCH v4 3/7] bbdev: add device info on queue topology Nicolas Chautru
2022-07-06 16:06 ` Tom Rix
2022-07-06 21:12 ` Chautru, Nicolas
2022-07-07 13:34 ` Tom Rix
2022-07-07 17:13 ` Chautru, Nicolas
2022-07-18 13:04 ` Tom Rix
2022-07-06 0:23 ` [PATCH v4 4/7] drivers/baseband: update PMDs to expose queue per operation Nicolas Chautru
2022-07-06 16:15 ` Tom Rix
2022-07-06 21:10 ` Chautru, Nicolas
2022-07-07 13:20 ` Tom Rix
2022-07-07 17:19 ` Chautru, Nicolas
2022-07-18 13:21 ` Tom Rix
2022-08-15 17:28 ` Chautru, Nicolas
2022-07-06 0:23 ` [PATCH v4 5/7] bbdev: add new operation for FFT processing Nicolas Chautru
2022-07-06 18:47 ` Tom Rix
2022-07-06 21:04 ` Chautru, Nicolas
2022-07-07 13:09 ` Tom Rix
2022-07-07 16:57 ` Chautru, Nicolas
2022-07-18 22:38 ` Tom Rix
2022-07-06 0:23 ` [PATCH v4 6/7] bbdev: add queue related warning and status information Nicolas Chautru
2022-07-06 18:57 ` Tom Rix
2022-07-06 20:34 ` Chautru, Nicolas
2022-07-06 0:23 ` [PATCH v4 7/7] bbdev: add a lock option for enqueue/dequeue operation Nicolas Chautru
2022-07-06 19:01 ` Tom Rix
2022-07-06 19:20 ` Stephen Hemminger
2022-07-06 20:21 ` Chautru, Nicolas
2022-07-07 12:47 ` Tom Rix
2022-07-06 23:28 ` [PATCH v5 0/7] bbdev changes for 22.11 Nicolas Chautru
2022-07-06 23:28 ` [PATCH v5 1/7] bbdev: allow operation type enum for growth Nicolas Chautru
2022-08-25 13:54 ` Maxime Coquelin
2022-07-06 23:28 ` [PATCH v5 2/7] bbdev: add device status info Nicolas Chautru
2022-08-25 14:18 ` Maxime Coquelin
2022-08-25 18:30 ` Chautru, Nicolas
2022-08-26 10:12 ` Maxime Coquelin
2022-08-29 16:10 ` Chautru, Nicolas
2022-08-30 7:08 ` Maxime Coquelin
2022-08-30 19:38 ` Chautru, Nicolas
2022-07-06 23:28 ` [PATCH v5 3/7] bbdev: add device info on queue topology Nicolas Chautru
2022-08-25 15:23 ` Maxime Coquelin
2022-07-06 23:28 ` [PATCH v5 4/7] drivers/baseband: update PMDs to expose queue per operation Nicolas Chautru
2022-07-06 23:28 ` [PATCH v5 5/7] bbdev: add new operation for FFT processing Nicolas Chautru
2022-07-06 23:28 ` [PATCH v5 6/7] bbdev: add queue related warning and status information Nicolas Chautru
2022-07-06 23:28 ` [PATCH v5 7/7] bbdev: remove unnecessary if-check Nicolas Chautru
2022-08-15 17:54 ` [PATCH v5 0/7] bbdev changes for 22.11 Chautru, Nicolas
2022-08-25 18:24 ` [PATCH v6 " Nicolas Chautru
2022-08-25 18:24 ` [PATCH v6 1/7] bbdev: allow operation type enum for growth Nicolas Chautru
2022-08-25 18:24 ` [PATCH v6 2/7] bbdev: add device status info Nicolas Chautru
2022-08-25 18:24 ` [PATCH v6 3/7] bbdev: add device info on queue topology Nicolas Chautru
2022-08-25 18:24 ` [PATCH v6 4/7] drivers/baseband: update PMDs to expose queue per operation Nicolas Chautru
2022-08-26 11:53 ` Maxime Coquelin
2022-08-25 18:24 ` [PATCH v6 5/7] bbdev: add new operation for FFT processing Nicolas Chautru
2022-08-26 12:07 ` Maxime Coquelin
2022-08-29 18:18 ` Chautru, Nicolas
2022-08-25 18:24 ` [PATCH v6 6/7] bbdev: add queue related warning and status information Nicolas Chautru
2022-08-26 19:51 ` Maxime Coquelin
2022-08-25 18:24 ` [PATCH v6 7/7] bbdev: remove unnecessary if-check Nicolas Chautru
2022-08-26 19:52 ` Maxime Coquelin
2022-08-29 18:07 ` [PATCH v7 0/7] bbdev changes for 22.11 Nicolas Chautru
2022-08-29 18:07 ` [PATCH v7 1/7] bbdev: allow operation type enum for growth Nicolas Chautru
2022-08-29 18:07 ` [PATCH v7 2/7] bbdev: add device status info Nicolas Chautru
2022-08-30 2:19 ` Zhang, Mingshan
2022-08-30 4:43 ` Hemant Agrawal
2022-09-21 18:54 ` [EXT] " Akhil Goyal
2022-09-21 20:53 ` Chautru, Nicolas
2022-08-29 18:07 ` [PATCH v7 3/7] bbdev: add device info on queue topology Nicolas Chautru
2022-08-29 18:07 ` [PATCH v7 4/7] drivers/baseband: update PMDs to expose queue per operation Nicolas Chautru
2022-08-30 4:44 ` Hemant Agrawal
2022-09-21 19:00 ` [EXT] " Akhil Goyal
2022-09-21 20:53 ` Chautru, Nicolas
2022-08-29 18:07 ` [PATCH v7 5/7] bbdev: add new operation for FFT processing Nicolas Chautru
2022-09-21 19:14 ` [EXT] " Akhil Goyal
2022-09-21 20:56 ` Chautru, Nicolas
2022-09-22 14:19 ` Akhil Goyal [this message]
2022-09-22 16:39 ` Chautru, Nicolas
2022-09-22 16:48 ` Akhil Goyal
2022-09-22 17:25 ` Chautru, Nicolas
2022-08-29 18:07 ` [PATCH v7 6/7] bbdev: add queue related warning and status information Nicolas Chautru
2022-09-21 19:21 ` [EXT] " Akhil Goyal
2022-09-21 20:57 ` Chautru, Nicolas
2022-09-23 10:57 ` Ferruh Yigit
[not found] ` <CO6PR18MB44848717BA4EA2FF8967D7CBD8509@CO6PR18MB4484.namprd18.prod.outlook.com>
2022-09-24 16:34 ` Chautru, Nicolas
2022-09-27 9:43 ` Ferruh Yigit
2022-09-27 20:59 ` Chautru, Nicolas
2022-09-29 18:10 ` Ferruh Yigit
2022-09-29 18:32 ` Akhil Goyal
2022-09-29 19:48 ` Chautru, Nicolas
2022-09-30 7:54 ` Maxime Coquelin
2022-08-29 18:07 ` [PATCH v7 7/7] bbdev: remove unnecessary if-check Nicolas Chautru
2022-09-21 19:25 ` [EXT] " Akhil Goyal
2022-09-21 20:58 ` Chautru, Nicolas
2022-08-30 4:45 ` [PATCH v7 0/7] bbdev changes for 22.11 Hemant Agrawal
2022-09-06 16:47 ` Chautru, Nicolas
2022-09-21 21:02 ` [PATCH v8 " Nic Chautru
2022-09-21 21:02 ` [PATCH v8 1/7] bbdev: allow operation type enum for growth Nic Chautru
2022-09-21 21:02 ` [PATCH v8 2/7] bbdev: add device status info Nic Chautru
2022-09-21 21:02 ` [PATCH v8 3/7] bbdev: add device info on queue topology Nic Chautru
2022-09-21 21:02 ` [PATCH v8 4/7] drivers/baseband: update PMDs to expose queue per operation Nic Chautru
2022-09-21 21:02 ` [PATCH v8 5/7] bbdev: add new operation for FFT processing Nic Chautru
2022-09-21 21:02 ` [PATCH v8 6/7] bbdev: add queue related warning and status information Nic Chautru
2022-09-21 21:02 ` [PATCH v8 7/7] bbdev: remove unnecessary if-check Nic Chautru
2022-09-22 17:45 ` [PATCH v9 0/7] bbdev changes for 22.11 Nic Chautru
2022-09-22 17:45 ` [PATCH v9 1/7] bbdev: allow operation type enum for growth Nic Chautru
2022-09-22 17:45 ` [PATCH v9 2/7] bbdev: add device status info Nic Chautru
2022-09-22 17:45 ` [PATCH v9 3/7] bbdev: add device info on queue topology Nic Chautru
2022-09-22 17:45 ` [PATCH v9 4/7] drivers/baseband: update PMDs to expose queue per operation Nic Chautru
2022-09-22 17:45 ` [PATCH v9 5/7] bbdev: add new operation for FFT processing Nic Chautru
2022-09-22 17:45 ` [PATCH v9 6/7] bbdev: add queue related warning and status information Nic Chautru
2022-09-22 17:45 ` [PATCH v9 7/7] bbdev: remove unnecessary if-check Nic Chautru
2022-09-22 18:17 ` [EXT] [PATCH v9 0/7] bbdev changes for 22.11 Akhil Goyal
2022-09-22 20:59 ` Chautru, Nicolas
2022-09-30 18:45 ` [PATCH v10 " Nicolas Chautru
2022-09-30 18:45 ` [PATCH v10 1/7] bbdev: allow operation type enum for growth Nicolas Chautru
2022-09-30 18:46 ` [PATCH v10 2/7] bbdev: add device status info Nicolas Chautru
2022-09-30 18:46 ` [PATCH v10 3/7] bbdev: add device info on queue topology Nicolas Chautru
2022-09-30 18:46 ` [PATCH v10 4/7] drivers/baseband: update PMDs to expose queue per operation Nicolas Chautru
2022-09-30 18:46 ` [PATCH v10 5/7] bbdev: add new operation for FFT processing Nicolas Chautru
2022-09-30 18:46 ` [PATCH v10 6/7] bbdev: add queue related warning and status information Nicolas Chautru
2022-10-03 8:28 ` Thomas Monjalon
2022-10-03 16:39 ` Chautru, Nicolas
2022-10-03 17:21 ` Thomas Monjalon
2022-09-30 18:46 ` [PATCH v10 7/7] bbdev: remove unnecessary if-check Nicolas Chautru
2022-09-30 20:38 ` [EXT] [PATCH v10 0/7] bbdev changes for 22.11 Akhil Goyal
2022-10-03 18:00 ` [PATCH v11 " Nicolas Chautru
2022-10-03 18:00 ` [PATCH v11 1/7] bbdev: allow operation type enum for growth Nicolas Chautru
2022-10-03 18:00 ` [PATCH v11 2/7] bbdev: add device status info Nicolas Chautru
2022-10-03 18:00 ` [PATCH v11 3/7] bbdev: add device info on queue topology Nicolas Chautru
2022-10-03 18:00 ` [PATCH v11 4/7] drivers/baseband: update PMDs to expose queue per operation Nicolas Chautru
2022-10-03 18:00 ` [PATCH v11 5/7] bbdev: add new operation for FFT processing Nicolas Chautru
2022-10-03 18:00 ` [PATCH v11 6/7] bbdev: add queue related warning and status information Nicolas Chautru
2022-10-03 18:00 ` [PATCH v11 7/7] bbdev: remove unnecessary if-check Nicolas Chautru
2022-10-04 17:16 ` [PATCH v12 0/7] bbdev changes for 22.11 Nicolas Chautru
2022-10-04 17:16 ` [PATCH v12 1/7] bbdev: allow operation type enum for growth Nicolas Chautru
2022-10-04 17:16 ` [PATCH v12 2/7] bbdev: add device status info Nicolas Chautru
2022-10-05 7:16 ` Maxime Coquelin
2022-10-04 17:16 ` [PATCH v12 3/7] bbdev: add device info on queue topology Nicolas Chautru
2022-10-04 17:16 ` [PATCH v12 4/7] drivers/baseband: update PMDs to expose queue per operation Nicolas Chautru
2022-10-04 17:16 ` [PATCH v12 5/7] bbdev: add new operation for FFT processing Nicolas Chautru
2022-10-04 17:16 ` [PATCH v12 6/7] bbdev: add queue related warning and status information Nicolas Chautru
2022-10-04 17:16 ` [PATCH v12 7/7] bbdev: remove unnecessary if-check Nicolas Chautru
2022-10-06 17:31 ` [EXT] [PATCH v12 0/7] bbdev changes for 22.11 Akhil Goyal
2022-10-06 22:28 ` Chautru, Nicolas
2022-10-07 4:46 ` Akhil Goyal
2022-10-10 7:35 ` Thomas Monjalon
2022-10-10 17:07 ` Chautru, Nicolas
2022-06-06 16:15 ` [PATCH v1 0/2] bbdev: add device info on queue topology Chautru, Nicolas
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CO6PR18MB44843AC4F05BA3537386AB93D84E9@CO6PR18MB4484.namprd18.prod.outlook.com \
--to=gakhil@marvell.com \
--cc=bruce.richardson@intel.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=hemant.agrawal@nxp.com \
--cc=maxime.coquelin@redhat.com \
--cc=mdr@ashroe.eu \
--cc=mingshan.zhang@intel.com \
--cc=nicolas.chautru@intel.com \
--cc=stephen@networkplumber.org \
--cc=thomas@monjalon.net \
--cc=trix@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).