DPDK patches and discussions
 help / color / mirror / Atom feed
From: Nicolas Chautru <nicolas.chautru@intel.com>
To: dev@dpdk.org, gakhil@marvell.com
Cc: maxime.coquelin@redhat.com, Nicolas Chautru <nicolas.chautru@intel.com>
Subject: [PATCH v1] doc: update to include bbdev snippet using literalinclude
Date: Fri, 30 Sep 2022 18:15:47 -0700	[thread overview]
Message-ID: <20221001011547.49459-1-nicolas.chautru@intel.com> (raw)

Adding code snippet using literalinclude so that to keep
automatically these structures in doc in sync with the
bbdev source code.

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
---
 doc/guides/prog_guide/bbdev.rst | 105 +++++++-------------------------
 lib/bbdev/rte_bbdev_op.h        |  15 +++++
 2 files changed, 38 insertions(+), 82 deletions(-)

diff --git a/doc/guides/prog_guide/bbdev.rst b/doc/guides/prog_guide/bbdev.rst
index 0149a99198..7b95d72524 100644
--- a/doc/guides/prog_guide/bbdev.rst
+++ b/doc/guides/prog_guide/bbdev.rst
@@ -510,20 +510,10 @@ This structure has three elements:
 BBDEV Turbo Encode Operation
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-.. code-block:: c
-
-    struct rte_bbdev_op_turbo_enc {
-        struct rte_bbdev_op_data input;
-        struct rte_bbdev_op_data output;
-
-        uint32_t op_flags;
-        uint8_t rv_index;
-        uint8_t code_block_mode;
-        union {
-            struct rte_bbdev_op_enc_cb_params cb_params;
-            struct rte_bbdev_op_enc_tb_params tb_params;
-        };
-    };
+.. literalinclude:: ../../../lib/bbdev/rte_bbdev_op.h
+   :language: c
+   :start-after: Structure rte_bbdev_op_turbo_enc 8<
+   :end-before: >8 End of structure rte_bbdev_op_turbo_enc.
 
 The Turbo encode structure includes the ``input`` and ``output`` mbuf
 data pointers. The provided mbuf pointer of ``input`` needs to be big
@@ -606,26 +596,10 @@ TB-mode. CB-mode is a reduced version, where only one CB exists:
 BBDEV Turbo Decode Operation
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-.. code-block:: c
-
-    struct rte_bbdev_op_turbo_dec {
-        struct rte_bbdev_op_data input;
-        struct rte_bbdev_op_data hard_output;
-        struct rte_bbdev_op_data soft_output;
-
-        uint32_t op_flags;
-        uint8_t rv_index;
-        uint8_t iter_min:4;
-        uint8_t iter_max:4;
-        uint8_t iter_count;
-        uint8_t ext_scale;
-        uint8_t num_maps;
-        uint8_t code_block_mode;
-        union {
-            struct rte_bbdev_op_dec_cb_params cb_params;
-            struct rte_bbdev_op_dec_tb_params tb_params;
-        };
-    };
+.. literalinclude:: ../../../lib/bbdev/rte_bbdev_op.h
+   :language: c
+   :start-after: Structure rte_bbdev_op_turbo_dec 8<
+   :end-before: >8 End of structure rte_bbdev_op_turbo_dec.
 
 The Turbo decode structure includes the ``input``, ``hard_output`` and
 optionally the ``soft_output`` mbuf data pointers.
@@ -751,26 +725,10 @@ given below.
 The structure passed for each LDPC encode operation is given below,
 with the operation flags forming a bitmask in the ``op_flags`` field.
 
-.. code-block:: c
-
-    struct rte_bbdev_op_ldpc_enc {
-
-        struct rte_bbdev_op_data input;
-        struct rte_bbdev_op_data output;
-
-        uint32_t op_flags;
-        uint8_t rv_index;
-        uint8_t basegraph;
-        uint16_t z_c;
-        uint16_t n_cb;
-        uint8_t q_m;
-        uint16_t n_filler;
-        uint8_t code_block_mode;
-        union {
-            struct rte_bbdev_op_enc_ldpc_cb_params cb_params;
-            struct rte_bbdev_op_enc_ldpc_tb_params tb_params;
-        };
-    };
+.. literalinclude:: ../../../lib/bbdev/rte_bbdev_op.h
+   :language: c
+   :start-after: Structure rte_bbdev_op_ldpc_enc 8<
+   :end-before: >8 End of structure rte_bbdev_op_ldpc_enc.
 
 The LDPC encode parameters are set out in the table below.
 
@@ -949,33 +907,10 @@ given below.
 The structure passed for each LDPC decode operation is given below,
 with the operation flags forming a bitmask in the ``op_flags`` field.
 
-.. code-block:: c
-
-
-    struct rte_bbdev_op_ldpc_dec {
-
-        struct rte_bbdev_op_data input;
-        struct rte_bbdev_op_data hard_output;
-        struct rte_bbdev_op_data soft_output;
-        struct rte_bbdev_op_data harq_combined_input;
-        struct rte_bbdev_op_data harq_combined_output;
-
-        uint32_t op_flags;
-        uint8_t rv_index;
-        uint8_t basegraph;
-        uint16_t z_c;
-        uint16_t n_cb;
-        uint8_t q_m;
-        uint16_t n_filler;
-        uint8_t iter_max;
-        uint8_t iter_count;
-        uint8_t code_block_mode;
-        union {
-            struct rte_bbdev_op_dec_ldpc_cb_params cb_params;
-            struct rte_bbdev_op_dec_ldpc_tb_params tb_params;
-        };
-    };
-
+.. literalinclude:: ../../../lib/bbdev/rte_bbdev_op.h
+   :language: c
+   :start-after: Structure rte_bbdev_op_ldpc_dec 8<
+   :end-before: >8 End of structure rte_bbdev_op_ldpc_dec.
 
 The LDPC decode parameters are set out in the table below.
 
