From: Maxime Coquelin <maxime.coquelin@redhat.com>
To: Hernan Vargas <hernan.vargas@intel.com>,
dev@dpdk.org, gakhil@marvell.com, trix@redhat.com
Cc: nicolas.chautru@intel.com, qi.z.zhang@intel.com
Subject: Re: [PATCH v4 3/4] baseband/fpga_5gnr_fec: add AGX100 support
Date: Mon, 15 Jan 2024 17:59:12 +0100 [thread overview]
Message-ID: <657b42d6-5b34-4a37-b1f4-7bb0d54a0909@redhat.com> (raw)
In-Reply-To: <20240105211519.185086-4-hernan.vargas@intel.com>
On 1/5/24 22:15, Hernan Vargas wrote:
> Add support for new FPGA variant AGX100 (on Arrow Creek N6000).
>
> Signed-off-by: Hernan Vargas <hernan.vargas@intel.com>
> ---
> doc/guides/bbdevs/fpga_5gnr_fec.rst | 76 +-
> drivers/baseband/fpga_5gnr_fec/agx100_pmd.h | 273 ++++
> .../baseband/fpga_5gnr_fec/fpga_5gnr_fec.h | 12 +-
> .../fpga_5gnr_fec/rte_fpga_5gnr_fec.c | 1230 +++++++++++++++--
> drivers/baseband/fpga_5gnr_fec/vc_5gnr_pmd.h | 1 -
> 5 files changed, 1459 insertions(+), 133 deletions(-)
> create mode 100644 drivers/baseband/fpga_5gnr_fec/agx100_pmd.h
>
> diff --git a/doc/guides/bbdevs/fpga_5gnr_fec.rst b/doc/guides/bbdevs/fpga_5gnr_fec.rst
> index 956dd6bed560..1ae192a86b25 100644
> --- a/doc/guides/bbdevs/fpga_5gnr_fec.rst
> +++ b/doc/guides/bbdevs/fpga_5gnr_fec.rst
> @@ -6,12 +6,13 @@ Intel(R) FPGA 5GNR FEC Poll Mode Driver
>
> The BBDEV FPGA 5GNR FEC poll mode driver (PMD) supports an FPGA implementation of a VRAN
> LDPC Encode / Decode 5GNR wireless acceleration function, using Intel's PCI-e and FPGA
> -based Vista Creek device.
> +based Vista Creek (N3000, referred to as VC_5GNR in the code) as well as Arrow Creek (N6000,
> +referred to as AGX100 in the code).
>
> Features
> --------
>
> -FPGA 5GNR FEC PMD supports the following features:
> +FPGA 5GNR FEC PMD supports the following BBDEV capabilities:
>
> - LDPC Encode in the DL
> - LDPC Decode in the UL
> @@ -67,10 +68,18 @@ Initialization
>
> When the device first powers up, its PCI Physical Functions (PF) can be listed through this command:
>
> +Vista Creek (N3000)
> +
> .. code-block:: console
>
> sudo lspci -vd8086:0d8f
>
> +Arrow Creek (N6000)
> +
> +.. code-block:: console
> +
> + sudo lspci -vd8086:5799
> +
> The physical and virtual functions are compatible with Linux UIO drivers:
> ``vfio_pci`` and ``igb_uio``. However, in order to work the FPGA 5GNR FEC device firstly needs
> to be bound to one of these linux drivers through DPDK.
> @@ -78,6 +87,7 @@ to be bound to one of these linux drivers through DPDK.
> For more details on how to bind the PF device and create VF devices, see
> :ref:`linux_gsg_binding_kernel`.
>
> +
> Configure the VFs through PF
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> @@ -100,7 +110,6 @@ parameters defined in ``rte_fpga_5gnr_fec_conf`` structure:
> uint8_t dl_bandwidth;
> uint8_t ul_load_balance;
> uint8_t dl_load_balance;
> - uint16_t flr_time_out;
> };
>
> - ``pf_mode_en``: identifies whether only PF is to be used, or the VFs. PF and
> @@ -111,12 +120,12 @@ parameters defined in ``rte_fpga_5gnr_fec_conf`` structure:
>
> - ``vf_*l_queues_number``: defines the hardware queue mapping for every VF.
>
> -- ``*l_bandwidth``: in case of congestion on PCIe interface. The device
> - allocates different bandwidth to UL and DL. The weight is configured by this
> - setting. The unit of weight is 3 code blocks. For example, if the code block
> - cbps (code block per second) ratio between UL and DL is 12:1, then the
> - configuration value should be set to 36:3. The schedule algorithm is based
> - on code block regardless the length of each block.
> +- ``*l_bandwidth``: Only used for the Vista Creek schedule algorithm in case of
> + congestion on PCIe interface. The device allocates different bandwidth to UL
> + and DL. The weight is configured by this setting. The unit of weight is 3 code
> + blocks. For example, if the code block cbps (code block per second) ratio between
> + UL and DL is 12:1, then the configuration value should be set to 36:3.
> + The schedule algorithm is based on code block regardless the length of each block.
>
> - ``*l_load_balance``: hardware queues are load-balanced in a round-robin
> fashion. Queues get filled first-in first-out until they reach a pre-defined
> @@ -126,10 +135,6 @@ parameters defined in ``rte_fpga_5gnr_fec_conf`` structure:
> If all hardware queues exceeds the watermark, no code blocks will be
> streamed in from UL/DL code block FIFO.
>
> -- ``flr_time_out``: specifies how many 16.384us to be FLR time out. The
> - time_out = flr_time_out x 16.384us. For instance, if you want to set 10ms for
> - the FLR time out then set this setting to 0x262=610.
> -
This change sounds unrelated. It should be in a dedicated patch with
Fixes tag set, as it seems it was already not in fpga_5gnr driver before
this series.
>
> An example configuration code calling the function ``rte_fpga_5gnr_fec_configure()`` is shown
> below:
> @@ -154,7 +159,7 @@ below:
> /* setup FPGA PF */
> ret = rte_fpga_5gnr_fec_configure(info->dev_name, &conf);
> TEST_ASSERT_SUCCESS(ret,
> - "Failed to configure 4G FPGA PF for bbdev %s",
> + "Failed to configure 5GNR FPGA PF for bbdev %s",
Ditto
> info->dev_name);
>
>
next prev parent reply other threads:[~2024-01-15 16:59 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-05 21:15 [PATCH v4 0/4] changes for 24.03 Hernan Vargas
2024-01-05 21:15 ` [PATCH v4 1/4] baseband/fpga_5gnr_fec: renaming for consistency Hernan Vargas
2024-01-05 22:00 ` Stephen Hemminger
2024-01-10 17:19 ` Chautru, Nicolas
2024-01-05 21:15 ` [PATCH v4 2/4] baseband/fpga_5gnr_fec: add Vista Creek variant Hernan Vargas
2024-01-15 10:48 ` Maxime Coquelin
2024-01-05 21:15 ` [PATCH v4 3/4] baseband/fpga_5gnr_fec: add AGX100 support Hernan Vargas
2024-01-15 16:59 ` Maxime Coquelin [this message]
2024-01-05 21:15 ` [PATCH v4 4/4] baseband/fpga_5gnr_fec: cosmetic comment changes Hernan Vargas
2024-01-05 22:00 ` Stephen Hemminger
2024-01-10 17:17 ` Chautru, Nicolas
2024-01-16 13:12 ` 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=657b42d6-5b34-4a37-b1f4-7bb0d54a0909@redhat.com \
--to=maxime.coquelin@redhat.com \
--cc=dev@dpdk.org \
--cc=gakhil@marvell.com \
--cc=hernan.vargas@intel.com \
--cc=nicolas.chautru@intel.com \
--cc=qi.z.zhang@intel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.