xref: /dpdk/doc/guides/tools/testbbdev.rst (revision 22900d7fd65ec30a47d7f6d5906bb46b6112b507)
1f714a188SAmr Mokhtar..  SPDX-License-Identifier: BSD-3-Clause
2f714a188SAmr Mokhtar    Copyright(c) 2017 Intel Corporation
3f714a188SAmr Mokhtar
4*22900d7fSNicolas Chautru.. _test_bbdev_application:
5*22900d7fSNicolas Chautru
6f714a188SAmr Mokhtardpdk-test-bbdev Application
7f714a188SAmr Mokhtar===========================
8f714a188SAmr Mokhtar
9f714a188SAmr MokhtarThe ``dpdk-test-bbdev`` tool is a Data Plane Development Kit (DPDK) utility that
10f714a188SAmr Mokhtarallows measuring performance parameters of PMDs available in the bbdev framework.
11d9f94a92SSarosh ArifTests available for execution are: latency, throughput, validation,
12d793a6f4SNicolas Chautrubler and sanity tests. Execution of tests can be customized using various
13d793a6f4SNicolas Chautruparameters passed to a python running script.
14f714a188SAmr Mokhtar
15f714a188SAmr Mokhtar
16f714a188SAmr MokhtarRunning the Application
17f714a188SAmr Mokhtar-----------------------
18f714a188SAmr Mokhtar
19f714a188SAmr MokhtarThe tool application has a number of command line options:
20f714a188SAmr Mokhtar
21f714a188SAmr Mokhtar.. code-block:: console
22f714a188SAmr Mokhtar
23b1df4163SRobin Jarry    test-bbdev.py [-h] [-p TESTAPP_PATH] [-e EAL_PARAMS] [-t TIMEOUT]
24f714a188SAmr Mokhtar                       [-c TEST_CASE [TEST_CASE ...]]
25f714a188SAmr Mokhtar                       [-v TEST_VECTOR [TEST_VECTOR...]] [-n NUM_OPS]
26f714a188SAmr Mokhtar                       [-b BURST_SIZE [BURST_SIZE ...]] [-l NUM_LCORES]
27f41c6e4dSNicolas Chautru                       [-t MAX_ITERS [MAX_ITERS ...]]
28f41c6e4dSNicolas Chautru                       [-s SNR [SNR ...]]
29f714a188SAmr Mokhtar
30f714a188SAmr Mokhtarcommand-line Options
31f714a188SAmr Mokhtar~~~~~~~~~~~~~~~~~~~~
32f714a188SAmr Mokhtar
33f714a188SAmr MokhtarThe following are the command-line options:
34f714a188SAmr Mokhtar
35f714a188SAmr Mokhtar``-h, --help``
36f714a188SAmr Mokhtar Shows help message and exit.
37f714a188SAmr Mokhtar
38f714a188SAmr Mokhtar``-p TESTAPP_PATH, --testapp_path TESTAPP_PATH``
39f714a188SAmr Mokhtar Indicates the path to the bbdev test app. If not specified path is set based
4095fcf7bfSCiara Power on "../.." concatenated with "*/build/app/dpdk-test-bbdev*".
41f714a188SAmr Mokhtar
42f714a188SAmr Mokhtar``-e EAL_PARAMS, --eal_params EAL_PARAMS``
43f714a188SAmr Mokhtar Specifies EAL arguments which are passed to the test app. For more details,
4443628b3dSDavid Marchand refer to DPDK documentation at :doc:`../linux_gsg/linux_eal_parameters`.
45f714a188SAmr Mokhtar
46f714a188SAmr Mokhtar``-t TIMEOUT, --timeout TIMEOUT``
47f714a188SAmr Mokhtar Specifies timeout in seconds. If not specified timeout is set to 300 seconds.
48f714a188SAmr Mokhtar
49f714a188SAmr Mokhtar``-c TEST_CASE [TEST_CASE ...], --test_cases TEST_CASE [TEST_CASE ...]``
50f714a188SAmr Mokhtar Defines test cases to run. If not specified all available tests are run.
51f714a188SAmr Mokhtar
52f714a188SAmr Mokhtar **Example usage:**
53f714a188SAmr Mokhtar
54f714a188SAmr Mokhtar ``./test-bbdev.py -c validation``
55f714a188SAmr Mokhtar  Runs validation test suite
56f714a188SAmr Mokhtar
57f714a188SAmr Mokhtar ``./test-bbdev.py -c latency throughput``
58f714a188SAmr Mokhtar  Runs latency and throughput test suites
59f714a188SAmr Mokhtar
60f714a188SAmr Mokhtar``-v TEST_VECTOR [TEST_VECTOR ...], --test_vector TEST_VECTOR [TEST_VECTOR ...]``
61f714a188SAmr Mokhtar Specifies paths to the test vector files. If not specified path is set based
6295fcf7bfSCiara Power on "../.." concatenated with "*/app/test-bbdev/test_vectors/bbdev_null.data*"
6395fcf7bfSCiara Power and indicates default data file.
64f714a188SAmr Mokhtar
65f714a188SAmr Mokhtar **Example usage:**
66f714a188SAmr Mokhtar
67ae828b8cSKamil Chalupnik ``./test-bbdev.py -v app/test-bbdev/test_vectors/turbo_dec_test1.data``
68ae828b8cSKamil Chalupnik  Fills vector based on turbo_dec_test1.data file and runs all tests
69f714a188SAmr Mokhtar
70ae828b8cSKamil Chalupnik ``./test-bbdev.py -v turbo_dec_test1.data turbo_enc_test2.data``
71f714a188SAmr Mokhtar  The bbdev test app is executed twice. First time vector is filled based on
72ae828b8cSKamil Chalupnik  *turbo_dec_test1.data* file and second time based on
73ae828b8cSKamil Chalupnik  *turb_enc_test2.data* file. For both executions all tests are run.
74f714a188SAmr Mokhtar
75f714a188SAmr Mokhtar``-n NUM_OPS, --num_ops NUM_OPS``
76f714a188SAmr Mokhtar Specifies number of operations to process on device. If not specified num_ops
77f714a188SAmr Mokhtar is set to 32 operations.
78f714a188SAmr Mokhtar
79f714a188SAmr Mokhtar``-l NUM_LCORES, --num_lcores NUM_LCORES``
80f714a188SAmr Mokhtar Specifies number of lcores to run. If not specified num_lcores is set
81f714a188SAmr Mokhtar according to value from RTE configuration (EAL coremask)
82f714a188SAmr Mokhtar
83f714a188SAmr Mokhtar``-b BURST_SIZE [BURST_SIZE ...], --burst-size BURST_SIZE [BURST_SIZE ...]``
84f714a188SAmr Mokhtar Specifies operations enqueue/dequeue burst size. If not specified burst_size is
85f714a188SAmr Mokhtar set to 32. Maximum is 512.
86f714a188SAmr Mokhtar
87f41c6e4dSNicolas Chautru``-t MAX_ITERS [MAX_ITERS ...], --iter_max MAX_ITERS [MAX_ITERS ...]``
88f41c6e4dSNicolas Chautru Specifies LDPC decoder operations maximum number of iterations for throughput
89f41c6e4dSNicolas Chautru and bler tests. If not specified iter_max is set to 6.
90f41c6e4dSNicolas Chautru
91f41c6e4dSNicolas Chautru``-s SNR [SNR ...], --snr SNR [SNR ...]``
92f41c6e4dSNicolas Chautru Specifies for LDPC decoder operations the SNR in dB used when generating LLRs
93f41c6e4dSNicolas Chautru for bler tests. If not specified snr is set to 0 dB.
94f41c6e4dSNicolas Chautru
958723590eSKamil ChalupnikTest Cases
968723590eSKamil Chalupnik~~~~~~~~~~
97f714a188SAmr Mokhtar
98d793a6f4SNicolas ChautruThere are 7 main test cases that can be executed using testbbdev tool:
998723590eSKamil Chalupnik
1008723590eSKamil Chalupnik* Sanity checks [-c unittest]
1018723590eSKamil Chalupnik    - Performs sanity checks on BBDEV interface, validating basic functionality
1028723590eSKamil Chalupnik
1038723590eSKamil Chalupnik* Validation tests [-c validation]
1048723590eSKamil Chalupnik    - Performs full operation of enqueue and dequeue
1058723590eSKamil Chalupnik    - Compares the dequeued data buffer with a expected values in the test
1068723590eSKamil Chalupnik      vector (TV) being used
1078723590eSKamil Chalupnik    - Fails if any dequeued value does not match the data in the TV
1088723590eSKamil Chalupnik
1098723590eSKamil Chalupnik* Offload Cost measurement [-c offload]
1108723590eSKamil Chalupnik    - Measures the CPU cycles consumed from the receipt of a user enqueue
1118723590eSKamil Chalupnik      until it is put on the device queue
1128723590eSKamil Chalupnik    - The test measures 4 metrics
1138723590eSKamil Chalupnik        (a) *SW Enq Offload Cost*: Software only enqueue offload cost, the cycle
1148723590eSKamil Chalupnik            counts and time (us) from the point the enqueue API is called until
1158723590eSKamil Chalupnik            the point the operation is put on the accelerator queue.
1168723590eSKamil Chalupnik        (b) *Acc Enq Offload Cost*: The cycle count and time (us) from the
1178723590eSKamil Chalupnik            point the operation is put on the accelerator queue until the return
1188723590eSKamil Chalupnik            from enqueue.
1198723590eSKamil Chalupnik        (c) *SW Deq Offload Cost*: Software dequeue cost, the cycle counts and
1208723590eSKamil Chalupnik            time (us) consumed to dequeue one operation.
1218723590eSKamil Chalupnik        (d) *Empty Queue Enq Offload Cost*: The cycle count and time (us)
1228723590eSKamil Chalupnik            consumed to dequeue from an empty queue.
1238723590eSKamil Chalupnik
1248723590eSKamil Chalupnik* Latency measurement [-c latency]
1258723590eSKamil Chalupnik    - Measures the time consumed from the first enqueue until the first
1268723590eSKamil Chalupnik      appearance of a dequeued result
127d629b7b5SJohn McNamara    - This measurement represents the full latency of a bbdev operation
1288723590eSKamil Chalupnik      (encode or decode) to execute
1298723590eSKamil Chalupnik
1308723590eSKamil Chalupnik* Poll-mode Throughput measurement [-c throughput]
1318723590eSKamil Chalupnik    - Performs full operation of enqueue and dequeue
1328723590eSKamil Chalupnik    - Executes in poll mode
1338723590eSKamil Chalupnik    - Measures the achieved throughput on a subset or all available CPU cores
1348723590eSKamil Chalupnik    - Dequeued data is not validated against expected values stored in TV
1358723590eSKamil Chalupnik    - Results are printed in million operations per second and million bits
1368723590eSKamil Chalupnik      per second
1378723590eSKamil Chalupnik
138f41c6e4dSNicolas Chautru* BLER measurement [-c bler]
139f41c6e4dSNicolas Chautru    - Performs full operation of enqueue and dequeue
140f41c6e4dSNicolas Chautru    - Measures the achieved throughput on a subset or all available CPU cores
141f41c6e4dSNicolas Chautru    - Computed BLER (Block Error Rate, ratio of blocks not decoded at a given
142f41c6e4dSNicolas Chautru      SNR) in % based on the total number of operations.
143f41c6e4dSNicolas Chautru
1448723590eSKamil Chalupnik* Interrupt-mode Throughput [-c interrupt]
1458723590eSKamil Chalupnik    - Similar to Throughput test case, but using interrupts. No polling.
1468723590eSKamil Chalupnik
1478723590eSKamil Chalupnik
1488723590eSKamil ChalupnikParameter Globbing
149f714a188SAmr Mokhtar~~~~~~~~~~~~~~~~~~
150f714a188SAmr Mokhtar
151f714a188SAmr MokhtarThanks to the globbing functionality in python test-bbdev.py script allows to
152f714a188SAmr Mokhtarrun tests with different set of vector files without giving all of them explicitly.
153f714a188SAmr Mokhtar
154d793a6f4SNicolas Chautru**Example usage for 4G:**
155f714a188SAmr Mokhtar
156f714a188SAmr Mokhtar.. code-block:: console
157f714a188SAmr Mokhtar
158ae828b8cSKamil Chalupnik  ./test-bbdev.py -v app/test-bbdev/test_vectors/turbo_<enc/dec>_c<c>_k<k>_r<r>_e<e>_<extra-info>.data
159f714a188SAmr Mokhtar
160f714a188SAmr MokhtarIt runs all tests with following vectors:
161f714a188SAmr Mokhtar
162ae828b8cSKamil Chalupnik- ``bbdev_null.data``
163f714a188SAmr Mokhtar
16443b767f6SKamil Chalupnik- ``turbo_dec_c1_k6144_r0_e34560_sbd_negllr.data``
16547d5a049SKamil Chalupnik
16647d5a049SKamil Chalupnik- ``turbo_enc_c1_k40_r0_e1196_rm.data``
16747d5a049SKamil Chalupnik
16843b767f6SKamil Chalupnik- ``turbo_enc_c2_k5952_r0_e17868_crc24b.data``
16943b767f6SKamil Chalupnik
17043b767f6SKamil Chalupnik- ``turbo_dec_c1_k40_r0_e17280_sbd_negllr.data``
17143b767f6SKamil Chalupnik
17243b767f6SKamil Chalupnik- ``turbo_dec_c1_k6144_r0_e34560_sbd_posllr.data``
17343b767f6SKamil Chalupnik
17447d5a049SKamil Chalupnik- ``turbo_enc_c1_k40_r0_e272_rm.data``
175f714a188SAmr Mokhtar
17643b767f6SKamil Chalupnik- ``turbo_enc_c3_k4800_r2_e14412_crc24b.data``
17743b767f6SKamil Chalupnik
17843b767f6SKamil Chalupnik- ``turbo_dec_c1_k6144_r0_e10376_crc24b_sbd_negllr_high_snr.data``
17943b767f6SKamil Chalupnik
18043b767f6SKamil Chalupnik- ``turbo_dec_c2_k3136_r0_e4920_sbd_negllr_crc24b.data``
18143b767f6SKamil Chalupnik
18243b767f6SKamil Chalupnik- ``turbo_enc_c1_k6144_r0_e120_rm_rvidx.data``
18343b767f6SKamil Chalupnik
18443b767f6SKamil Chalupnik- ``turbo_enc_c4_k4800_r2_e14412_crc24b.data``
18543b767f6SKamil Chalupnik
18643b767f6SKamil Chalupnik- ``turbo_dec_c1_k6144_r0_e10376_crc24b_sbd_negllr_low_snr.data``
18743b767f6SKamil Chalupnik
18843b767f6SKamil Chalupnik- ``turbo_dec_c2_k3136_r0_e4920_sbd_negllr.data``
18943b767f6SKamil Chalupnik
19043b767f6SKamil Chalupnik- ``turbo_enc_c1_k6144_r0_e18444.data``
19143b767f6SKamil Chalupnik
19243b767f6SKamil Chalupnik- ``turbo_dec_c1_k6144_r0_e34560_negllr.data``
19343b767f6SKamil Chalupnik
19443b767f6SKamil Chalupnik- ``turbo_enc_c1_k40_r0_e1190_rm.data``
19543b767f6SKamil Chalupnik
19643b767f6SKamil Chalupnik- ``turbo_enc_c1_k6144_r0_e18448_crc24a.data``
19743b767f6SKamil Chalupnik
19843b767f6SKamil Chalupnik- ``turbo_dec_c1_k6144_r0_e34560_posllr.data``
19943b767f6SKamil Chalupnik
20043b767f6SKamil Chalupnik- ``turbo_enc_c1_k40_r0_e1194_rm.data``
20143b767f6SKamil Chalupnik
202ae828b8cSKamil Chalupnik- ``turbo_enc_c1_k6144_r0_e32256_crc24b_rm.data``
203ae828b8cSKamil Chalupnik
204f714a188SAmr Mokhtar.. code-block:: console
205f714a188SAmr Mokhtar
206ae828b8cSKamil Chalupnik  ./test-bbdev.py -v app/test-bbdev/turbo_*_default.data
207f714a188SAmr Mokhtar
208ae828b8cSKamil ChalupnikIt runs all tests with "default" vectors.
209f714a188SAmr Mokhtar
210ae828b8cSKamil Chalupnik* ``turbo_dec_default.data`` is a soft link to
211ae828b8cSKamil Chalupnik  ``turbo_dec_c1_k6144_r0_e10376_crc24b_sbd_negllr_high_snr.data``
212f714a188SAmr Mokhtar
213ae828b8cSKamil Chalupnik* ``turbo_enc_default.data`` is a soft link to
214ae828b8cSKamil Chalupnik  ``turbo_enc_c1_k6144_r0_e32256_crc24b_rm.data``
215f714a188SAmr Mokhtar
216d793a6f4SNicolas Chautru* ``ldpc_dec_default.data`` is a soft link to
217d793a6f4SNicolas Chautru  ``ldpc_dec_v6563.data``
218d793a6f4SNicolas Chautru
219d793a6f4SNicolas Chautru* ``ldpc_enc_default.data`` is a soft link to
220d793a6f4SNicolas Chautru  ``ldpc_enc_c1_k8148_r0_e9372_rm.data``
221f714a188SAmr Mokhtar
222f714a188SAmr MokhtarRunning Tests
223f714a188SAmr Mokhtar-------------
224f714a188SAmr Mokhtar
225d793a6f4SNicolas ChautruAll default reference test-vectors are stored in the test_vector
226d793a6f4SNicolas Chautrudirectory below.
227d793a6f4SNicolas ChautruThe prefix trivially defines which type of operation is included :
228d793a6f4SNicolas Chautruturbo_enc, turbo_dec, ldpc_enc, ldpc_dec.
229d793a6f4SNicolas ChautruThe details of the configuration are captured in the file but some
230d793a6f4SNicolas Chautruvector name refer more explicitly processing specificity such as
231d793a6f4SNicolas Chautru'HARQ' when HARQ retransmission is used, 'loopback' when the data
232d793a6f4SNicolas Chautruis purely read/written for external DDR, lbrm when limited buffer
233d793a6f4SNicolas Chautrurate matching is expected, or crc_fail when a CRC failure is expected.
234d793a6f4SNicolas ChautruThey are chosen to have a good coverage across sizes and processing
235d793a6f4SNicolas Chautruparameters while still keeping their number limited as part of sanity
236d793a6f4SNicolas Chautruregression.
237d793a6f4SNicolas Chautru
23895fcf7bfSCiara PowerShortened tree of isg_cid-wireless_dpdk_ae with dpdk compiled and output
23995fcf7bfSCiara Powerto the build directory:
240f714a188SAmr Mokhtar
241f714a188SAmr Mokhtar::
242f714a188SAmr Mokhtar
243f714a188SAmr Mokhtar |-- app
244f714a188SAmr Mokhtar     |-- test-bbdev
245f714a188SAmr Mokhtar         |-- test_vectors
246f714a188SAmr Mokhtar
24795fcf7bfSCiara Power |-- build
248f714a188SAmr Mokhtar     |-- app
24995fcf7bfSCiara Power         |-- dpdk-test-bbdev
250f714a188SAmr Mokhtar
251f714a188SAmr MokhtarAll bbdev devices
252f714a188SAmr Mokhtar~~~~~~~~~~~~~~~~~
253f714a188SAmr Mokhtar
254f714a188SAmr Mokhtar.. code-block:: console
255f714a188SAmr Mokhtar
25695fcf7bfSCiara Power  ./test-bbdev.py -p ../../build/app/dpdk-test-bbdev
257ae828b8cSKamil Chalupnik  -v turbo_dec_default.data
258f714a188SAmr Mokhtar
259f714a188SAmr MokhtarIt runs all available tests using the test vector filled based on
260ae828b8cSKamil Chalupnik*turbo_dec_default.data* file.
261f714a188SAmr MokhtarBy default number of operations to process on device is set to 32, timeout is
262f714a188SAmr Mokhtarset to 300s and operations enqueue/dequeue burst size is set to 32.
2637ce00bf3SKamil ChalupnikMoreover a bbdev (*baseband_null*) device will be created.
264f714a188SAmr Mokhtar
2657ce00bf3SKamil Chalupnikbaseband turbo_sw device
2667ce00bf3SKamil Chalupnik~~~~~~~~~~~~~~~~~~~~~~~~
267f714a188SAmr Mokhtar
268f714a188SAmr Mokhtar.. code-block:: console
269f714a188SAmr Mokhtar
27095fcf7bfSCiara Power  ./test-bbdev.py -p ../../build/app/dpdk-test-bbdev
2717ce00bf3SKamil Chalupnik  -e="--vdev=baseband_turbo_sw" -t 120 -c validation
272d793a6f4SNicolas Chautru  -v ./test_vectors/* -n 64 -b 8 32
273f714a188SAmr Mokhtar
274f714a188SAmr MokhtarIt runs **validation** test for each vector file that matches the given pattern.
275f714a188SAmr MokhtarNumber of operations to process on device is set to 64 and operations timeout is
276f714a188SAmr Mokhtarset to 120s and enqueue/dequeue burst size is set to 8 and to 32.
2777ce00bf3SKamil ChalupnikMoreover a bbdev (*baseband_turbo_sw*) device will be created.
278f714a188SAmr Mokhtar
279f714a188SAmr Mokhtar
280f714a188SAmr Mokhtarbbdev null device
281f714a188SAmr Mokhtar~~~~~~~~~~~~~~~~~
282f714a188SAmr Mokhtar
283ae828b8cSKamil ChalupnikExecuting bbdev null device with *bbdev_null.data* helps in measuring the
284f714a188SAmr Mokhtaroverhead introduced by the bbdev framework.
285f714a188SAmr Mokhtar
286f714a188SAmr Mokhtar.. code-block:: console
287f714a188SAmr Mokhtar
2887ce00bf3SKamil Chalupnik  ./test-bbdev.py -e="--vdev=baseband_null0"
289ae828b8cSKamil Chalupnik  -v ./test_vectors/bbdev_null.data
290f714a188SAmr Mokhtar
291f714a188SAmr Mokhtar**Note:**
292f714a188SAmr Mokhtar
2937ce00bf3SKamil Chalupnikbaseband_null device does not have to be defined explicitly as it is created by default.
294f714a188SAmr Mokhtar
295f714a188SAmr Mokhtar
296f714a188SAmr Mokhtar
297f714a188SAmr MokhtarTest Vector files
298c5e2e085SThomas Monjalon-----------------
299f714a188SAmr Mokhtar
300f714a188SAmr MokhtarTest Vector files contain the data which is used to set turbo decoder/encoder
301f714a188SAmr Mokhtarparameters and buffers for validation purpose. New test vector files should be
302f714a188SAmr Mokhtarstored in ``app/test-bbdev/test_vectors/`` directory. Detailed description of
303f714a188SAmr Mokhtarthe syntax of the test vector files is in the following section.
304f714a188SAmr Mokhtar
305f714a188SAmr Mokhtar
306f714a188SAmr MokhtarBasic principles for test vector files
307c5e2e085SThomas Monjalon~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
308f714a188SAmr MokhtarLine started with ``#`` is treated as a comment and is ignored.
309f714a188SAmr Mokhtar
310f714a188SAmr MokhtarIf variable is a chain of values, values should be separated by a comma. If
311f714a188SAmr Mokhtarassignment is split into several lines, each line (except the last one) has to
312f714a188SAmr Mokhtarbe ended with a comma.
313f714a188SAmr MokhtarThere is no comma after last value in last line. Correct assignment should
314f714a188SAmr Mokhtarlook like the following:
315f714a188SAmr Mokhtar
316f714a188SAmr Mokhtar.. parsed-literal::
317f714a188SAmr Mokhtar
318f714a188SAmr Mokhtar variable =
319f714a188SAmr Mokhtar value, value, value, value,
320f714a188SAmr Mokhtar value, value
321f714a188SAmr Mokhtar
322f714a188SAmr MokhtarIn case where variable is a single value correct assignment looks like the
323f714a188SAmr Mokhtarfollowing:
324f714a188SAmr Mokhtar
325f714a188SAmr Mokhtar.. parsed-literal::
326f714a188SAmr Mokhtar
327f714a188SAmr Mokhtar variable =
328f714a188SAmr Mokhtar value
329f714a188SAmr Mokhtar
330f714a188SAmr MokhtarLength of chain variable is calculated by parser. Can not be defined
331f714a188SAmr Mokhtarexplicitly.
332f714a188SAmr Mokhtar
333f714a188SAmr MokhtarVariable op_type has to be defined as a first variable in file. It specifies
334d793a6f4SNicolas Chautruwhat type of operations will be executed. For 4G decoder op_type has to be set to
335d793a6f4SNicolas Chautru``RTE_BBDEV_OP_TURBO_DEC`` and for 4G encoder to ``RTE_BBDEV_OP_TURBO_ENC``.
336f714a188SAmr Mokhtar
337441ac2e0SNipun GuptaBbdev-test adjusts the byte endianness based on the PMD capability (data_endianness)
338441ac2e0SNipun Guptaand all the test vectors input/output data are assumed to be LE by default
339441ac2e0SNipun Gupta
340f714a188SAmr MokhtarFull details of the meaning and valid values for the below fields are
341f714a188SAmr Mokhtardocumented in *rte_bbdev_op.h*
342f714a188SAmr Mokhtar
343f714a188SAmr Mokhtar
344f714a188SAmr MokhtarTurbo decoder test vectors template
345c5e2e085SThomas Monjalon~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
346f714a188SAmr Mokhtar
347f714a188SAmr MokhtarFor turbo decoder it has to be always set to ``RTE_BBDEV_OP_TURBO_DEC``
348f714a188SAmr Mokhtar
349f714a188SAmr Mokhtar.. parsed-literal::
350f714a188SAmr Mokhtar
351f714a188SAmr Mokhtar    op_type =
352f714a188SAmr Mokhtar    RTE_BBDEV_OP_TURBO_DEC
353f714a188SAmr Mokhtar
354f714a188SAmr MokhtarChain of uint32_t values. Note that it is possible to define more than one
355f714a188SAmr Mokhtarinput/output entries which will result in chaining two or more data structures
356f714a188SAmr Mokhtarfor *segmented Transport Blocks*
357f714a188SAmr Mokhtar
358f714a188SAmr Mokhtar.. parsed-literal::
359f714a188SAmr Mokhtar
360f714a188SAmr Mokhtar    input0 =
361f714a188SAmr Mokhtar    0x00000000, 0x7f817f00, 0x7f7f8100, 0x817f8100, 0x81008100, 0x7f818100, 0x81817f00, 0x7f818100,
362f714a188SAmr Mokhtar    0x81007f00, 0x7f818100, 0x817f8100, 0x81817f00, 0x81008100, 0x817f7f00, 0x7f7f8100, 0x81817f00
363f714a188SAmr Mokhtar
364f714a188SAmr MokhtarChain of uint32_t values
365f714a188SAmr Mokhtar
366f714a188SAmr Mokhtar.. parsed-literal::
367f714a188SAmr Mokhtar
368f714a188SAmr Mokhtar    input1 =
369f714a188SAmr Mokhtar    0x7f7f0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
370f714a188SAmr Mokhtar    0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
371f714a188SAmr Mokhtar
372f714a188SAmr MokhtarChain of uint32_t values
373f714a188SAmr Mokhtar
374f714a188SAmr Mokhtar.. parsed-literal::
375f714a188SAmr Mokhtar
376f714a188SAmr Mokhtar    input2 =
377f714a188SAmr Mokhtar    0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
378f714a188SAmr Mokhtar    0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
379f714a188SAmr Mokhtar
380f714a188SAmr MokhtarChain of uint32_t values
381f714a188SAmr Mokhtar
382f714a188SAmr Mokhtar.. parsed-literal::
383f714a188SAmr Mokhtar
384f714a188SAmr Mokhtar    hard_output0 =
385f714a188SAmr Mokhtar    0xa7d6732e
386f714a188SAmr Mokhtar
387f714a188SAmr MokhtarChain of uint32_t values
388f714a188SAmr Mokhtar
389f714a188SAmr Mokhtar.. parsed-literal::
390f714a188SAmr Mokhtar
391f714a188SAmr Mokhtar    hard_output1 =
392f714a188SAmr Mokhtar    0xa61
393f714a188SAmr Mokhtar
394f714a188SAmr MokhtarChain of uint32_t values
395f714a188SAmr Mokhtar
396f714a188SAmr Mokhtar.. parsed-literal::
397f714a188SAmr Mokhtar
398f714a188SAmr Mokhtar    soft_output0 =
399f714a188SAmr Mokhtar    0x817f817f, 0x7f817f7f, 0x81818181, 0x817f7f81, 0x7f818181, 0x8181817f, 0x817f817f, 0x8181817f
400f714a188SAmr Mokhtar
401f714a188SAmr MokhtarChain of uint32_t values
402f714a188SAmr Mokhtar
403f714a188SAmr Mokhtar.. parsed-literal::
404f714a188SAmr Mokhtar
405f714a188SAmr Mokhtar    soft_output1 =
406f714a188SAmr Mokhtar    0x817f7f81, 0x7f7f7f81, 0x7f7f8181
407f714a188SAmr Mokhtar
408f714a188SAmr Mokhtaruint32_t value
409f714a188SAmr Mokhtar
410f714a188SAmr Mokhtar.. parsed-literal::
411f714a188SAmr Mokhtar
412f714a188SAmr Mokhtar    e =
413f714a188SAmr Mokhtar    44
414f714a188SAmr Mokhtar
415f714a188SAmr Mokhtaruint16_t value
416f714a188SAmr Mokhtar
417f714a188SAmr Mokhtar.. parsed-literal::
418f714a188SAmr Mokhtar
419f714a188SAmr Mokhtar    k =
420f714a188SAmr Mokhtar    40
421f714a188SAmr Mokhtar
422f714a188SAmr Mokhtaruint8_t value
423f714a188SAmr Mokhtar
424f714a188SAmr Mokhtar.. parsed-literal::
425f714a188SAmr Mokhtar
426f714a188SAmr Mokhtar    rv_index =
427f714a188SAmr Mokhtar    0
428f714a188SAmr Mokhtar
429f714a188SAmr Mokhtaruint8_t value
430f714a188SAmr Mokhtar
431f714a188SAmr Mokhtar.. parsed-literal::
432f714a188SAmr Mokhtar
433f714a188SAmr Mokhtar    iter_max =
434f714a188SAmr Mokhtar    8
435f714a188SAmr Mokhtar
436f714a188SAmr Mokhtaruint8_t value
437f714a188SAmr Mokhtar
438f714a188SAmr Mokhtar.. parsed-literal::
439f714a188SAmr Mokhtar
440f714a188SAmr Mokhtar    iter_min =
441f714a188SAmr Mokhtar    4
442f714a188SAmr Mokhtar
443f714a188SAmr Mokhtaruint8_t value
444f714a188SAmr Mokhtar
445f714a188SAmr Mokhtar.. parsed-literal::
446f714a188SAmr Mokhtar
447f714a188SAmr Mokhtar    expected_iter_count =
448f714a188SAmr Mokhtar    8
449f714a188SAmr Mokhtar
450f714a188SAmr Mokhtaruint8_t value
451f714a188SAmr Mokhtar
452f714a188SAmr Mokhtar.. parsed-literal::
453f714a188SAmr Mokhtar
454f714a188SAmr Mokhtar    ext_scale =
455f714a188SAmr Mokhtar    15
456f714a188SAmr Mokhtar
457f714a188SAmr Mokhtaruint8_t value
458f714a188SAmr Mokhtar
459f714a188SAmr Mokhtar.. parsed-literal::
460f714a188SAmr Mokhtar
461f714a188SAmr Mokhtar    num_maps =
462f714a188SAmr Mokhtar    0
463f714a188SAmr Mokhtar
464d793a6f4SNicolas ChautruChain of flags for LDPC decoder operation based on the rte_bbdev_op_td_flag_bitmasks:
465f714a188SAmr Mokhtar
466f714a188SAmr MokhtarExample:
467f714a188SAmr Mokhtar
468f714a188SAmr Mokhtar    .. parsed-literal::
469f714a188SAmr Mokhtar
470f714a188SAmr Mokhtar        op_flags =
471f714a188SAmr Mokhtar        RTE_BBDEV_TURBO_SUBBLOCK_DEINTERLEAVE, RTE_BBDEV_TURBO_EQUALIZER,
472f714a188SAmr Mokhtar        RTE_BBDEV_TURBO_SOFT_OUTPUT
473f714a188SAmr Mokhtar
474f714a188SAmr MokhtarChain of operation statuses that are expected after operation is performed.
475f714a188SAmr MokhtarFollowing statuses can be used:
476f714a188SAmr Mokhtar
477f714a188SAmr Mokhtar- ``DMA``
478f714a188SAmr Mokhtar
479f714a188SAmr Mokhtar- ``FCW``
480f714a188SAmr Mokhtar
481f714a188SAmr Mokhtar- ``CRC``
482f714a188SAmr Mokhtar
483f714a188SAmr Mokhtar- ``OK``
484f714a188SAmr Mokhtar
485f714a188SAmr Mokhtar``OK`` means no errors are expected. Cannot be used with other values.
486f714a188SAmr Mokhtar
487f714a188SAmr Mokhtar.. parsed-literal::
488f714a188SAmr Mokhtar
489f714a188SAmr Mokhtar    expected_status =
490f714a188SAmr Mokhtar    FCW, CRC
491f714a188SAmr Mokhtar
492f714a188SAmr Mokhtar
493f714a188SAmr MokhtarTurbo encoder test vectors template
494c5e2e085SThomas Monjalon~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
495f714a188SAmr Mokhtar
496f714a188SAmr MokhtarFor turbo encoder it has to be always set to ``RTE_BBDEV_OP_TURBO_ENC``
497f714a188SAmr Mokhtar
498f714a188SAmr Mokhtar.. parsed-literal::
499f714a188SAmr Mokhtar
500f714a188SAmr Mokhtar    op_type =
501f714a188SAmr Mokhtar    RTE_BBDEV_OP_TURBO_ENC
502f714a188SAmr Mokhtar
503f714a188SAmr MokhtarChain of uint32_t values
504f714a188SAmr Mokhtar
505f714a188SAmr Mokhtar.. parsed-literal::
506f714a188SAmr Mokhtar
507f714a188SAmr Mokhtar    input0 =
508f714a188SAmr Mokhtar    0x11d2bcac, 0x4d
509f714a188SAmr Mokhtar
510f714a188SAmr MokhtarChain of uint32_t values
511f714a188SAmr Mokhtar
512f714a188SAmr Mokhtar.. parsed-literal::
513f714a188SAmr Mokhtar
514f714a188SAmr Mokhtar    output0 =
515f714a188SAmr Mokhtar    0xd2399179, 0x640eb999, 0x2cbaf577, 0xaf224ae2, 0x9d139927, 0xe6909b29,
516f714a188SAmr Mokhtar    0xa25b7f47, 0x2aa224ce, 0x79f2
517f714a188SAmr Mokhtar
518f714a188SAmr Mokhtaruint32_t value
519f714a188SAmr Mokhtar
520f714a188SAmr Mokhtar.. parsed-literal::
521f714a188SAmr Mokhtar
522f714a188SAmr Mokhtar    e =
523f714a188SAmr Mokhtar    272
524f714a188SAmr Mokhtar
525f714a188SAmr Mokhtaruint16_t value
526f714a188SAmr Mokhtar
527f714a188SAmr Mokhtar.. parsed-literal::
528f714a188SAmr Mokhtar
529f714a188SAmr Mokhtar    k =
530f714a188SAmr Mokhtar    40
531f714a188SAmr Mokhtar
532f714a188SAmr Mokhtaruint16_t value
533f714a188SAmr Mokhtar
534f714a188SAmr Mokhtar.. parsed-literal::
535f714a188SAmr Mokhtar
536f714a188SAmr Mokhtar    ncb =
537f714a188SAmr Mokhtar    192
538f714a188SAmr Mokhtar
539f714a188SAmr Mokhtaruint8_t value
540f714a188SAmr Mokhtar
541f714a188SAmr Mokhtar.. parsed-literal::
542f714a188SAmr Mokhtar
543f714a188SAmr Mokhtar    rv_index =
544f714a188SAmr Mokhtar    0
545f714a188SAmr Mokhtar
546d793a6f4SNicolas ChautruChain of flags for LDPC decoder operation based on the rte_bbdev_op_te_flag_bitmasks:
547f714a188SAmr Mokhtar
548f714a188SAmr Mokhtar``RTE_BBDEV_TURBO_ENC_SCATTER_GATHER`` is used to indicate the parser to
549f714a188SAmr Mokhtarforce the input data to be memory split and formed as a segmented mbuf.
550f714a188SAmr Mokhtar
551f714a188SAmr Mokhtar
552f714a188SAmr Mokhtar.. parsed-literal::
553f714a188SAmr Mokhtar
554f714a188SAmr Mokhtar    op_flags =
555f714a188SAmr Mokhtar    RTE_BBDEV_TURBO_RATE_MATCH
556f714a188SAmr Mokhtar
557f714a188SAmr MokhtarChain of operation statuses that are expected after operation is performed.
558f714a188SAmr MokhtarFollowing statuses can be used:
559f714a188SAmr Mokhtar
560f714a188SAmr Mokhtar- ``DMA``
561f714a188SAmr Mokhtar
562f714a188SAmr Mokhtar- ``FCW``
563f714a188SAmr Mokhtar
564f714a188SAmr Mokhtar- ``OK``
565f714a188SAmr Mokhtar
566f714a188SAmr Mokhtar``OK`` means no errors are expected. Cannot be used with other values.
567f714a188SAmr Mokhtar
568f714a188SAmr Mokhtar.. parsed-literal::
569f714a188SAmr Mokhtar
570f714a188SAmr Mokhtar    expected_status =
571f714a188SAmr Mokhtar    OK
572d793a6f4SNicolas Chautru
573d793a6f4SNicolas ChautruLDPC decoder test vectors template
574d793a6f4SNicolas Chautru~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
575d793a6f4SNicolas Chautru
576d793a6f4SNicolas ChautruFor LDPC decoder it has to be always set to ``RTE_BBDEV_OP_LDPC_DEC``
577d793a6f4SNicolas Chautru
578d793a6f4SNicolas Chautru.. parsed-literal::
579d793a6f4SNicolas Chautru
580d793a6f4SNicolas Chautru    op_type =
581d793a6f4SNicolas Chautru    RTE_BBDEV_OP_LDPC_DEC
582d793a6f4SNicolas Chautru
583d793a6f4SNicolas ChautruChain of uint32_t values. Note that it is possible to define more than one
584d793a6f4SNicolas Chautruinput/output entries which will result in chaining two or more data structures
585d793a6f4SNicolas Chautrufor *segmented Transport Blocks*
586d793a6f4SNicolas Chautru
587d793a6f4SNicolas Chautru.. parsed-literal::
588d793a6f4SNicolas Chautru
589d793a6f4SNicolas Chautru    input0 =
590d793a6f4SNicolas Chautru    0x00000000, 0x7f817f00, 0x7f7f8100, 0x817f8100, 0x81008100, 0x7f818100, 0x81817f00, 0x7f818100,
591d793a6f4SNicolas Chautru    0x81007f00, 0x7f818100, 0x817f8100, 0x81817f00, 0x81008100, 0x817f7f00, 0x7f7f8100, 0x81817f00
592d793a6f4SNicolas Chautru
593d793a6f4SNicolas Chautru.. parsed-literal::
594d793a6f4SNicolas Chautru
595d793a6f4SNicolas Chautru    output0 =
596d793a6f4SNicolas Chautru    0xa7d6732e
597d793a6f4SNicolas Chautru
598d793a6f4SNicolas Chautruuint8_t value
599d793a6f4SNicolas Chautru
600d793a6f4SNicolas Chautru.. parsed-literal::
601d793a6f4SNicolas Chautru
602d793a6f4SNicolas Chautru    basegraph=
603d793a6f4SNicolas Chautru    1
604d793a6f4SNicolas Chautru
605d793a6f4SNicolas Chautruuint16_t value
606d793a6f4SNicolas Chautru
607d793a6f4SNicolas Chautru.. parsed-literal::
608d793a6f4SNicolas Chautru
609d793a6f4SNicolas Chautru    z_c=
610d793a6f4SNicolas Chautru    224
611d793a6f4SNicolas Chautru
612d793a6f4SNicolas Chautruuint16_t value
613d793a6f4SNicolas Chautru
614d793a6f4SNicolas Chautru.. parsed-literal::
615d793a6f4SNicolas Chautru
616d793a6f4SNicolas Chautru    n_cb=
617d793a6f4SNicolas Chautru    14784
618d793a6f4SNicolas Chautru
619d793a6f4SNicolas Chautruuint8_t value
620d793a6f4SNicolas Chautru
621d793a6f4SNicolas Chautru.. parsed-literal::
622d793a6f4SNicolas Chautru
623d793a6f4SNicolas Chautru    q_m=
624d793a6f4SNicolas Chautru    1
625d793a6f4SNicolas Chautru
626d793a6f4SNicolas Chautruuint16_t value
627d793a6f4SNicolas Chautru
628d793a6f4SNicolas Chautru.. parsed-literal::
629d793a6f4SNicolas Chautru
630d793a6f4SNicolas Chautru    n_filler=
631d793a6f4SNicolas Chautru    40
632d793a6f4SNicolas Chautru
633d793a6f4SNicolas Chautruuint32_t value
634d793a6f4SNicolas Chautru
635d793a6f4SNicolas Chautru.. parsed-literal::
636d793a6f4SNicolas Chautru
637d793a6f4SNicolas Chautru    e=
638d793a6f4SNicolas Chautru    13072
639d793a6f4SNicolas Chautru
640d793a6f4SNicolas Chautruuint8_t value
641d793a6f4SNicolas Chautru
642d793a6f4SNicolas Chautru.. parsed-literal::
643d793a6f4SNicolas Chautru
644d793a6f4SNicolas Chautru    rv_index=
645d793a6f4SNicolas Chautru    2
646d793a6f4SNicolas Chautru
647d793a6f4SNicolas Chautruuint8_t value
648d793a6f4SNicolas Chautru
649d793a6f4SNicolas Chautru.. parsed-literal::
650d793a6f4SNicolas Chautru    code_block_mode=
651d793a6f4SNicolas Chautru    1
652d793a6f4SNicolas Chautru
653d793a6f4SNicolas Chautruuint8_t value
654d793a6f4SNicolas Chautru
655d793a6f4SNicolas Chautru.. parsed-literal::
656d793a6f4SNicolas Chautru
657d793a6f4SNicolas Chautru    iter_max=
658d793a6f4SNicolas Chautru    20
659d793a6f4SNicolas Chautru
660d793a6f4SNicolas Chautruuint8_t value
661d793a6f4SNicolas Chautru
662d793a6f4SNicolas Chautru.. parsed-literal::
663d793a6f4SNicolas Chautru
664d793a6f4SNicolas Chautru    expected_iter_count=
665d793a6f4SNicolas Chautru    8
666d793a6f4SNicolas Chautru
667d793a6f4SNicolas Chautru
668d793a6f4SNicolas ChautruChain of flags for LDPC decoder operation based on the rte_bbdev_op_ldpcdec_flag_bitmasks:
669d793a6f4SNicolas Chautru
670d793a6f4SNicolas ChautruExample:
671d793a6f4SNicolas Chautru
672d793a6f4SNicolas Chautru    .. parsed-literal::
673d793a6f4SNicolas Chautru
674d793a6f4SNicolas Chautru        op_flags =
675d793a6f4SNicolas Chautru        RTE_BBDEV_LDPC_ITERATION_STOP_ENABLE, RTE_BBDEV_LDPC_HQ_COMBINE_OUT_ENABLE,
676d793a6f4SNicolas Chautru        RTE_BBDEV_LDPC_HQ_COMBINE_IN_ENABLE, RTE_BBDEV_LDPC_HARQ_6BIT_COMPRESSION
677d793a6f4SNicolas Chautru
678d793a6f4SNicolas ChautruChain of operation statuses that are expected after operation is performed.
679d793a6f4SNicolas ChautruFollowing statuses can be used:
680d793a6f4SNicolas Chautru
681d793a6f4SNicolas Chautru- ``OK`` : No error reported.
682d793a6f4SNicolas Chautru
683d793a6f4SNicolas Chautru- ``SYN`` : LDPC syndrome parity check is failing.
684d793a6f4SNicolas Chautru
685d793a6f4SNicolas Chautru- ``CRC`` : CRC parity check is failing when CRC check operation is included.
686d793a6f4SNicolas Chautru
687d793a6f4SNicolas Chautru- ``SYNCRC`` : Both CRC and LDPC syndromes parity checks are failing.
688d793a6f4SNicolas Chautru
689d793a6f4SNicolas Chautru``OK`` means no errors are expected. Cannot be used with other values.
690d793a6f4SNicolas Chautru
691d793a6f4SNicolas Chautru.. parsed-literal::
692d793a6f4SNicolas Chautru
693d793a6f4SNicolas Chautru    expected_status =
694d793a6f4SNicolas Chautru    CRC
695d793a6f4SNicolas Chautru
696d793a6f4SNicolas Chautru
697d793a6f4SNicolas ChautruLDPC encoder test vectors template
698d793a6f4SNicolas Chautru~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
699d793a6f4SNicolas Chautru
700d793a6f4SNicolas ChautruFor turbo encoder it has to be always set to ``RTE_BBDEV_OP_LDPC_ENC``
701d793a6f4SNicolas Chautru
702d793a6f4SNicolas Chautru.. parsed-literal::
703d793a6f4SNicolas Chautru
704d793a6f4SNicolas Chautru    op_type =
705d793a6f4SNicolas Chautru    RTE_BBDEV_OP_LDPC_ENC
706d793a6f4SNicolas Chautru
707d793a6f4SNicolas ChautruChain of uint32_t values
708d793a6f4SNicolas Chautru
709d793a6f4SNicolas Chautru.. parsed-literal::
710d793a6f4SNicolas Chautru
711d793a6f4SNicolas Chautru    input0 =
712d793a6f4SNicolas Chautru    0x11d2bcac, 0x4d
713d793a6f4SNicolas Chautru
714d793a6f4SNicolas ChautruChain of uint32_t values
715d793a6f4SNicolas Chautru
716d793a6f4SNicolas Chautru.. parsed-literal::
717d793a6f4SNicolas Chautru
718d793a6f4SNicolas Chautru    output0 =
719d793a6f4SNicolas Chautru    0xd2399179, 0x640eb999, 0x2cbaf577, 0xaf224ae2, 0x9d139927, 0xe6909b29,
720d793a6f4SNicolas Chautru    0xa25b7f47, 0x2aa224ce, 0x79f2
721d793a6f4SNicolas Chautru
722d793a6f4SNicolas Chautru
723d793a6f4SNicolas Chautruuint8_t value
724d793a6f4SNicolas Chautru
725d793a6f4SNicolas Chautru.. parsed-literal::
726d793a6f4SNicolas Chautru
727d793a6f4SNicolas Chautru    basegraph=
728d793a6f4SNicolas Chautru    1
729d793a6f4SNicolas Chautru
730d793a6f4SNicolas Chautruuint16_t value
731d793a6f4SNicolas Chautru
732d793a6f4SNicolas Chautru.. parsed-literal::
733d793a6f4SNicolas Chautru
734d793a6f4SNicolas Chautru    z_c=
735d793a6f4SNicolas Chautru    52
736d793a6f4SNicolas Chautru
737d793a6f4SNicolas Chautruuint16_t value
738d793a6f4SNicolas Chautru
739d793a6f4SNicolas Chautru.. parsed-literal::
740d793a6f4SNicolas Chautru
741d793a6f4SNicolas Chautru    n_cb=
742d793a6f4SNicolas Chautru    3432
743d793a6f4SNicolas Chautru
744d793a6f4SNicolas Chautruuint8_t value
745d793a6f4SNicolas Chautru
746d793a6f4SNicolas Chautru.. parsed-literal::
747d793a6f4SNicolas Chautru
748d793a6f4SNicolas Chautru    q_m=
749d793a6f4SNicolas Chautru    6
750d793a6f4SNicolas Chautru
751d793a6f4SNicolas Chautruuint16_t value
752d793a6f4SNicolas Chautru
753d793a6f4SNicolas Chautru.. parsed-literal::
754d793a6f4SNicolas Chautru
755d793a6f4SNicolas Chautru    n_filler=
756d793a6f4SNicolas Chautru    0
757d793a6f4SNicolas Chautru
758d793a6f4SNicolas Chautruuint32_t value
759d793a6f4SNicolas Chautru
760d793a6f4SNicolas Chautru.. parsed-literal::
761d793a6f4SNicolas Chautru
762d793a6f4SNicolas Chautru    e =
763d793a6f4SNicolas Chautru    1380
764d793a6f4SNicolas Chautru
765d793a6f4SNicolas Chautruuint8_t value
766d793a6f4SNicolas Chautru
767d793a6f4SNicolas Chautru.. parsed-literal::
768d793a6f4SNicolas Chautru
769d793a6f4SNicolas Chautru    rv_index =
770d793a6f4SNicolas Chautru    1
771d793a6f4SNicolas Chautru
772d793a6f4SNicolas Chautruuint8_t value
773d793a6f4SNicolas Chautru
774d793a6f4SNicolas Chautru.. parsed-literal::
775d793a6f4SNicolas Chautru
776d793a6f4SNicolas Chautru    code_block_mode =
777d793a6f4SNicolas Chautru    1
778d793a6f4SNicolas Chautru
779d793a6f4SNicolas Chautru
780d793a6f4SNicolas ChautruChain of flags for LDPC encoder operation based on the
781d793a6f4SNicolas Chautrurte_bbdev_op_ldpcenc_flag_bitmasks:
782d793a6f4SNicolas Chautru
783d793a6f4SNicolas Chautru.. parsed-literal::
784d793a6f4SNicolas Chautru
785d793a6f4SNicolas Chautru    op_flags =
786d793a6f4SNicolas Chautru    RTE_BBDEV_LDPC_RATE_MATCH
787d793a6f4SNicolas Chautru
788d793a6f4SNicolas ChautruChain of operation statuses that are expected after operation is performed.
789d793a6f4SNicolas ChautruFollowing statuses can be used:
790d793a6f4SNicolas Chautru
791d793a6f4SNicolas Chautru- ``DMA``
792d793a6f4SNicolas Chautru
793d793a6f4SNicolas Chautru- ``FCW``
794d793a6f4SNicolas Chautru
795d793a6f4SNicolas Chautru- ``OK``
796d793a6f4SNicolas Chautru
797d793a6f4SNicolas Chautru``OK`` means no errors are expected. Cannot be used with other values.
798d793a6f4SNicolas Chautru
799d793a6f4SNicolas Chautru.. parsed-literal::
800d793a6f4SNicolas Chautru
801d793a6f4SNicolas Chautru    expected_status =
802d793a6f4SNicolas Chautru    OK
8030acdb986SNicolas Chautru
8040acdb986SNicolas Chautru
8050acdb986SNicolas ChautruFFT test vectors template
8060acdb986SNicolas Chautru~~~~~~~~~~~~~~~~~~~~~~~~~
8070acdb986SNicolas Chautru
8080acdb986SNicolas ChautruFor FFT it has to be always set to ``RTE_BBDEV_OP_FFT``
8090acdb986SNicolas Chautru
8100acdb986SNicolas Chautru.. parsed-literal::
8110acdb986SNicolas Chautru
8120acdb986SNicolas Chautru    op_type =
8130acdb986SNicolas Chautru    RTE_BBDEV_OP_FFT
8140acdb986SNicolas Chautru
8150acdb986SNicolas ChautruChain of uint32_t values
8160acdb986SNicolas Chautru
8170acdb986SNicolas Chautru.. parsed-literal::
8180acdb986SNicolas Chautru
8190acdb986SNicolas Chautru    input0 =
8200acdb986SNicolas Chautru    0x11d2bcac, ...
8210acdb986SNicolas Chautru
8220acdb986SNicolas ChautruChain of uint32_t values
8230acdb986SNicolas Chautru
8240acdb986SNicolas Chautru.. parsed-literal::
8250acdb986SNicolas Chautru
8260acdb986SNicolas Chautru    output0 =
8270acdb986SNicolas Chautru    0xd2399179, ...
8280acdb986SNicolas Chautru
8290acdb986SNicolas Chautruuint16_t value
8300acdb986SNicolas Chautru
8310acdb986SNicolas Chautru.. parsed-literal::
8320acdb986SNicolas Chautru
8330acdb986SNicolas Chautru    in_sequence_size =
8340acdb986SNicolas Chautru    60
8350acdb986SNicolas Chautru
8360acdb986SNicolas Chautruuint16_t value
8370acdb986SNicolas Chautru
8380acdb986SNicolas Chautru.. parsed-literal::
8390acdb986SNicolas Chautru
8400acdb986SNicolas Chautru    in_leading_padding =
8410acdb986SNicolas Chautru    4
8420acdb986SNicolas Chautru
8430acdb986SNicolas Chautruuint16_t value
8440acdb986SNicolas Chautru
8450acdb986SNicolas Chautru.. parsed-literal::
8460acdb986SNicolas Chautru
8470acdb986SNicolas Chautru    out_sequence_size =
8480acdb986SNicolas Chautru    60
8490acdb986SNicolas Chautru
8500acdb986SNicolas Chautruuint6_t value
8510acdb986SNicolas Chautru
8520acdb986SNicolas Chautru.. parsed-literal::
8530acdb986SNicolas Chautru
8540acdb986SNicolas Chautru    out_leading_depadding =
8550acdb986SNicolas Chautru    0
8560acdb986SNicolas Chautru
8570acdb986SNicolas ChautruList of window indexes
8580acdb986SNicolas Chautru
8590acdb986SNicolas Chautru.. parsed-literal::
8600acdb986SNicolas Chautru
8610acdb986SNicolas Chautru    window_index =
8620acdb986SNicolas Chautru    2, 5, 8, 11, 14, 2, 5, 8, 11, 14, 2, 5
8630acdb986SNicolas Chautru
8640acdb986SNicolas Chautruuint8_t value
8650acdb986SNicolas Chautru
8660acdb986SNicolas Chautru.. parsed-literal::
8670acdb986SNicolas Chautru
8680acdb986SNicolas Chautru    num_antennas_log2 =
8690acdb986SNicolas Chautru    3
8700acdb986SNicolas Chautru
8710acdb986SNicolas Chautruuint8_t value
8720acdb986SNicolas Chautru
8730acdb986SNicolas Chautru.. parsed-literal::
8740acdb986SNicolas Chautru
8750acdb986SNicolas Chautru    ifft_log2 =
8760acdb986SNicolas Chautru    6
8770acdb986SNicolas Chautru
8780acdb986SNicolas Chautruuint8_t value
8790acdb986SNicolas Chautru
8800acdb986SNicolas Chautru.. parsed-literal::
8810acdb986SNicolas Chautru
8820acdb986SNicolas Chautru    fft_log2 =
8830acdb986SNicolas Chautru    6
8840acdb986SNicolas Chautru
8850acdb986SNicolas Chautruuint8_t value
8860acdb986SNicolas Chautru
8870acdb986SNicolas Chautru.. parsed-literal::
8880acdb986SNicolas Chautru
8890acdb986SNicolas Chautru    cs_time_adjustment =
8900acdb986SNicolas Chautru    0
8910acdb986SNicolas Chautru
8920acdb986SNicolas Chautruuint8_t value
8930acdb986SNicolas Chautru
8940acdb986SNicolas Chautru.. parsed-literal::
8950acdb986SNicolas Chautru
8960acdb986SNicolas Chautru    ifft_shift =
8970acdb986SNicolas Chautru    3
8980acdb986SNicolas Chautru
8990acdb986SNicolas Chautruuint8_t value
9000acdb986SNicolas Chautru
9010acdb986SNicolas Chautru.. parsed-literal::
9020acdb986SNicolas Chautru
9030acdb986SNicolas Chautru    fft_shift =
9040acdb986SNicolas Chautru    3
9050acdb986SNicolas Chautru
9060acdb986SNicolas Chautruuint16_t value
9070acdb986SNicolas Chautru
9080acdb986SNicolas Chautru.. parsed-literal::
9090acdb986SNicolas Chautru
9100acdb986SNicolas Chautru    ncs_reciprocal =
9110acdb986SNicolas Chautru    5461
9120acdb986SNicolas Chautru
9130acdb986SNicolas ChautruChain of flags for FFT operation based on the
9140acdb986SNicolas Chautrurte_bbdev_op_fft_flag_bitmasks:
9150acdb986SNicolas Chautru
9160acdb986SNicolas Chautru.. parsed-literal::
9170acdb986SNicolas Chautru
9180acdb986SNicolas Chautru    op_flags =
9190acdb986SNicolas Chautru    RTE_BBDEV_FFT_CS_ADJUSTMENT, RTE_BBDEV_FFT_WINDOWING
9200acdb986SNicolas Chautru
9210acdb986SNicolas ChautruChain of operation statuses that are expected after operation is performed.
9220acdb986SNicolas ChautruFollowing statuses can be used:
9230acdb986SNicolas Chautru
9240acdb986SNicolas Chautru- ``DMA``
9250acdb986SNicolas Chautru
9260acdb986SNicolas Chautru- ``FCW``
9270acdb986SNicolas Chautru
9280acdb986SNicolas Chautru- ``OK``
9290acdb986SNicolas Chautru
9300acdb986SNicolas Chautru``OK`` means no errors are expected. Cannot be used with other values.
9310acdb986SNicolas Chautru
9320acdb986SNicolas Chautru.. parsed-literal::
9330acdb986SNicolas Chautru
9340acdb986SNicolas Chautru    expected_status =
9350acdb986SNicolas Chautru    OK
936