@@ -1135,12 +1070,18 @@ A flexible number of Rx antennas are being processed in parallel with the same c
 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.
+The structure passed for each FFT operation is given below,
+with the operation flags forming a bitmask in the ``op_flags`` field.
 
   **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.
 
+.. literalinclude:: ../../../lib/bbdev/rte_bbdev_op.h
+   :language: c
+   :start-after: Structure rte_bbdev_op_fft 8<
+   :end-before: >8 End of structure rte_bbdev_op_fft.
+
 +--------------------------------------------------------------------+
 |Description of FFT capability flags                                 |
 +====================================================================+
diff --git a/lib/bbdev/rte_bbdev_op.h b/lib/bbdev/rte_bbdev_op.h
index c0940ce085..05fe814ffc 100644
--- a/lib/bbdev/rte_bbdev_op.h
+++ b/lib/bbdev/rte_bbdev_op.h
@@ -402,6 +402,8 @@ struct rte_bbdev_op_dec_ldpc_tb_params {
  * The output mbuf data structure is expected to be allocated by the
  * application with enough room for the output data.
  */
+
+/* Structure rte_bbdev_op_turbo_dec 8< */
 struct rte_bbdev_op_turbo_dec {
 	/** The Virtual Circular Buffer, wk, size 3*Kpi for each CB */
 	struct rte_bbdev_op_data input;
@@ -445,6 +447,7 @@ struct rte_bbdev_op_turbo_dec {
 		struct rte_bbdev_op_dec_turbo_tb_params tb_params;
 	};
 };
+/* >8 End of structure rte_bbdev_op_turbo_dec. */
 
 /** Operation structure for LDPC decode.
  *
@@ -475,6 +478,8 @@ struct rte_bbdev_op_turbo_dec {
  * The output mbuf data structure is expected to be allocated by the
  * application with enough room for the output data.
  */
+
+/* Structure rte_bbdev_op_ldpc_dec 8< */
 struct rte_bbdev_op_ldpc_dec {
 	/** The Virtual Circular Buffer for this code block, one LLR
 	 * per bit of the original CB.
@@ -535,6 +540,7 @@ struct rte_bbdev_op_ldpc_dec {
 		struct rte_bbdev_op_dec_ldpc_tb_params tb_params;
 	};
 };
+/* >8 End of structure rte_bbdev_op_ldpc_dec. */
 
 /** Turbo encode code block parameters */
 struct rte_bbdev_op_enc_turbo_cb_params {
@@ -643,6 +649,8 @@ struct rte_bbdev_op_enc_ldpc_tb_params {
  * The output mbuf data structure is expected to be allocated by the
  * application with enough room for the output data.
  */
+
+/* Structure rte_bbdev_op_turbo_enc 8< */
 struct rte_bbdev_op_turbo_enc {
 	/** The input CB or TB data */
 	struct rte_bbdev_op_data input;
@@ -662,6 +670,7 @@ struct rte_bbdev_op_turbo_enc {
 		struct rte_bbdev_op_enc_turbo_tb_params tb_params;
 	};
 };
+/* >8 End of structure rte_bbdev_op_turbo_enc. */
 
 /** Operation structure for LDPC encode.
  * An operation can be performed on one CB at a time "CB-mode".
@@ -676,6 +685,8 @@ struct rte_bbdev_op_turbo_enc {
  * The output mbuf data structure is expected to be allocated by the
  * application with enough room for the output data.
  */
+
+/* Structure rte_bbdev_op_ldpc_enc 8< */
 struct rte_bbdev_op_ldpc_enc {
 	/** The input TB or CB data */
 	struct rte_bbdev_op_data input;
@@ -716,6 +727,7 @@ struct rte_bbdev_op_ldpc_enc {
 		struct rte_bbdev_op_enc_ldpc_tb_params tb_params;
 	};
 };
+/* >8 End of structure rte_bbdev_op_ldpc_enc. */
 
 /** Operation structure for FFT processing.
  *
@@ -725,6 +737,8 @@ struct rte_bbdev_op_ldpc_enc {
  * The output mbuf data structure is expected to be allocated by the
  * application with enough room for the output data.
  */
+
+/* Structure rte_bbdev_op_fft 8< */
 struct rte_bbdev_op_fft {
 	/** Input data starting from first antenna */
 	struct rte_bbdev_op_data base_input;
@@ -765,6 +779,7 @@ struct rte_bbdev_op_fft {
 	/** Adjust the FP6 exponent for INT<->FP16 conversion */
 	uint16_t fp16_exp_adjust;
 };
+/* >8 End of structure rte_bbdev_op_fft. */
 
 /** List of the capabilities for the Turbo Decoder */
 struct rte_bbdev_op_cap_turbo_dec {
-- 
2.37.1


                 reply	other threads:[~2022-10-01  1:16 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=20221001011547.49459-1-nicolas.chautru@intel.com \
    --to=nicolas.chautru@intel.com \
    --cc=dev@dpdk.org \
    --cc=gakhil@marvell.com \
    --cc=maxime.coquelin@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).