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