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.mil...@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