From patchwork Thu Jul 19 17:29:36 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mokhtar, Amr" X-Patchwork-Id: 43216 X-Patchwork-Delegate: pablo.de.lara.guarch@intel.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id ED7A558C6; Thu, 19 Jul 2018 19:29:48 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id D655B5699 for ; Thu, 19 Jul 2018 19:29:46 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 19 Jul 2018 10:29:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,375,1526367600"; d="scan'208";a="73791098" Received: from silpixa00391537.ir.intel.com ([10.237.222.189]) by fmsmga001.fm.intel.com with ESMTP; 19 Jul 2018 10:29:40 -0700 From: Amr Mokhtar To: pablo.de.lara.guarch@intel.com Cc: dev@dpdk.org, Amr Mokhtar Date: Thu, 19 Jul 2018 18:29:36 +0100 Message-Id: <1532021376-29726-1-git-send-email-amr.mokhtar@intel.com> X-Mailer: git-send-email 2.7.4 Subject: [dpdk-dev] [PATCH] doc: add graphics to bbdev library documentation X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 b0f44cc..426d31f 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 0000000..a259f45 --- /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 0000000..e3708a9 --- /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 + +