From 54c4cbb6ccf1f6cdd6397cda88e5d513a8e4631d Mon Sep 17 00:00:00 2001 From: Amr Mokhtar Date: Thu, 19 Jul 2018 18:29:36 +0100 Subject: [PATCH] doc: add graphics to bbdev guide Add two SVG graphics representing Turbo coding of code blocks in mbuf data buffer. Signed-off-by: Amr Mokhtar --- doc/guides/prog_guide/bbdev.rst | 18 + doc/guides/prog_guide/img/turbo_tb_decode.svg | 1471 +++++++++++++ doc/guides/prog_guide/img/turbo_tb_encode.svg | 1948 +++++++++++++++++ 3 files changed, 3437 insertions(+) create mode 100644 doc/guides/prog_guide/img/turbo_tb_decode.svg create mode 100644 doc/guides/prog_guide/img/turbo_tb_encode.svg diff --git a/doc/guides/prog_guide/bbdev.rst b/doc/guides/prog_guide/bbdev.rst index b0f44cc0e4..426d31f09a 100644 --- a/doc/guides/prog_guide/bbdev.rst +++ b/doc/guides/prog_guide/bbdev.rst @@ -566,6 +566,15 @@ The case when one CB belongs to TB and is being enqueued individually to BBDEV, this case is considered as a special case of partial TB where its number of CBs is 1. Therefore, it requires to get processed in TB-mode. +The figure below visualizes the encoding of CBs using BBDEV interface in +TB-mode. CB-mode is a reduced version, where only one CB exists: + +.. _figure_turbo_tb_encode: + +.. figure:: img/turbo_tb_encode.svg + + Turbo encoding of Code Blocks in mbuf structure + BBDEV Turbo Decode Operation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -651,6 +660,15 @@ is 1. Therefore, it requires to get processed in TB-mode. The output mbuf data structure is expected to be allocated by the application with enough room for the output data. +The figure below visualizes the decoding of CBs using BBDEV interface in +TB-mode. CB-mode is a reduced version, where only one CB exists: + +.. _figure_turbo_tb_decode: + +.. figure:: img/turbo_tb_decode.svg + + Turbo decoding of Code Blocks in mbuf structure + Sample code ----------- diff --git a/doc/guides/prog_guide/img/turbo_tb_decode.svg b/doc/guides/prog_guide/img/turbo_tb_decode.svg new file mode 100644 index 0000000000..a259f45866 --- /dev/null +++ b/doc/guides/prog_guide/img/turbo_tb_decode.svg @@ -0,0 +1,1471 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + wk LLR circular buffer + + + ... + + wk LLR circular buffer + + + + + + + + + + + + + offse length + offset + The encoded TB is given as acontiguous buffer + + + or + + + or + + + + + + + offset + + + + + wk LLR circular buffer + + + + + + wk LLR circular buffer + + + + + + + + length + + + .. + .. + + The encoded TB is given as a"scattered" buffer through achained mbuf + Result is decoded back into the given outputmbuf as one contiguous buffer with no CRC24B retaining + + + + decode + + + Result is decoded back into the given outputmbuf as one contiguous buffer with CRC24Bretained in place whenRTE_BBDEV_TURBO_DEC_TB_CRC_24B_KEEPis set in op_flags + offset + length + + + + + + + + + + + + + + + + CB1hard + + + + CB2hard + + k_neg + + + ... + + + CBc-1hard + + CBchard + + + CRC24A + + + k_pos + + + + + + + offset + + k_neg + length + + + + + + + + k_pos + + + CB1hard + + + + CRC24B + + + + CB2hard + + + + CRC24B + + + + ... + + + CBc-1hard + + + CRC24B + + + CBchard + + + CRC24A + + + + CRC24B + + mbuf seg 1 + mbuf seg 2 + + + + diff --git a/doc/guides/prog_guide/img/turbo_tb_encode.svg b/doc/guides/prog_guide/img/turbo_tb_encode.svg new file mode 100644 index 0000000000..e3708a9377 --- /dev/null +++ b/doc/guides/prog_guide/img/turbo_tb_encode.svg @@ -0,0 +1,1948 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + offse offset + + + + + + + + + + + + + length + offset + + + + or + + + CB1 + + + CRC24B + + + CB2 + + + CRC24B + + + ... + + CBc-1 + + + CRC24B + + + CBc + + + CRC24A + + + + CRC24B + + + k_neg + + k_pos + - CRC24B & CRC24A were pre-calculatedby the application- The raw TB is given as a contiguousbuffer + - Only CRC24A was pre-calculated by theapplication, thereforeRTE_BBDEV_TURBO_CRC_24B_ATTACHis set in op_flags- The raw TB is given as a contiguousbuffer + + + + + + offset + + + + + + + length + + + + or + + + + k_neg + + CB1 + + CB2 + + ... + + CBc-1 + + CBc + + + CRC24A + + + k_pos + + + k_neg + + k_pos + mbuf seg 1 + mbuf seg 2 + + + + + + + + offset + + + + + + + length + + CB1 + + CB2 + + ... + + + CBN + CBN + + + ... + + CBc-1 + + + + CRC24A + + CBc + - CRC24A was pre-calculated and RTE_BBDEV_TURBO_CRC_24B_ATTACHis set in op_flags- The raw TB is given as a "scattered"buffer through a chained mbuf + + encode + length + + + + + + + + + + + + + + + CB1 + ea + + ... + + CBc-1 + + CBc + + eb + + CB2 + Result is encoded back into the givenoutput mbuf as one contiguous buffer + + -- 2.20.1