DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Chautru, Nicolas" <nicolas.chautru@intel.com>
To: Maxime Coquelin <maxime.coquelin@redhat.com>,
	"dev@dpdk.org" <dev@dpdk.org>
Cc: "Rix, Tom" <trix@redhat.com>,
	"hemant.agrawal@nxp.com" <hemant.agrawal@nxp.com>,
	"david.marchand@redhat.com" <david.marchand@redhat.com>,
	"Vargas, Hernan" <hernan.vargas@intel.com>
Subject: RE: [PATCH v2 2/5] bbdev: add new capabilities for FFT processing
Date: Mon, 18 Sep 2023 20:50:06 +0000	[thread overview]
Message-ID: <BY5PR11MB44518366E6895CF9DD5E705AF8FBA@BY5PR11MB4451.namprd11.prod.outlook.com> (raw)
In-Reply-To: <3bfdc20c-65d1-d2be-94d4-cfd1a7fefeca@redhat.com>

Thanks Maxime. 

> -----Original Message-----
> From: Maxime Coquelin <maxime.coquelin@redhat.com>
> Sent: Monday, September 18, 2023 8:43 AM
> To: Chautru, Nicolas <nicolas.chautru@intel.com>; dev@dpdk.org
> Cc: Rix, Tom <trix@redhat.com>; hemant.agrawal@nxp.com;
> david.marchand@redhat.com; Vargas, Hernan <hernan.vargas@intel.com>
> Subject: Re: [PATCH v2 2/5] bbdev: add new capabilities for FFT processing
> 
> 
> 
> On 9/18/23 17:08, Maxime Coquelin wrote:
> >
> >
> > On 6/15/23 18:48, Nicolas Chautru wrote:
> >> Extending existing FFT operation for new capabilities.
> >> Optional frequency domain dewindowing, frequency resampling, timing
> >> error correction and time offset per CS.
> >>
> >> Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
> >> ---
> >>   doc/guides/prog_guide/bbdev.rst | 24 ++++++++++++++++++++++++
> >>   lib/bbdev/rte_bbdev_op.h        | 23 ++++++++++++++++++++++-
> >>   2 files changed, 46 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/doc/guides/prog_guide/bbdev.rst
> >> b/doc/guides/prog_guide/bbdev.rst index 8e384015ee..95b33562fe
> 100644
> >> --- a/doc/guides/prog_guide/bbdev.rst
> >> +++ b/doc/guides/prog_guide/bbdev.rst
> >> @@ -1111,6 +1111,18 @@ with the operation flags forming a bitmask in
> >> the ``op_flags`` field.
> >>   |RTE_BBDEV_FFT_FP16_OUTPUT
> >> |
> >>   | Set if the output data shall use FP16 format instead of INT16
> >> |
> >>
> >> +--------------------------------------------------------------------
> >> +
> >> +|RTE_BBDEV_FFT_TIMING_OFFSET_PER_CS
> >> +||  Set if device supports adjusting time offset per CS
> >> +||
> >> ++--------------------------------------------------------------------+
> >> +|RTE_BBDEV_FFT_TIMING_ERROR
> >> +||  Set if device supports correcting for timing error
> >> +||
> >> ++--------------------------------------------------------------------+
> >> +|RTE_BBDEV_FFT_DEWINDOWING
> >> +||  Set if enabling the option FFT Dewindowing in Frequency domain
> >> +||
> >> ++--------------------------------------------------------------------+
> >> +|RTE_BBDEV_FFT_FREQ_RESAMPLING
> >> +||  Set if device supports the optional frequency resampling
> >> +||
> >> ++--------------------------------------------------------------------+
> >>   The FFT parameters are set out in the table below.
> >> @@ -1121,6 +1133,8 @@ The FFT parameters are set out in the table
> below.
> >>
> >> +-------------------------+--------------------------------------------------------------+
> >>   |base_output              |output
> >> data                                                   |
> >>
> >> +-------------------------+--------------------------------------------------------------+
> >> +|dewindowing_input        |optional frequency domain dewindowing
> >> input data              |
> >> ++-------------------------+--------------------------------------------------------------+
> >>   |power_meas_output        |optional output data with power
> >> measurement on DFT output     |
> >>
> >> +-------------------------+--------------------------------------------------------------+
> >>   |op_flags                 |bitmask of all active operation
> >> capabilities                  | @@ -1155,6 +1169,16 @@ The FFT
> >> parameters are set out in the table below.
> >>
> >> +-------------------------+--------------------------------------------------------------+
> >>   |fp16_exp_adjust          |value added to FP16 exponent at
> >> conversion from INT16         |
> >>
> >> +-------------------------+--------------------------------------------------------------+
> >> +|freq_resample_mode       |frequency ressampling mode
> >> +|(0:transparent,
> >> 1-2: resample)     |
> >> ++-------------------------+--------------------------------------------------------------+
> >> +| output_depadded_size    |output depadded size prior to frequency
> >> resampling            |
> >> ++-------------------------+--------------------------------------------------------------+
> >> +|cs_theta_0               |timing error correction initial
> >> phase                         |
> >> ++-------------------------+--------------------------------------------------------------+
> >> +|cs_theta_d               |timing error correction phase
> >> increment                       |
> >> ++-------------------------+--------------------------------------------------------------+
> >> +|time_offset              |time offset per CS of time domain
> >> samples                     |
> >> ++-------------------------+--------------------------------------------------------------+
> >>   The mbuf input ``base_input`` is mandatory for all bbdev PMDs and
> >>   is the incoming data for the processing. Its size may not fit into
> >> an actual mbuf, diff --git a/lib/bbdev/rte_bbdev_op.h
> >> b/lib/bbdev/rte_bbdev_op.h index 990d110fa7..682e265327 100644
> >> --- a/lib/bbdev/rte_bbdev_op.h
> >> +++ b/lib/bbdev/rte_bbdev_op.h
> >> @@ -50,6 +50,7 @@ extern "C" {
> >>   #define RTE_BBDEV_LDPC_MAX_CODE_BLOCKS (256)
> >>   /* 12 CS maximum */
> >>   #define RTE_BBDEV_MAX_CS_2 (6)
> >> +#define RTE_BBDEV_MAX_CS   (12)
> >>   /* MLD-TS up to 4 layers */
> >>   #define RTE_BBDEV_MAX_MLD_LAYERS (4)
> >>   /* 12 SB per RB */
> >> @@ -242,7 +243,15 @@ enum rte_bbdev_op_fft_flag_bitmasks {
> >>       /** Set if the input data used FP16 format. */
> >>       RTE_BBDEV_FFT_FP16_INPUT = (1ULL << 6),
> >>       /** Set if the output data uses FP16 format. */
> >> -    RTE_BBDEV_FFT_FP16_OUTPUT = (1ULL << 7)
> >> +    RTE_BBDEV_FFT_FP16_OUTPUT = (1ULL << 7),
> >> +    /** Flexible adjustment of Timing offset adjustment per CS. */
> >> +    RTE_BBDEV_FFT_TIMING_OFFSET_PER_CS = (1ULL << 8),
> >> +    /** Flexible adjustment of Timing error correction per CS. */
> >> +    RTE_BBDEV_FFT_TIMING_ERROR = (1ULL << 9),
> >> +    /** Set for optional frequency domain dewindowing. */
> >> +    RTE_BBDEV_FFT_DEWINDOWING = (1ULL << 10),
> >> +    /** Flexible adjustment of frequency resampling mode. */
> >> +    RTE_BBDEV_FFT_FREQ_RESAMPLING = (1ULL << 11)
> >>   };
> >>   /** Flags for MLDTS operation and capability structure */ @@ -756,6
> >> +765,8 @@ struct rte_bbdev_op_fft {
> >>       struct rte_bbdev_op_data base_input;
> >>       /** Output data starting from first antenna and first cyclic
> >> shift. */
> >>       struct rte_bbdev_op_data base_output;
> >> +    /** Optional frequency window input data. */
> >> +    struct rte_bbdev_op_data dewindowing_input;
> >>       /** Optional power measurement output data. */
> >>       struct rte_bbdev_op_data power_meas_output;
> >>       /** Flags from rte_bbdev_op_fft_flag_bitmasks. */ @@ -790,6
> >> +801,16 @@ struct rte_bbdev_op_fft {
> >>       uint16_t power_shift;
> >>       /** Adjust the FP6 exponent for INT<->FP16 conversion. */
> >>       uint16_t fp16_exp_adjust;
> >> +    /** Frequency resampling : 0: Transparent Mode1: 4/3 Resample2:
> >> 2/3 Resample. */
> >> +    int8_t freq_resample_mode;
> >> +    /** Output depadded size prior to frequency resampling. */
> >> +    uint16_t output_depadded_size;
> >> +    /** Time error correction initial phase. */
> >> +    uint16_t cs_theta_0[RTE_BBDEV_MAX_CS];
> >> +    /** Time error correction phase increment. */
> >> +    uint32_t cs_theta_d[RTE_BBDEV_MAX_CS];
> >> +    /* Time offset per CS of time domain samples. */
> >> +    int8_t time_offset[RTE_BBDEV_MAX_CS];
> >>   };
> >>   /* >8 End of structure rte_bbdev_op_fft. */
> >
> > I think you need to document ABI change in:
> > doc/guides/rel_notes/release_23_11.rst
> 
> Nevermind, I forgot the FFT API was still experimental.
> No need to submit a new revision, I will fix the typos in patch 5.
> 
> Maxime
> 
> > Once done, please add my:
> > Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
> >
> > Maxime
> >
> >


  reply	other threads:[~2023-09-18 20:50 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-15 16:48 [PATCH v2 0/5] bbdev: API extension for 23.11 Nicolas Chautru
2023-06-15 16:48 ` [PATCH v2 1/5] bbdev: add operation type for MLDTS procession Nicolas Chautru
2023-09-18 15:03   ` Maxime Coquelin
2023-06-15 16:48 ` [PATCH v2 2/5] bbdev: add new capabilities for FFT processing Nicolas Chautru
2023-09-18 15:08   ` Maxime Coquelin
2023-09-18 15:42     ` Maxime Coquelin
2023-09-18 20:50       ` Chautru, Nicolas [this message]
2023-06-15 16:48 ` [PATCH v2 3/5] bbdev: add new capability for FEC 5G UL processing Nicolas Chautru
2023-09-18 15:09   ` Maxime Coquelin
2023-06-15 16:49 ` [PATCH v2 4/5] bbdev: improving error handling for queue configuration Nicolas Chautru
2023-09-18 15:20   ` Maxime Coquelin
2023-06-15 16:49 ` [PATCH v2 5/5] devtools: ignore changes into bbdev experimental API Nicolas Chautru
2023-09-06  6:17   ` Hemant Agrawal
2023-09-12 20:32     ` Vargas, Hernan
2023-09-13  9:31       ` Hemant Agrawal
2023-09-18 15:22   ` Maxime Coquelin
2023-07-17 22:28 ` [PATCH v2 0/5] bbdev: API extension for 23.11 Chautru, Nicolas
2023-08-04 16:14   ` Vargas, Hernan
2023-09-05 17:48     ` Chautru, Nicolas
2023-07-18  9:18 ` Hemant Agrawal
2023-09-06  6:20 ` Hemant Agrawal
2023-09-21  7:35 ` Maxime Coquelin

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=BY5PR11MB44518366E6895CF9DD5E705AF8FBA@BY5PR11MB4451.namprd11.prod.outlook.com \
    --to=nicolas.chautru@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=hemant.agrawal@nxp.com \
    --cc=hernan.vargas@intel.com \
    --cc=maxime.coquelin@redhat.com \
    --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).