xref: /dpdk/doc/guides/tools/testbbdev.rst (revision d793a6f4)
1f714a188SAmr Mokhtar..  SPDX-License-Identifier: BSD-3-Clause
2f714a188SAmr Mokhtar    Copyright(c) 2017 Intel Corporation
3f714a188SAmr Mokhtar
4f714a188SAmr Mokhtardpdk-test-bbdev Application
5f714a188SAmr Mokhtar===========================
6f714a188SAmr Mokhtar
7f714a188SAmr MokhtarThe ``dpdk-test-bbdev`` tool is a Data Plane Development Kit (DPDK) utility that
8f714a188SAmr Mokhtarallows measuring performance parameters of PMDs available in the bbdev framework.
9*d793a6f4SNicolas ChautruAvailable tests available for execution are: latency, throughput, validation,
10*d793a6f4SNicolas Chautrubler and sanity tests. Execution of tests can be customized using various
11*d793a6f4SNicolas Chautruparameters passed to a python running script.
12f714a188SAmr Mokhtar
13f714a188SAmr MokhtarCompiling the Application
14f714a188SAmr Mokhtar-------------------------
15f714a188SAmr Mokhtar
16f714a188SAmr Mokhtar**Step 1: PMD setting**
17f714a188SAmr Mokhtar
18f714a188SAmr MokhtarThe ``dpdk-test-bbdev`` tool depends on crypto device drivers PMD which
19f714a188SAmr Mokhtarare disabled by default in the build configuration file ``common_base``.
20f714a188SAmr MokhtarThe bbdevice drivers PMD which should be tested can be enabled by setting
21f714a188SAmr Mokhtar
22f714a188SAmr Mokhtar   ``CONFIG_RTE_LIBRTE_PMD_<name>=y``
23f714a188SAmr Mokhtar
247ce00bf3SKamil ChalupnikSetting example for (*baseband_turbo_sw*) PMD
25f714a188SAmr Mokhtar
26f714a188SAmr Mokhtar   ``CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW=y``
27f714a188SAmr Mokhtar
28f714a188SAmr Mokhtar**Step 2: Build the application**
29f714a188SAmr Mokhtar
30f714a188SAmr MokhtarExecute the ``dpdk-setup.sh`` script to build the DPDK library together with the
31f714a188SAmr Mokhtar``dpdk-test-bbdev`` application.
32f714a188SAmr Mokhtar
33f714a188SAmr MokhtarInitially, the user must select a DPDK target to choose the correct target type
34f714a188SAmr Mokhtarand compiler options to use when building the libraries.
35f714a188SAmr MokhtarThe user must have all libraries, modules, updates and compilers installed
36f714a188SAmr Mokhtarin the system prior to this, as described in the earlier chapters in this
37f714a188SAmr MokhtarGetting Started Guide.
38f714a188SAmr Mokhtar
39f714a188SAmr MokhtarRunning the Application
40f714a188SAmr Mokhtar-----------------------
41f714a188SAmr Mokhtar
42f714a188SAmr MokhtarThe tool application has a number of command line options:
43f714a188SAmr Mokhtar
44f714a188SAmr Mokhtar.. code-block:: console
45f714a188SAmr Mokhtar
46f714a188SAmr Mokhtar  python test-bbdev.py [-h] [-p TESTAPP_PATH] [-e EAL_PARAMS] [-t TIMEOUT]
47f714a188SAmr Mokhtar                       [-c TEST_CASE [TEST_CASE ...]]
48f714a188SAmr Mokhtar                       [-v TEST_VECTOR [TEST_VECTOR...]] [-n NUM_OPS]
49f714a188SAmr Mokhtar                       [-b BURST_SIZE [BURST_SIZE ...]] [-l NUM_LCORES]
50f41c6e4dSNicolas Chautru                       [-t MAX_ITERS [MAX_ITERS ...]]
51f41c6e4dSNicolas Chautru                       [-s SNR [SNR ...]]
52f714a188SAmr Mokhtar
53f714a188SAmr Mokhtarcommand-line Options
54f714a188SAmr Mokhtar~~~~~~~~~~~~~~~~~~~~
55f714a188SAmr Mokhtar
56f714a188SAmr MokhtarThe following are the command-line options:
57f714a188SAmr Mokhtar
58f714a188SAmr Mokhtar``-h, --help``
59f714a188SAmr Mokhtar Shows help message and exit.
60f714a188SAmr Mokhtar
61f714a188SAmr Mokhtar``-p TESTAPP_PATH, --testapp_path TESTAPP_PATH``
62f714a188SAmr Mokhtar Indicates the path to the bbdev test app. If not specified path is set based
63f714a188SAmr Mokhtar on *$RTE_SDK* environment variable concatenated with "*/build/app/testbbdev*".
64f714a188SAmr Mokhtar
65f714a188SAmr Mokhtar``-e EAL_PARAMS, --eal_params EAL_PARAMS``
66f714a188SAmr Mokhtar Specifies EAL arguments which are passed to the test app. For more details,
6743628b3dSDavid Marchand refer to DPDK documentation at :doc:`../linux_gsg/linux_eal_parameters`.
68f714a188SAmr Mokhtar
69f714a188SAmr Mokhtar``-t TIMEOUT, --timeout TIMEOUT``
70f714a188SAmr Mokhtar Specifies timeout in seconds. If not specified timeout is set to 300 seconds.
71f714a188SAmr Mokhtar
72f714a188SAmr Mokhtar``-c TEST_CASE [TEST_CASE ...], --test_cases TEST_CASE [TEST_CASE ...]``
73f714a188SAmr Mokhtar Defines test cases to run. If not specified all available tests are run.
74f714a188SAmr Mokhtar
75f714a188SAmr Mokhtar **Example usage:**
76f714a188SAmr Mokhtar
77f714a188SAmr Mokhtar ``./test-bbdev.py -c validation``
78f714a188SAmr Mokhtar  Runs validation test suite
79f714a188SAmr Mokhtar
80f714a188SAmr Mokhtar ``./test-bbdev.py -c latency throughput``
81f714a188SAmr Mokhtar  Runs latency and throughput test suites
82f714a188SAmr Mokhtar
83f714a188SAmr Mokhtar``-v TEST_VECTOR [TEST_VECTOR ...], --test_vector TEST_VECTOR [TEST_VECTOR ...]``
84f714a188SAmr Mokhtar Specifies paths to the test vector files. If not specified path is set based
85f714a188SAmr Mokhtar on *$RTE_SDK* environment variable concatenated with
86ae828b8cSKamil Chalupnik "*/app/test-bbdev/test_vectors/bbdev_null.data*" and indicates default
87f714a188SAmr Mokhtar data file.
88f714a188SAmr Mokhtar
89f714a188SAmr Mokhtar **Example usage:**
90f714a188SAmr Mokhtar
91ae828b8cSKamil Chalupnik ``./test-bbdev.py -v app/test-bbdev/test_vectors/turbo_dec_test1.data``
92ae828b8cSKamil Chalupnik  Fills vector based on turbo_dec_test1.data file and runs all tests
93f714a188SAmr Mokhtar
94ae828b8cSKamil Chalupnik ``./test-bbdev.py -v turbo_dec_test1.data turbo_enc_test2.data``
95f714a188SAmr Mokhtar  The bbdev test app is executed twice. First time vector is filled based on
96ae828b8cSKamil Chalupnik  *turbo_dec_test1.data* file and second time based on
97ae828b8cSKamil Chalupnik  *turb_enc_test2.data* file. For both executions all tests are run.
98f714a188SAmr Mokhtar
99f714a188SAmr Mokhtar``-n NUM_OPS, --num_ops NUM_OPS``
100f714a188SAmr Mokhtar Specifies number of operations to process on device. If not specified num_ops
101f714a188SAmr Mokhtar is set to 32 operations.
102f714a188SAmr Mokhtar
103f714a188SAmr Mokhtar``-l NUM_LCORES, --num_lcores NUM_LCORES``
104f714a188SAmr Mokhtar Specifies number of lcores to run. If not specified num_lcores is set
105f714a188SAmr Mokhtar according to value from RTE configuration (EAL coremask)
106f714a188SAmr Mokhtar
107f714a188SAmr Mokhtar``-b BURST_SIZE [BURST_SIZE ...], --burst-size BURST_SIZE [BURST_SIZE ...]``
108f714a188SAmr Mokhtar Specifies operations enqueue/dequeue burst size. If not specified burst_size is
109f714a188SAmr Mokhtar set to 32. Maximum is 512.
110f714a188SAmr Mokhtar
111f41c6e4dSNicolas Chautru``-t MAX_ITERS [MAX_ITERS ...], --iter_max MAX_ITERS [MAX_ITERS ...]``
112f41c6e4dSNicolas Chautru Specifies LDPC decoder operations maximum number of iterations for throughput
113f41c6e4dSNicolas Chautru and bler tests. If not specified iter_max is set to 6.
114f41c6e4dSNicolas Chautru
115f41c6e4dSNicolas Chautru``-s SNR [SNR ...], --snr SNR [SNR ...]``
116f41c6e4dSNicolas Chautru Specifies for LDPC decoder operations the SNR in dB used when generating LLRs
117f41c6e4dSNicolas Chautru for bler tests. If not specified snr is set to 0 dB.
118f41c6e4dSNicolas Chautru
1198723590eSKamil ChalupnikTest Cases
1208723590eSKamil Chalupnik~~~~~~~~~~
121f714a188SAmr Mokhtar
122*d793a6f4SNicolas ChautruThere are 7 main test cases that can be executed using testbbdev tool:
1238723590eSKamil Chalupnik
1248723590eSKamil Chalupnik* Sanity checks [-c unittest]
1258723590eSKamil Chalupnik    - Performs sanity checks on BBDEV interface, validating basic functionality
1268723590eSKamil Chalupnik
1278723590eSKamil Chalupnik* Validation tests [-c validation]
1288723590eSKamil Chalupnik    - Performs full operation of enqueue and dequeue
1298723590eSKamil Chalupnik    - Compares the dequeued data buffer with a expected values in the test
1308723590eSKamil Chalupnik      vector (TV) being used
1318723590eSKamil Chalupnik    - Fails if any dequeued value does not match the data in the TV
1328723590eSKamil Chalupnik
1338723590eSKamil Chalupnik* Offload Cost measurement [-c offload]
1348723590eSKamil Chalupnik    - Measures the CPU cycles consumed from the receipt of a user enqueue
1358723590eSKamil Chalupnik      until it is put on the device queue
1368723590eSKamil Chalupnik    - The test measures 4 metrics
1378723590eSKamil Chalupnik        (a) *SW Enq Offload Cost*: Software only enqueue offload cost, the cycle
1388723590eSKamil Chalupnik            counts and time (us) from the point the enqueue API is called until
1398723590eSKamil Chalupnik            the point the operation is put on the accelerator queue.
1408723590eSKamil Chalupnik        (b) *Acc Enq Offload Cost*: The cycle count and time (us) from the
1418723590eSKamil Chalupnik            point the operation is put on the accelerator queue until the return
1428723590eSKamil Chalupnik            from enqueue.
1438723590eSKamil Chalupnik        (c) *SW Deq Offload Cost*: Software dequeue cost, the cycle counts and
1448723590eSKamil Chalupnik            time (us) consumed to dequeue one operation.
1458723590eSKamil Chalupnik        (d) *Empty Queue Enq Offload Cost*: The cycle count and time (us)
1468723590eSKamil Chalupnik            consumed to dequeue from an empty queue.
1478723590eSKamil Chalupnik
1488723590eSKamil Chalupnik* Latency measurement [-c latency]
1498723590eSKamil Chalupnik    - Measures the time consumed from the first enqueue until the first
1508723590eSKamil Chalupnik      appearance of a dequeued result
151d629b7b5SJohn McNamara    - This measurement represents the full latency of a bbdev operation
1528723590eSKamil Chalupnik      (encode or decode) to execute
1538723590eSKamil Chalupnik
1548723590eSKamil Chalupnik* Poll-mode Throughput measurement [-c throughput]
1558723590eSKamil Chalupnik    - Performs full operation of enqueue and dequeue
1568723590eSKamil Chalupnik    - Executes in poll mode
1578723590eSKamil Chalupnik    - Measures the achieved throughput on a subset or all available CPU cores
1588723590eSKamil Chalupnik    - Dequeued data is not validated against expected values stored in TV
1598723590eSKamil Chalupnik    - Results are printed in million operations per second and million bits
1608723590eSKamil Chalupnik      per second
1618723590eSKamil Chalupnik
162f41c6e4dSNicolas Chautru* BLER measurement [-c bler]
163f41c6e4dSNicolas Chautru    - Performs full operation of enqueue and dequeue
164f41c6e4dSNicolas Chautru    - Measures the achieved throughput on a subset or all available CPU cores
165f41c6e4dSNicolas Chautru    - Computed BLER (Block Error Rate, ratio of blocks not decoded at a given
166f41c6e4dSNicolas Chautru      SNR) in % based on the total number of operations.
167f41c6e4dSNicolas Chautru
1688723590eSKamil Chalupnik* Interrupt-mode Throughput [-c interrupt]
1698723590eSKamil Chalupnik    - Similar to Throughput test case, but using interrupts. No polling.
1708723590eSKamil Chalupnik
1718723590eSKamil Chalupnik
1728723590eSKamil ChalupnikParameter Globbing
173f714a188SAmr Mokhtar~~~~~~~~~~~~~~~~~~
174f714a188SAmr Mokhtar
175f714a188SAmr MokhtarThanks to the globbing functionality in python test-bbdev.py script allows to
176f714a188SAmr Mokhtarrun tests with different set of vector files without giving all of them explicitly.
177f714a188SAmr Mokhtar
178*d793a6f4SNicolas Chautru**Example usage for 4G:**
179f714a188SAmr Mokhtar
180f714a188SAmr Mokhtar.. code-block:: console
181f714a188SAmr Mokhtar
182ae828b8cSKamil Chalupnik  ./test-bbdev.py -v app/test-bbdev/test_vectors/turbo_<enc/dec>_c<c>_k<k>_r<r>_e<e>_<extra-info>.data
183f714a188SAmr Mokhtar
184f714a188SAmr MokhtarIt runs all tests with following vectors:
185f714a188SAmr Mokhtar
186ae828b8cSKamil Chalupnik- ``bbdev_null.data``
187f714a188SAmr Mokhtar
18843b767f6SKamil Chalupnik- ``turbo_dec_c1_k6144_r0_e34560_sbd_negllr.data``
18947d5a049SKamil Chalupnik
19047d5a049SKamil Chalupnik- ``turbo_enc_c1_k40_r0_e1196_rm.data``
19147d5a049SKamil Chalupnik
19243b767f6SKamil Chalupnik- ``turbo_enc_c2_k5952_r0_e17868_crc24b.data``
19343b767f6SKamil Chalupnik
19443b767f6SKamil Chalupnik- ``turbo_dec_c1_k40_r0_e17280_sbd_negllr.data``
19543b767f6SKamil Chalupnik
19643b767f6SKamil Chalupnik- ``turbo_dec_c1_k6144_r0_e34560_sbd_posllr.data``
19743b767f6SKamil Chalupnik
19847d5a049SKamil Chalupnik- ``turbo_enc_c1_k40_r0_e272_rm.data``
199f714a188SAmr Mokhtar
20043b767f6SKamil Chalupnik- ``turbo_enc_c3_k4800_r2_e14412_crc24b.data``
20143b767f6SKamil Chalupnik
20243b767f6SKamil Chalupnik- ``turbo_dec_c1_k6144_r0_e10376_crc24b_sbd_negllr_high_snr.data``
20343b767f6SKamil Chalupnik
20443b767f6SKamil Chalupnik- ``turbo_dec_c2_k3136_r0_e4920_sbd_negllr_crc24b.data``
20543b767f6SKamil Chalupnik
20643b767f6SKamil Chalupnik- ``turbo_enc_c1_k6144_r0_e120_rm_rvidx.data``
20743b767f6SKamil Chalupnik
20843b767f6SKamil Chalupnik- ``turbo_enc_c4_k4800_r2_e14412_crc24b.data``
20943b767f6SKamil Chalupnik
21043b767f6SKamil Chalupnik- ``turbo_dec_c1_k6144_r0_e10376_crc24b_sbd_negllr_low_snr.data``
21143b767f6SKamil Chalupnik
21243b767f6SKamil Chalupnik- ``turbo_dec_c2_k3136_r0_e4920_sbd_negllr.data``
21343b767f6SKamil Chalupnik
21443b767f6SKamil Chalupnik- ``turbo_enc_c1_k6144_r0_e18444.data``
21543b767f6SKamil Chalupnik
21643b767f6SKamil Chalupnik- ``turbo_dec_c1_k6144_r0_e34560_negllr.data``
21743b767f6SKamil Chalupnik
21843b767f6SKamil Chalupnik- ``turbo_enc_c1_k40_r0_e1190_rm.data``
21943b767f6SKamil Chalupnik
22043b767f6SKamil Chalupnik- ``turbo_enc_c1_k6144_r0_e18448_crc24a.data``
22143b767f6SKamil Chalupnik
22243b767f6SKamil Chalupnik- ``turbo_dec_c1_k6144_r0_e34560_posllr.data``
22343b767f6SKamil Chalupnik
22443b767f6SKamil Chalupnik- ``turbo_enc_c1_k40_r0_e1194_rm.data``
22543b767f6SKamil Chalupnik
226ae828b8cSKamil Chalupnik- ``turbo_enc_c1_k6144_r0_e32256_crc24b_rm.data``
227ae828b8cSKamil Chalupnik
228f714a188SAmr Mokhtar.. code-block:: console
229f714a188SAmr Mokhtar
230ae828b8cSKamil Chalupnik  ./test-bbdev.py -v app/test-bbdev/turbo_*_default.data
231f714a188SAmr Mokhtar
232ae828b8cSKamil ChalupnikIt runs all tests with "default" vectors.
233f714a188SAmr Mokhtar
234ae828b8cSKamil Chalupnik* ``turbo_dec_default.data`` is a soft link to
235ae828b8cSKamil Chalupnik  ``turbo_dec_c1_k6144_r0_e10376_crc24b_sbd_negllr_high_snr.data``
236f714a188SAmr Mokhtar
237ae828b8cSKamil Chalupnik* ``turbo_enc_default.data`` is a soft link to
238ae828b8cSKamil Chalupnik  ``turbo_enc_c1_k6144_r0_e32256_crc24b_rm.data``
239f714a188SAmr Mokhtar
240*d793a6f4SNicolas Chautru* ``ldpc_dec_default.data`` is a soft link to
241*d793a6f4SNicolas Chautru  ``ldpc_dec_v6563.data``
242*d793a6f4SNicolas Chautru
243*d793a6f4SNicolas Chautru* ``ldpc_enc_default.data`` is a soft link to
244*d793a6f4SNicolas Chautru  ``ldpc_enc_c1_k8148_r0_e9372_rm.data``
245f714a188SAmr Mokhtar
246f714a188SAmr MokhtarRunning Tests
247f714a188SAmr Mokhtar-------------
248f714a188SAmr Mokhtar
249*d793a6f4SNicolas ChautruAll default reference test-vectors are stored in the test_vector
250*d793a6f4SNicolas Chautrudirectory below.
251*d793a6f4SNicolas ChautruThe prefix trivially defines which type of operation is included :
252*d793a6f4SNicolas Chautruturbo_enc, turbo_dec, ldpc_enc, ldpc_dec.
253*d793a6f4SNicolas ChautruThe details of the configuration are captured in the file but some
254*d793a6f4SNicolas Chautruvector name refer more explicitly processing specificity such as
255*d793a6f4SNicolas Chautru'HARQ' when HARQ retransmission is used, 'loopback' when the data
256*d793a6f4SNicolas Chautruis purely read/written for external DDR, lbrm when limited buffer
257*d793a6f4SNicolas Chautrurate matching is expected, or crc_fail when a CRC failure is expected.
258*d793a6f4SNicolas ChautruThey are chosen to have a good coverage across sizes and processing
259*d793a6f4SNicolas Chautruparameters while still keeping their number limited as part of sanity
260*d793a6f4SNicolas Chautruregression.
261*d793a6f4SNicolas Chautru
262f714a188SAmr MokhtarShortened tree of isg_cid-wireless_dpdk_ae with dpdk compiled for
263218c4e68SBruce Richardsonx86_64-native-linux-icc target:
264f714a188SAmr Mokhtar
265f714a188SAmr Mokhtar::
266f714a188SAmr Mokhtar
267f714a188SAmr Mokhtar |-- app
268f714a188SAmr Mokhtar     |-- test-bbdev
269f714a188SAmr Mokhtar         |-- test_vectors
270f714a188SAmr Mokhtar
271218c4e68SBruce Richardson |-- x86_64-native-linux-icc
272f714a188SAmr Mokhtar     |-- app
273f714a188SAmr Mokhtar         |-- testbbdev
274f714a188SAmr Mokhtar
275f714a188SAmr MokhtarAll bbdev devices
276f714a188SAmr Mokhtar~~~~~~~~~~~~~~~~~
277f714a188SAmr Mokhtar
278f714a188SAmr Mokhtar.. code-block:: console
279f714a188SAmr Mokhtar
280218c4e68SBruce Richardson  ./test-bbdev.py -p ../../x86_64-native-linux-icc/app/testbbdev
281ae828b8cSKamil Chalupnik  -v turbo_dec_default.data
282f714a188SAmr Mokhtar
283f714a188SAmr MokhtarIt runs all available tests using the test vector filled based on
284ae828b8cSKamil Chalupnik*turbo_dec_default.data* file.
285f714a188SAmr MokhtarBy default number of operations to process on device is set to 32, timeout is
286f714a188SAmr Mokhtarset to 300s and operations enqueue/dequeue burst size is set to 32.
2877ce00bf3SKamil ChalupnikMoreover a bbdev (*baseband_null*) device will be created.
288f714a188SAmr Mokhtar
2897ce00bf3SKamil Chalupnikbaseband turbo_sw device
2907ce00bf3SKamil Chalupnik~~~~~~~~~~~~~~~~~~~~~~~~
291f714a188SAmr Mokhtar
292f714a188SAmr Mokhtar.. code-block:: console
293f714a188SAmr Mokhtar
294218c4e68SBruce Richardson  ./test-bbdev.py -p ../../x86_64-native-linux-icc/app/testbbdev
2957ce00bf3SKamil Chalupnik  -e="--vdev=baseband_turbo_sw" -t 120 -c validation
296*d793a6f4SNicolas Chautru  -v ./test_vectors/* -n 64 -b 8 32
297f714a188SAmr Mokhtar
298f714a188SAmr MokhtarIt runs **validation** test for each vector file that matches the given pattern.
299f714a188SAmr MokhtarNumber of operations to process on device is set to 64 and operations timeout is
300f714a188SAmr Mokhtarset to 120s and enqueue/dequeue burst size is set to 8 and to 32.
3017ce00bf3SKamil ChalupnikMoreover a bbdev (*baseband_turbo_sw*) device will be created.
302f714a188SAmr Mokhtar
303f714a188SAmr Mokhtar
304f714a188SAmr Mokhtarbbdev null device
305f714a188SAmr Mokhtar~~~~~~~~~~~~~~~~~
306f714a188SAmr Mokhtar
307ae828b8cSKamil ChalupnikExecuting bbdev null device with *bbdev_null.data* helps in measuring the
308f714a188SAmr Mokhtaroverhead introduced by the bbdev framework.
309f714a188SAmr Mokhtar
310f714a188SAmr Mokhtar.. code-block:: console
311f714a188SAmr Mokhtar
3127ce00bf3SKamil Chalupnik  ./test-bbdev.py -e="--vdev=baseband_null0"
313ae828b8cSKamil Chalupnik  -v ./test_vectors/bbdev_null.data
314f714a188SAmr Mokhtar
315f714a188SAmr Mokhtar**Note:**
316f714a188SAmr Mokhtar
3177ce00bf3SKamil Chalupnikbaseband_null device does not have to be defined explicitly as it is created by default.
318f714a188SAmr Mokhtar
319f714a188SAmr Mokhtar
320f714a188SAmr Mokhtar
321f714a188SAmr MokhtarTest Vector files
322c5e2e085SThomas Monjalon-----------------
323f714a188SAmr Mokhtar
324f714a188SAmr MokhtarTest Vector files contain the data which is used to set turbo decoder/encoder
325f714a188SAmr Mokhtarparameters and buffers for validation purpose. New test vector files should be
326f714a188SAmr Mokhtarstored in ``app/test-bbdev/test_vectors/`` directory. Detailed description of
327f714a188SAmr Mokhtarthe syntax of the test vector files is in the following section.
328f714a188SAmr Mokhtar
329f714a188SAmr Mokhtar
330f714a188SAmr MokhtarBasic principles for test vector files
331c5e2e085SThomas Monjalon~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
332f714a188SAmr MokhtarLine started with ``#`` is treated as a comment and is ignored.
333f714a188SAmr Mokhtar
334f714a188SAmr MokhtarIf variable is a chain of values, values should be separated by a comma. If
335f714a188SAmr Mokhtarassignment is split into several lines, each line (except the last one) has to
336f714a188SAmr Mokhtarbe ended with a comma.
337f714a188SAmr MokhtarThere is no comma after last value in last line. Correct assignment should
338f714a188SAmr Mokhtarlook like the following:
339f714a188SAmr Mokhtar
340f714a188SAmr Mokhtar.. parsed-literal::
341f714a188SAmr Mokhtar
342f714a188SAmr Mokhtar variable =
343f714a188SAmr Mokhtar value, value, value, value,
344f714a188SAmr Mokhtar value, value
345f714a188SAmr Mokhtar
346f714a188SAmr MokhtarIn case where variable is a single value correct assignment looks like the
347f714a188SAmr Mokhtarfollowing:
348f714a188SAmr Mokhtar
349f714a188SAmr Mokhtar.. parsed-literal::
350f714a188SAmr Mokhtar
351f714a188SAmr Mokhtar variable =
352f714a188SAmr Mokhtar value
353f714a188SAmr Mokhtar
354f714a188SAmr MokhtarLength of chain variable is calculated by parser. Can not be defined
355f714a188SAmr Mokhtarexplicitly.
356f714a188SAmr Mokhtar
357f714a188SAmr MokhtarVariable op_type has to be defined as a first variable in file. It specifies
358*d793a6f4SNicolas Chautruwhat type of operations will be executed. For 4G decoder op_type has to be set to
359*d793a6f4SNicolas Chautru``RTE_BBDEV_OP_TURBO_DEC`` and for 4G encoder to ``RTE_BBDEV_OP_TURBO_ENC``.
360f714a188SAmr Mokhtar
361f714a188SAmr MokhtarFull details of the meaning and valid values for the below fields are
362f714a188SAmr Mokhtardocumented in *rte_bbdev_op.h*
363f714a188SAmr Mokhtar
364f714a188SAmr Mokhtar
365f714a188SAmr MokhtarTurbo decoder test vectors template
366c5e2e085SThomas Monjalon~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
367f714a188SAmr Mokhtar
368f714a188SAmr MokhtarFor turbo decoder it has to be always set to ``RTE_BBDEV_OP_TURBO_DEC``
369f714a188SAmr Mokhtar
370f714a188SAmr Mokhtar.. parsed-literal::
371f714a188SAmr Mokhtar
372f714a188SAmr Mokhtar    op_type =
373f714a188SAmr Mokhtar    RTE_BBDEV_OP_TURBO_DEC
374f714a188SAmr Mokhtar
375f714a188SAmr MokhtarChain of uint32_t values. Note that it is possible to define more than one
376f714a188SAmr Mokhtarinput/output entries which will result in chaining two or more data structures
377f714a188SAmr Mokhtarfor *segmented Transport Blocks*
378f714a188SAmr Mokhtar
379f714a188SAmr Mokhtar.. parsed-literal::
380f714a188SAmr Mokhtar
381f714a188SAmr Mokhtar    input0 =
382f714a188SAmr Mokhtar    0x00000000, 0x7f817f00, 0x7f7f8100, 0x817f8100, 0x81008100, 0x7f818100, 0x81817f00, 0x7f818100,
383f714a188SAmr Mokhtar    0x81007f00, 0x7f818100, 0x817f8100, 0x81817f00, 0x81008100, 0x817f7f00, 0x7f7f8100, 0x81817f00
384f714a188SAmr Mokhtar
385f714a188SAmr MokhtarChain of uint32_t values
386f714a188SAmr Mokhtar
387f714a188SAmr Mokhtar.. parsed-literal::
388f714a188SAmr Mokhtar
389f714a188SAmr Mokhtar    input1 =
390f714a188SAmr Mokhtar    0x7f7f0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
391f714a188SAmr Mokhtar    0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
392f714a188SAmr Mokhtar
393f714a188SAmr MokhtarChain of uint32_t values
394f714a188SAmr Mokhtar
395f714a188SAmr Mokhtar.. parsed-literal::
396f714a188SAmr Mokhtar
397f714a188SAmr Mokhtar    input2 =
398f714a188SAmr Mokhtar    0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
399f714a188SAmr Mokhtar    0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
400f714a188SAmr Mokhtar
401f714a188SAmr MokhtarChain of uint32_t values
402f714a188SAmr Mokhtar
403f714a188SAmr Mokhtar.. parsed-literal::
404f714a188SAmr Mokhtar
405f714a188SAmr Mokhtar    hard_output0 =
406f714a188SAmr Mokhtar    0xa7d6732e
407f714a188SAmr Mokhtar
408f714a188SAmr MokhtarChain of uint32_t values
409f714a188SAmr Mokhtar
410f714a188SAmr Mokhtar.. parsed-literal::
411f714a188SAmr Mokhtar
412f714a188SAmr Mokhtar    hard_output1 =
413f714a188SAmr Mokhtar    0xa61
414f714a188SAmr Mokhtar
415f714a188SAmr MokhtarChain of uint32_t values
416f714a188SAmr Mokhtar
417f714a188SAmr Mokhtar.. parsed-literal::
418f714a188SAmr Mokhtar
419f714a188SAmr Mokhtar    soft_output0 =
420f714a188SAmr Mokhtar    0x817f817f, 0x7f817f7f, 0x81818181, 0x817f7f81, 0x7f818181, 0x8181817f, 0x817f817f, 0x8181817f
421f714a188SAmr Mokhtar
422f714a188SAmr MokhtarChain of uint32_t values
423f714a188SAmr Mokhtar
424f714a188SAmr Mokhtar.. parsed-literal::
425f714a188SAmr Mokhtar
426f714a188SAmr Mokhtar    soft_output1 =
427f714a188SAmr Mokhtar    0x817f7f81, 0x7f7f7f81, 0x7f7f8181
428f714a188SAmr Mokhtar
429f714a188SAmr Mokhtaruint32_t value
430f714a188SAmr Mokhtar
431f714a188SAmr Mokhtar.. parsed-literal::
432f714a188SAmr Mokhtar
433f714a188SAmr Mokhtar    e =
434f714a188SAmr Mokhtar    44
435f714a188SAmr Mokhtar
436f714a188SAmr Mokhtaruint16_t value
437f714a188SAmr Mokhtar
438f714a188SAmr Mokhtar.. parsed-literal::
439f714a188SAmr Mokhtar
440f714a188SAmr Mokhtar    k =
441f714a188SAmr Mokhtar    40
442f714a188SAmr Mokhtar
443f714a188SAmr Mokhtaruint8_t value
444f714a188SAmr Mokhtar
445f714a188SAmr Mokhtar.. parsed-literal::
446f714a188SAmr Mokhtar
447f714a188SAmr Mokhtar    rv_index =
448f714a188SAmr Mokhtar    0
449f714a188SAmr Mokhtar
450f714a188SAmr Mokhtaruint8_t value
451f714a188SAmr Mokhtar
452f714a188SAmr Mokhtar.. parsed-literal::
453f714a188SAmr Mokhtar
454f714a188SAmr Mokhtar    iter_max =
455f714a188SAmr Mokhtar    8
456f714a188SAmr Mokhtar
457f714a188SAmr Mokhtaruint8_t value
458f714a188SAmr Mokhtar
459f714a188SAmr Mokhtar.. parsed-literal::
460f714a188SAmr Mokhtar
461f714a188SAmr Mokhtar    iter_min =
462f714a188SAmr Mokhtar    4
463f714a188SAmr Mokhtar
464f714a188SAmr Mokhtaruint8_t value
465f714a188SAmr Mokhtar
466f714a188SAmr Mokhtar.. parsed-literal::
467f714a188SAmr Mokhtar
468f714a188SAmr Mokhtar    expected_iter_count =
469f714a188SAmr Mokhtar    8
470f714a188SAmr Mokhtar
471f714a188SAmr Mokhtaruint8_t value
472f714a188SAmr Mokhtar
473f714a188SAmr Mokhtar.. parsed-literal::
474f714a188SAmr Mokhtar
475f714a188SAmr Mokhtar    ext_scale =
476f714a188SAmr Mokhtar    15
477f714a188SAmr Mokhtar
478f714a188SAmr Mokhtaruint8_t value
479f714a188SAmr Mokhtar
480f714a188SAmr Mokhtar.. parsed-literal::
481f714a188SAmr Mokhtar
482f714a188SAmr Mokhtar    num_maps =
483f714a188SAmr Mokhtar    0
484f714a188SAmr Mokhtar
485*d793a6f4SNicolas ChautruChain of flags for LDPC decoder operation based on the rte_bbdev_op_td_flag_bitmasks:
486f714a188SAmr Mokhtar
487f714a188SAmr MokhtarExample:
488f714a188SAmr Mokhtar
489f714a188SAmr Mokhtar    .. parsed-literal::
490f714a188SAmr Mokhtar
491f714a188SAmr Mokhtar        op_flags =
492f714a188SAmr Mokhtar        RTE_BBDEV_TURBO_SUBBLOCK_DEINTERLEAVE, RTE_BBDEV_TURBO_EQUALIZER,
493f714a188SAmr Mokhtar        RTE_BBDEV_TURBO_SOFT_OUTPUT
494f714a188SAmr Mokhtar
495f714a188SAmr MokhtarChain of operation statuses that are expected after operation is performed.
496f714a188SAmr MokhtarFollowing statuses can be used:
497f714a188SAmr Mokhtar
498f714a188SAmr Mokhtar- ``DMA``
499f714a188SAmr Mokhtar
500f714a188SAmr Mokhtar- ``FCW``
501f714a188SAmr Mokhtar
502f714a188SAmr Mokhtar- ``CRC``
503f714a188SAmr Mokhtar
504f714a188SAmr Mokhtar- ``OK``
505f714a188SAmr Mokhtar
506f714a188SAmr Mokhtar``OK`` means no errors are expected. Cannot be used with other values.
507f714a188SAmr Mokhtar
508f714a188SAmr Mokhtar.. parsed-literal::
509f714a188SAmr Mokhtar
510f714a188SAmr Mokhtar    expected_status =
511f714a188SAmr Mokhtar    FCW, CRC
512f714a188SAmr Mokhtar
513f714a188SAmr Mokhtar
514f714a188SAmr MokhtarTurbo encoder test vectors template
515c5e2e085SThomas Monjalon~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
516f714a188SAmr Mokhtar
517f714a188SAmr MokhtarFor turbo encoder it has to be always set to ``RTE_BBDEV_OP_TURBO_ENC``
518f714a188SAmr Mokhtar
519f714a188SAmr Mokhtar.. parsed-literal::
520f714a188SAmr Mokhtar
521f714a188SAmr Mokhtar    op_type =
522f714a188SAmr Mokhtar    RTE_BBDEV_OP_TURBO_ENC
523f714a188SAmr Mokhtar
524f714a188SAmr MokhtarChain of uint32_t values
525f714a188SAmr Mokhtar
526f714a188SAmr Mokhtar.. parsed-literal::
527f714a188SAmr Mokhtar
528f714a188SAmr Mokhtar    input0 =
529f714a188SAmr Mokhtar    0x11d2bcac, 0x4d
530f714a188SAmr Mokhtar
531f714a188SAmr MokhtarChain of uint32_t values
532f714a188SAmr Mokhtar
533f714a188SAmr Mokhtar.. parsed-literal::
534f714a188SAmr Mokhtar
535f714a188SAmr Mokhtar    output0 =
536f714a188SAmr Mokhtar    0xd2399179, 0x640eb999, 0x2cbaf577, 0xaf224ae2, 0x9d139927, 0xe6909b29,
537f714a188SAmr Mokhtar    0xa25b7f47, 0x2aa224ce, 0x79f2
538f714a188SAmr Mokhtar
539f714a188SAmr Mokhtaruint32_t value
540f714a188SAmr Mokhtar
541f714a188SAmr Mokhtar.. parsed-literal::
542f714a188SAmr Mokhtar
543f714a188SAmr Mokhtar    e =
544f714a188SAmr Mokhtar    272
545f714a188SAmr Mokhtar
546f714a188SAmr Mokhtaruint16_t value
547f714a188SAmr Mokhtar
548f714a188SAmr Mokhtar.. parsed-literal::
549f714a188SAmr Mokhtar
550f714a188SAmr Mokhtar    k =
551f714a188SAmr Mokhtar    40
552f714a188SAmr Mokhtar
553f714a188SAmr Mokhtaruint16_t value
554f714a188SAmr Mokhtar
555f714a188SAmr Mokhtar.. parsed-literal::
556f714a188SAmr Mokhtar
557f714a188SAmr Mokhtar    ncb =
558f714a188SAmr Mokhtar    192
559f714a188SAmr Mokhtar
560f714a188SAmr Mokhtaruint8_t value
561f714a188SAmr Mokhtar
562f714a188SAmr Mokhtar.. parsed-literal::
563f714a188SAmr Mokhtar
564f714a188SAmr Mokhtar    rv_index =
565f714a188SAmr Mokhtar    0
566f714a188SAmr Mokhtar
567*d793a6f4SNicolas ChautruChain of flags for LDPC decoder operation based on the rte_bbdev_op_te_flag_bitmasks:
568f714a188SAmr Mokhtar
569f714a188SAmr Mokhtar``RTE_BBDEV_TURBO_ENC_SCATTER_GATHER`` is used to indicate the parser to
570f714a188SAmr Mokhtarforce the input data to be memory split and formed as a segmented mbuf.
571f714a188SAmr Mokhtar
572f714a188SAmr Mokhtar
573f714a188SAmr Mokhtar.. parsed-literal::
574f714a188SAmr Mokhtar
575f714a188SAmr Mokhtar    op_flags =
576f714a188SAmr Mokhtar    RTE_BBDEV_TURBO_RATE_MATCH
577f714a188SAmr Mokhtar
578f714a188SAmr MokhtarChain of operation statuses that are expected after operation is performed.
579f714a188SAmr MokhtarFollowing statuses can be used:
580f714a188SAmr Mokhtar
581f714a188SAmr Mokhtar- ``DMA``
582f714a188SAmr Mokhtar
583f714a188SAmr Mokhtar- ``FCW``
584f714a188SAmr Mokhtar
585f714a188SAmr Mokhtar- ``OK``
586f714a188SAmr Mokhtar
587f714a188SAmr Mokhtar``OK`` means no errors are expected. Cannot be used with other values.
588f714a188SAmr Mokhtar
589f714a188SAmr Mokhtar.. parsed-literal::
590f714a188SAmr Mokhtar
591f714a188SAmr Mokhtar    expected_status =
592f714a188SAmr Mokhtar    OK
593*d793a6f4SNicolas Chautru
594*d793a6f4SNicolas ChautruLDPC decoder test vectors template
595*d793a6f4SNicolas Chautru~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
596*d793a6f4SNicolas Chautru
597*d793a6f4SNicolas ChautruFor LDPC decoder it has to be always set to ``RTE_BBDEV_OP_LDPC_DEC``
598*d793a6f4SNicolas Chautru
599*d793a6f4SNicolas Chautru.. parsed-literal::
600*d793a6f4SNicolas Chautru
601*d793a6f4SNicolas Chautru    op_type =
602*d793a6f4SNicolas Chautru    RTE_BBDEV_OP_LDPC_DEC
603*d793a6f4SNicolas Chautru
604*d793a6f4SNicolas ChautruChain of uint32_t values. Note that it is possible to define more than one
605*d793a6f4SNicolas Chautruinput/output entries which will result in chaining two or more data structures
606*d793a6f4SNicolas Chautrufor *segmented Transport Blocks*
607*d793a6f4SNicolas Chautru
608*d793a6f4SNicolas Chautru.. parsed-literal::
609*d793a6f4SNicolas Chautru
610*d793a6f4SNicolas Chautru    input0 =
611*d793a6f4SNicolas Chautru    0x00000000, 0x7f817f00, 0x7f7f8100, 0x817f8100, 0x81008100, 0x7f818100, 0x81817f00, 0x7f818100,
612*d793a6f4SNicolas Chautru    0x81007f00, 0x7f818100, 0x817f8100, 0x81817f00, 0x81008100, 0x817f7f00, 0x7f7f8100, 0x81817f00
613*d793a6f4SNicolas Chautru
614*d793a6f4SNicolas Chautru.. parsed-literal::
615*d793a6f4SNicolas Chautru
616*d793a6f4SNicolas Chautru    output0 =
617*d793a6f4SNicolas Chautru    0xa7d6732e
618*d793a6f4SNicolas Chautru
619*d793a6f4SNicolas Chautruuint8_t value
620*d793a6f4SNicolas Chautru
621*d793a6f4SNicolas Chautru.. parsed-literal::
622*d793a6f4SNicolas Chautru
623*d793a6f4SNicolas Chautru    basegraph=
624*d793a6f4SNicolas Chautru    1
625*d793a6f4SNicolas Chautru
626*d793a6f4SNicolas Chautruuint16_t value
627*d793a6f4SNicolas Chautru
628*d793a6f4SNicolas Chautru.. parsed-literal::
629*d793a6f4SNicolas Chautru
630*d793a6f4SNicolas Chautru    z_c=
631*d793a6f4SNicolas Chautru    224
632*d793a6f4SNicolas Chautru
633*d793a6f4SNicolas Chautruuint16_t value
634*d793a6f4SNicolas Chautru
635*d793a6f4SNicolas Chautru.. parsed-literal::
636*d793a6f4SNicolas Chautru
637*d793a6f4SNicolas Chautru    n_cb=
638*d793a6f4SNicolas Chautru    14784
639*d793a6f4SNicolas Chautru
640*d793a6f4SNicolas Chautruuint8_t value
641*d793a6f4SNicolas Chautru
642*d793a6f4SNicolas Chautru.. parsed-literal::
643*d793a6f4SNicolas Chautru
644*d793a6f4SNicolas Chautru    q_m=
645*d793a6f4SNicolas Chautru    1
646*d793a6f4SNicolas Chautru
647*d793a6f4SNicolas Chautruuint16_t value
648*d793a6f4SNicolas Chautru
649*d793a6f4SNicolas Chautru.. parsed-literal::
650*d793a6f4SNicolas Chautru
651*d793a6f4SNicolas Chautru    n_filler=
652*d793a6f4SNicolas Chautru    40
653*d793a6f4SNicolas Chautru
654*d793a6f4SNicolas Chautruuint32_t value
655*d793a6f4SNicolas Chautru
656*d793a6f4SNicolas Chautru.. parsed-literal::
657*d793a6f4SNicolas Chautru
658*d793a6f4SNicolas Chautru    e=
659*d793a6f4SNicolas Chautru    13072
660*d793a6f4SNicolas Chautru
661*d793a6f4SNicolas Chautruuint8_t value
662*d793a6f4SNicolas Chautru
663*d793a6f4SNicolas Chautru.. parsed-literal::
664*d793a6f4SNicolas Chautru
665*d793a6f4SNicolas Chautru    rv_index=
666*d793a6f4SNicolas Chautru    2
667*d793a6f4SNicolas Chautru
668*d793a6f4SNicolas Chautruuint8_t value
669*d793a6f4SNicolas Chautru
670*d793a6f4SNicolas Chautru.. parsed-literal::
671*d793a6f4SNicolas Chautru    code_block_mode=
672*d793a6f4SNicolas Chautru    1
673*d793a6f4SNicolas Chautru
674*d793a6f4SNicolas Chautruuint8_t value
675*d793a6f4SNicolas Chautru
676*d793a6f4SNicolas Chautru.. parsed-literal::
677*d793a6f4SNicolas Chautru
678*d793a6f4SNicolas Chautru    iter_max=
679*d793a6f4SNicolas Chautru    20
680*d793a6f4SNicolas Chautru
681*d793a6f4SNicolas Chautruuint8_t value
682*d793a6f4SNicolas Chautru
683*d793a6f4SNicolas Chautru.. parsed-literal::
684*d793a6f4SNicolas Chautru
685*d793a6f4SNicolas Chautru    expected_iter_count=
686*d793a6f4SNicolas Chautru    8
687*d793a6f4SNicolas Chautru
688*d793a6f4SNicolas Chautru
689*d793a6f4SNicolas ChautruChain of flags for LDPC decoder operation based on the rte_bbdev_op_ldpcdec_flag_bitmasks:
690*d793a6f4SNicolas Chautru
691*d793a6f4SNicolas ChautruExample:
692*d793a6f4SNicolas Chautru
693*d793a6f4SNicolas Chautru    .. parsed-literal::
694*d793a6f4SNicolas Chautru
695*d793a6f4SNicolas Chautru        op_flags =
696*d793a6f4SNicolas Chautru        RTE_BBDEV_LDPC_ITERATION_STOP_ENABLE, RTE_BBDEV_LDPC_HQ_COMBINE_OUT_ENABLE,
697*d793a6f4SNicolas Chautru        RTE_BBDEV_LDPC_HQ_COMBINE_IN_ENABLE, RTE_BBDEV_LDPC_HARQ_6BIT_COMPRESSION
698*d793a6f4SNicolas Chautru
699*d793a6f4SNicolas ChautruChain of operation statuses that are expected after operation is performed.
700*d793a6f4SNicolas ChautruFollowing statuses can be used:
701*d793a6f4SNicolas Chautru
702*d793a6f4SNicolas Chautru- ``OK`` : No error reported.
703*d793a6f4SNicolas Chautru
704*d793a6f4SNicolas Chautru- ``SYN`` : LDPC syndrome parity check is failing.
705*d793a6f4SNicolas Chautru
706*d793a6f4SNicolas Chautru- ``CRC`` : CRC parity check is failing when CRC check operation is included.
707*d793a6f4SNicolas Chautru
708*d793a6f4SNicolas Chautru- ``SYNCRC`` : Both CRC and LDPC syndromes parity checks are failing.
709*d793a6f4SNicolas Chautru
710*d793a6f4SNicolas Chautru``OK`` means no errors are expected. Cannot be used with other values.
711*d793a6f4SNicolas Chautru
712*d793a6f4SNicolas Chautru.. parsed-literal::
713*d793a6f4SNicolas Chautru
714*d793a6f4SNicolas Chautru    expected_status =
715*d793a6f4SNicolas Chautru    CRC
716*d793a6f4SNicolas Chautru
717*d793a6f4SNicolas Chautru
718*d793a6f4SNicolas ChautruLDPC encoder test vectors template
719*d793a6f4SNicolas Chautru~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
720*d793a6f4SNicolas Chautru
721*d793a6f4SNicolas ChautruFor turbo encoder it has to be always set to ``RTE_BBDEV_OP_LDPC_ENC``
722*d793a6f4SNicolas Chautru
723*d793a6f4SNicolas Chautru.. parsed-literal::
724*d793a6f4SNicolas Chautru
725*d793a6f4SNicolas Chautru    op_type =
726*d793a6f4SNicolas Chautru    RTE_BBDEV_OP_LDPC_ENC
727*d793a6f4SNicolas Chautru
728*d793a6f4SNicolas ChautruChain of uint32_t values
729*d793a6f4SNicolas Chautru
730*d793a6f4SNicolas Chautru.. parsed-literal::
731*d793a6f4SNicolas Chautru
732*d793a6f4SNicolas Chautru    input0 =
733*d793a6f4SNicolas Chautru    0x11d2bcac, 0x4d
734*d793a6f4SNicolas Chautru
735*d793a6f4SNicolas ChautruChain of uint32_t values
736*d793a6f4SNicolas Chautru
737*d793a6f4SNicolas Chautru.. parsed-literal::
738*d793a6f4SNicolas Chautru
739*d793a6f4SNicolas Chautru    output0 =
740*d793a6f4SNicolas Chautru    0xd2399179, 0x640eb999, 0x2cbaf577, 0xaf224ae2, 0x9d139927, 0xe6909b29,
741*d793a6f4SNicolas Chautru    0xa25b7f47, 0x2aa224ce, 0x79f2
742*d793a6f4SNicolas Chautru
743*d793a6f4SNicolas Chautru
744*d793a6f4SNicolas Chautruuint8_t value
745*d793a6f4SNicolas Chautru
746*d793a6f4SNicolas Chautru.. parsed-literal::
747*d793a6f4SNicolas Chautru
748*d793a6f4SNicolas Chautru    basegraph=
749*d793a6f4SNicolas Chautru    1
750*d793a6f4SNicolas Chautru
751*d793a6f4SNicolas Chautruuint16_t value
752*d793a6f4SNicolas Chautru
753*d793a6f4SNicolas Chautru.. parsed-literal::
754*d793a6f4SNicolas Chautru
755*d793a6f4SNicolas Chautru    z_c=
756*d793a6f4SNicolas Chautru    52
757*d793a6f4SNicolas Chautru
758*d793a6f4SNicolas Chautruuint16_t value
759*d793a6f4SNicolas Chautru
760*d793a6f4SNicolas Chautru.. parsed-literal::
761*d793a6f4SNicolas Chautru
762*d793a6f4SNicolas Chautru    n_cb=
763*d793a6f4SNicolas Chautru    3432
764*d793a6f4SNicolas Chautru
765*d793a6f4SNicolas Chautruuint8_t value
766*d793a6f4SNicolas Chautru
767*d793a6f4SNicolas Chautru.. parsed-literal::
768*d793a6f4SNicolas Chautru
769*d793a6f4SNicolas Chautru    q_m=
770*d793a6f4SNicolas Chautru    6
771*d793a6f4SNicolas Chautru
772*d793a6f4SNicolas Chautruuint16_t value
773*d793a6f4SNicolas Chautru
774*d793a6f4SNicolas Chautru.. parsed-literal::
775*d793a6f4SNicolas Chautru
776*d793a6f4SNicolas Chautru    n_filler=
777*d793a6f4SNicolas Chautru    0
778*d793a6f4SNicolas Chautru
779*d793a6f4SNicolas Chautruuint32_t value
780*d793a6f4SNicolas Chautru
781*d793a6f4SNicolas Chautru.. parsed-literal::
782*d793a6f4SNicolas Chautru
783*d793a6f4SNicolas Chautru    e =
784*d793a6f4SNicolas Chautru    1380
785*d793a6f4SNicolas Chautru
786*d793a6f4SNicolas Chautruuint8_t value
787*d793a6f4SNicolas Chautru
788*d793a6f4SNicolas Chautru.. parsed-literal::
789*d793a6f4SNicolas Chautru
790*d793a6f4SNicolas Chautru    rv_index =
791*d793a6f4SNicolas Chautru    1
792*d793a6f4SNicolas Chautru
793*d793a6f4SNicolas Chautruuint8_t value
794*d793a6f4SNicolas Chautru
795*d793a6f4SNicolas Chautru.. parsed-literal::
796*d793a6f4SNicolas Chautru
797*d793a6f4SNicolas Chautru    code_block_mode =
798*d793a6f4SNicolas Chautru    1
799*d793a6f4SNicolas Chautru
800*d793a6f4SNicolas Chautru
801*d793a6f4SNicolas ChautruChain of flags for LDPC encoder operation based on the
802*d793a6f4SNicolas Chautrurte_bbdev_op_ldpcenc_flag_bitmasks:
803*d793a6f4SNicolas Chautru
804*d793a6f4SNicolas Chautru.. parsed-literal::
805*d793a6f4SNicolas Chautru
806*d793a6f4SNicolas Chautru    op_flags =
807*d793a6f4SNicolas Chautru    RTE_BBDEV_LDPC_RATE_MATCH
808*d793a6f4SNicolas Chautru
809*d793a6f4SNicolas ChautruChain of operation statuses that are expected after operation is performed.
810*d793a6f4SNicolas ChautruFollowing statuses can be used:
811*d793a6f4SNicolas Chautru
812*d793a6f4SNicolas Chautru- ``DMA``
813*d793a6f4SNicolas Chautru
814*d793a6f4SNicolas Chautru- ``FCW``
815*d793a6f4SNicolas Chautru
816*d793a6f4SNicolas Chautru- ``OK``
817*d793a6f4SNicolas Chautru
818*d793a6f4SNicolas Chautru``OK`` means no errors are expected. Cannot be used with other values.
819*d793a6f4SNicolas Chautru
820*d793a6f4SNicolas Chautru.. parsed-literal::
821*d793a6f4SNicolas Chautru
822*d793a6f4SNicolas Chautru    expected_status =
823*d793a6f4SNicolas Chautru    OK
824