[01/14] doc/guides/bbdevs: add ark baseband device documentation

Message ID 20221026194613.1008232-1-john.miller@atomicrules.com (mailing list archive)
State Changes Requested, archived
Delegated to: Maxime Coquelin
Headers
Series [01/14] doc/guides/bbdevs: add ark baseband device documentation |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

John Miller Oct. 26, 2022, 7:46 p.m. UTC
  Add new ark baseband device documentation.

This is the first patch in the series that introduces
the Arkville baseband PMD.

First we create a common/ark directory and move common files
from net/ark to share with the new baseband/ark device.

Next we create baseband/ark and introduce the Arkville baseband PMD,
including documentation.

Finally we modify the build system to support the changes.

Signed-off-by: John Miller <john.miller@atomicrules.com>
---
 doc/guides/bbdevs/ark.rst | 52 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)
 create mode 100644 doc/guides/bbdevs/ark.rst
  

Comments

Maxime Coquelin Dec. 15, 2022, 2:18 p.m. UTC | #1
Hi John,

On 10/26/22 21:46, John Miller wrote:
> Add new ark baseband device documentation.
> 
> This is the first patch in the series that introduces
> the Arkville baseband PMD.
> 
> First we create a common/ark directory and move common files
> from net/ark to share with the new baseband/ark device.
> 
> Next we create baseband/ark and introduce the Arkville baseband PMD,
> including documentation.
> 
> Finally we modify the build system to support the changes.
> 

For next revision, please add cover letter. Above information should be
part of it. For this patch, the commit message should mention it is
about the documentation.

> Signed-off-by: John Miller <john.miller@atomicrules.com>
> ---
>   doc/guides/bbdevs/ark.rst | 52 +++++++++++++++++++++++++++++++++++++++
>   1 file changed, 52 insertions(+)
>   create mode 100644 doc/guides/bbdevs/ark.rst
> 
> diff --git a/doc/guides/bbdevs/ark.rst b/doc/guides/bbdevs/ark.rst
> new file mode 100644
> index 0000000000..09afcb0f31
> --- /dev/null
> +++ b/doc/guides/bbdevs/ark.rst
> @@ -0,0 +1,52 @@
> +.. SPDX-License-Identifier: BSD-3-Clause
> +   Copyright (c) 2015-2022 Atomic Rules LLC
> +
> +=============================================
> + Atomic Rules LLC, Baseband Poll Mode Driver
> +=============================================
> +
> +The Atomic Rules, Arkville Baseband poll model driver supports the data

s/model/mode/

> +movement portion of a baseband device implemented within an FPGA.
> +The specifics of the encode or decode functions within the FPGA are
> +outside the scope of Arkville's data movement. Hence this PMD requires and
> +provides for the customization needed to advertise its
> +features and support for out-of-band (or meta data) to accompany packet
> +data between the FPGA device and the host software.
> +
> +
> +==========
> + Features
> +==========
> +
> +* Support for LDPC encode and decode operations.
> +* Support for Turbo encode and decode operations.
> +* Support for scatter/gather.
> +* Support Mbuf data room sizes up to 32K bytes for improved performance.
> +* Support for up to 64 queues
> +* Support for runtime switching of Mbuf size, per queue, for improved perormance.
> +* Support for PCIe Gen3x16, Gen4x16, and Gen5x8 endpoints.
> +
> +
> +=================================
> + Required Customization Functions
> +=================================
> +
> +The following customization functions are required:
> +  * Set the capabilities structure for the device `ark_bbdev_info_get()`
> +  * An optional device start function `rte_pmd_ark_bbdev_start()`
> +  * An optional device stop function `rte_pmd_ark_bbdev_stop()`
> +  * Functions for defining meta data format shared between
> +    the host and FPGA.
> +    `rte_pmd_ark_bbdev_enqueue_ldpc_dec()`,
> +    `rte_pmd_ark_bbdev_dequeue_ldpc_dec()`,
> +    `rte_pmd_ark_bbdev_enqueue_ldpc_enc()`,
> +    `rte_pmd_ark_bbdev_dequeue_ldpc_enc()`.

We tend to avoid driver-specific APIs, as it means applications can no
more be generic.

> +
> +
> +=============
> + Limitations
> +=============
> +
> +* MBufs for the output data from the operation must be sized exactly
> +   to hold the result based on DATAROOM sizes.

Is that enforced by the driver?

> +* Side-band or meta data accompaning packet data is limited to 20 Bytes.

s/accompaning/accompanying/

Thanks,
Maxime
  

Patch

diff --git a/doc/guides/bbdevs/ark.rst b/doc/guides/bbdevs/ark.rst
new file mode 100644
index 0000000000..09afcb0f31
--- /dev/null
+++ b/doc/guides/bbdevs/ark.rst
@@ -0,0 +1,52 @@ 
+.. SPDX-License-Identifier: BSD-3-Clause
+   Copyright (c) 2015-2022 Atomic Rules LLC
+
+=============================================
+ Atomic Rules LLC, Baseband Poll Mode Driver
+=============================================
+
+The Atomic Rules, Arkville Baseband poll model driver supports the data
+movement portion of a baseband device implemented within an FPGA.
+The specifics of the encode or decode functions within the FPGA are
+outside the scope of Arkville's data movement. Hence this PMD requires and
+provides for the customization needed to advertise its
+features and support for out-of-band (or meta data) to accompany packet
+data between the FPGA device and the host software.
+
+
+==========
+ Features
+==========
+
+* Support for LDPC encode and decode operations.
+* Support for Turbo encode and decode operations.
+* Support for scatter/gather.
+* Support Mbuf data room sizes up to 32K bytes for improved performance.
+* Support for up to 64 queues
+* Support for runtime switching of Mbuf size, per queue, for improved perormance.
+* Support for PCIe Gen3x16, Gen4x16, and Gen5x8 endpoints.
+
+
+=================================
+ Required Customization Functions
+=================================
+
+The following customization functions are required:
+  * Set the capabilities structure for the device `ark_bbdev_info_get()`
+  * An optional device start function `rte_pmd_ark_bbdev_start()`
+  * An optional device stop function `rte_pmd_ark_bbdev_stop()`
+  * Functions for defining meta data format shared between
+    the host and FPGA.
+    `rte_pmd_ark_bbdev_enqueue_ldpc_dec()`,
+    `rte_pmd_ark_bbdev_dequeue_ldpc_dec()`,
+    `rte_pmd_ark_bbdev_enqueue_ldpc_enc()`,
+    `rte_pmd_ark_bbdev_dequeue_ldpc_enc()`.
+
+
+=============
+ Limitations
+=============
+
+* MBufs for the output data from the operation must be sized exactly
+   to hold the result based on DATAROOM sizes.
+* Side-band or meta data accompaning packet data is limited to 20 Bytes.