From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id EB20DA034F; Sat, 11 Sep 2021 21:11:45 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 723EE40042; Sat, 11 Sep 2021 21:11:45 +0200 (CEST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mails.dpdk.org (Postfix) with ESMTP id 6829040041 for ; Sat, 11 Sep 2021 21:11:43 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1631387502; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=gBdCbnKSjbukPBUlcHRFYW1ey1aqw0o32WNK/B8jilU=; b=a+E3lSv4ZgjbrOVUbFvV6b6GM2zl4nz8fcrfug8iBnhm8FQy+Tk7T9MKVLZHCkeq3KDDFy a0lrKIxvweuPLmDPksCKr+SkHBQT3/MswhMTRF0WKm3kQnOlVM9VuGUyLxc2N1NxwNTmXY f4lsfhX62ecgOIltb/kIrwZkffBmAkE= Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-276-Dn9R-IAnOqKx944Y0frXBA-1; Sat, 11 Sep 2021 15:11:41 -0400 X-MC-Unique: Dn9R-IAnOqKx944Y0frXBA-1 Received: by mail-qk1-f197.google.com with SMTP id c27-20020a05620a165b00b003d3817c7c23so35983256qko.16 for ; Sat, 11 Sep 2021 12:11:41 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=gBdCbnKSjbukPBUlcHRFYW1ey1aqw0o32WNK/B8jilU=; b=vIwojzJ2X6aM10Segav0W9bq5CmwYf58DNJbirgPC2b4pFpDKAbBzA4JYdkc9dYW0P +AKfF5YG1yxYMFwbg8MzDHI6OPvDxp2UoJ+FMSV5WAkizfZYLWrfgCAUkKQf09N+U8Bd OeHMNMOajHVQ47U0iWnUcMSIFkWYhADETZh/I0iXDTzWZl9K0iVFzncd6uX94XlU4VBp 0yl8IYCM2tZDhaGioq7Kn55m9PmRQka00OIVf3O3Jcya+orzIVaafNr1Jg8pFNZyFPMJ 0NIYjTvxjjNnV5ShEX1NTMYVQ3AskZzjpFH8F8IN8M8LuzKL/PEckgGflaIwd6SgEfZ9 oAuQ== X-Gm-Message-State: AOAM532lF0GkfI/CsC3QkKlFRkK2rMuK+KrBdtaM7VZy/9tLT4E17qVV jSRSpjNz3qI3Y5SgBFDmvuJ5ArAU659OkwwfRJ0Z03gMCGN7DPE2ZN5z+hl2PdDHo1Dc1+oArN9 R72c= X-Received: by 2002:a05:620a:4f5:: with SMTP id b21mr3105033qkh.323.1631387501012; Sat, 11 Sep 2021 12:11:41 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxA9FnjYklZdcEHtYM4it7OrypcMdMLwV/kaOFVkBD3u/aPY7sv8BJH69MgkGtusPoBZQbeUA== X-Received: by 2002:a05:620a:4f5:: with SMTP id b21mr3105020qkh.323.1631387500809; Sat, 11 Sep 2021 12:11:40 -0700 (PDT) Received: from localhost.localdomain (075-142-250-213.res.spectrum.com. [75.142.250.213]) by smtp.gmail.com with ESMTPSA id r128sm1767685qke.98.2021.09.11.12.11.39 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 11 Sep 2021 12:11:40 -0700 (PDT) To: "Chautru, Nicolas" , "dev@dpdk.org" , "gakhil@marvell.com" Cc: "thomas@monjalon.net" , "hemant.agrawal@nxp.com" , "Zhang, Mingshan" , "Joshi, Arun" References: <1629407410-28822-1-git-send-email-nicolas.chautru@intel.com> <1629407410-28822-2-git-send-email-nicolas.chautru@intel.com> From: Tom Rix Message-ID: Date: Sat, 11 Sep 2021 12:11:38 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 MIME-Version: 1.0 In-Reply-To: Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=trix@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US Subject: Re: [dpdk-dev] [PATCH v2 1/6] bbdev: add capability for CRC16 check X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" On 9/1/21 8:00 AM, Chautru, Nicolas wrote: > >> -----Original Message----- >> From: Tom Rix >> Sent: Wednesday, September 1, 2021 6:37 AM >> To: Chautru, Nicolas ; dev@dpdk.org; >> gakhil@marvell.com >> Cc: thomas@monjalon.net; hemant.agrawal@nxp.com; Zhang, Mingshan >> ; Joshi, Arun >> Subject: Re: [PATCH v2 1/6] bbdev: add capability for CRC16 check >> >> >> On 8/19/21 2:10 PM, Nicolas Chautru wrote: >>> Adding a missing operation when CRC16 >>> is being used for TB CRC check. >>> >>> Signed-off-by: Nicolas Chautru >>> --- >>> app/test-bbdev/test_bbdev_vector.c | 2 ++ >>> doc/guides/prog_guide/bbdev.rst | 3 +++ >>> doc/guides/rel_notes/release_21_11.rst | 1 + >>> lib/bbdev/rte_bbdev_op.h | 34 ++++++++++++++++++-------------- >> -- >>> 4 files changed, 24 insertions(+), 16 deletions(-) >>> >>> diff --git a/app/test-bbdev/test_bbdev_vector.c >>> b/app/test-bbdev/test_bbdev_vector.c >>> index 614dbd1..8d796b1 100644 >>> --- a/app/test-bbdev/test_bbdev_vector.c >>> +++ b/app/test-bbdev/test_bbdev_vector.c >>> @@ -167,6 +167,8 @@ >>> *op_flag_value = RTE_BBDEV_LDPC_CRC_TYPE_24B_CHECK; >>> else if (!strcmp(token, "RTE_BBDEV_LDPC_CRC_TYPE_24B_DROP")) >>> *op_flag_value = RTE_BBDEV_LDPC_CRC_TYPE_24B_DROP; >>> + else if (!strcmp(token, "RTE_BBDEV_LDPC_CRC_TYPE_16_CHECK")) >>> + *op_flag_value = RTE_BBDEV_LDPC_CRC_TYPE_16_CHECK; >>> else if (!strcmp(token, >> "RTE_BBDEV_LDPC_DEINTERLEAVER_BYPASS")) >>> *op_flag_value = >> RTE_BBDEV_LDPC_DEINTERLEAVER_BYPASS; >>> else if (!strcmp(token, >> "RTE_BBDEV_LDPC_HQ_COMBINE_IN_ENABLE")) >>> diff --git a/doc/guides/prog_guide/bbdev.rst >>> b/doc/guides/prog_guide/bbdev.rst index 9619280..8bd7cba 100644 >>> --- a/doc/guides/prog_guide/bbdev.rst >>> +++ b/doc/guides/prog_guide/bbdev.rst >>> @@ -891,6 +891,9 @@ given below. >>> |RTE_BBDEV_LDPC_CRC_TYPE_24B_DROP | >>> | Set to drop the last CRC bits decoding output | >>> >>> +--------------------------------------------------------------------+ >>> +|RTE_BBDEV_LDPC_CRC_TYPE_16_CHECK | >>> +| Set for code block CRC-16 checking | >>> ++--------------------------------------------------------------------+ >>> |RTE_BBDEV_LDPC_DEINTERLEAVER_BYPASS | >>> | Set for bit-level de-interleaver bypass on input stream | >>> >>> +--------------------------------------------------------------------+ >>> diff --git a/doc/guides/rel_notes/release_21_11.rst >>> b/doc/guides/rel_notes/release_21_11.rst >>> index d707a55..69dd518 100644 >>> --- a/doc/guides/rel_notes/release_21_11.rst >>> +++ b/doc/guides/rel_notes/release_21_11.rst >>> @@ -84,6 +84,7 @@ API Changes >>> Also, make sure to start the actual text at the margin. >>> ======================================================= >>> >>> +* bbdev: Added capability related to more comprehensive CRC options. >>> >>> ABI Changes >>> ----------- >>> diff --git a/lib/bbdev/rte_bbdev_op.h b/lib/bbdev/rte_bbdev_op.h index >>> f946842..7c44ddd 100644 >>> --- a/lib/bbdev/rte_bbdev_op.h >>> +++ b/lib/bbdev/rte_bbdev_op.h >>> @@ -142,51 +142,53 @@ enum rte_bbdev_op_ldpcdec_flag_bitmasks { >>> RTE_BBDEV_LDPC_CRC_TYPE_24B_CHECK = (1ULL << 1), >>> /** Set to drop the last CRC bits decoding output */ >>> RTE_BBDEV_LDPC_CRC_TYPE_24B_DROP = (1ULL << 2), >>> + /** Set for transport block CRC-16 checking */ >>> + RTE_BBDEV_LDPC_CRC_TYPE_16_CHECK = (1ULL << 3), >> Changing these enums will break the abi backwards. >> >> Why not add the new one at the end ? > To keep all the CRC related flags next to each other for better readability and logical clarity. The ABI is still marked as experimental. Ok > >> Tom >> >>> /** Set for bit-level de-interleaver bypass on Rx stream. */ >>> - RTE_BBDEV_LDPC_DEINTERLEAVER_BYPASS = (1ULL << 3), >>> + RTE_BBDEV_LDPC_DEINTERLEAVER_BYPASS = (1ULL << 4), >>> /** Set for HARQ combined input stream enable. */ >>> - RTE_BBDEV_LDPC_HQ_COMBINE_IN_ENABLE = (1ULL << 4), >>> + RTE_BBDEV_LDPC_HQ_COMBINE_IN_ENABLE = (1ULL << 5), >>> /** Set for HARQ combined output stream enable. */ >>> - RTE_BBDEV_LDPC_HQ_COMBINE_OUT_ENABLE = (1ULL << 5), >>> + RTE_BBDEV_LDPC_HQ_COMBINE_OUT_ENABLE = (1ULL << 6), >>> /** Set for LDPC decoder bypass. >>> * RTE_BBDEV_LDPC_HQ_COMBINE_OUT_ENABLE must be set. >>> */ >>> - RTE_BBDEV_LDPC_DECODE_BYPASS = (1ULL << 6), >>> + RTE_BBDEV_LDPC_DECODE_BYPASS = (1ULL << 7), >>> /** Set for soft-output stream enable */ >>> - RTE_BBDEV_LDPC_SOFT_OUT_ENABLE = (1ULL << 7), >>> + RTE_BBDEV_LDPC_SOFT_OUT_ENABLE = (1ULL << 8), >>> /** Set for Rate-Matching bypass on soft-out stream. */ >>> - RTE_BBDEV_LDPC_SOFT_OUT_RM_BYPASS = (1ULL << 8), >>> + RTE_BBDEV_LDPC_SOFT_OUT_RM_BYPASS = (1ULL << 9), >>> /** Set for bit-level de-interleaver bypass on soft-output stream. */ >>> - RTE_BBDEV_LDPC_SOFT_OUT_DEINTERLEAVER_BYPASS = (1ULL << >> 9), >>> + RTE_BBDEV_LDPC_SOFT_OUT_DEINTERLEAVER_BYPASS = (1ULL << >> 10), >>> /** Set for iteration stopping on successful decode condition >>> * i.e. a successful syndrome check. >>> */ >>> - RTE_BBDEV_LDPC_ITERATION_STOP_ENABLE = (1ULL << 10), >>> + RTE_BBDEV_LDPC_ITERATION_STOP_ENABLE = (1ULL << 11), >>> /** Set if a device supports decoder dequeue interrupts. */ >>> - RTE_BBDEV_LDPC_DEC_INTERRUPTS = (1ULL << 11), >>> + RTE_BBDEV_LDPC_DEC_INTERRUPTS = (1ULL << 12), >>> /** Set if a device supports scatter-gather functionality. */ >>> - RTE_BBDEV_LDPC_DEC_SCATTER_GATHER = (1ULL << 12), >>> + RTE_BBDEV_LDPC_DEC_SCATTER_GATHER = (1ULL << 13), >>> /** Set if a device supports input/output HARQ compression. */ >>> - RTE_BBDEV_LDPC_HARQ_6BIT_COMPRESSION = (1ULL << 13), >>> + RTE_BBDEV_LDPC_HARQ_6BIT_COMPRESSION = (1ULL << 14), >>> /** Set if a device supports input LLR compression. */ >>> - RTE_BBDEV_LDPC_LLR_COMPRESSION = (1ULL << 14), >>> + RTE_BBDEV_LDPC_LLR_COMPRESSION = (1ULL << 15), >>> /** Set if a device supports HARQ input from >>> * device's internal memory. >>> */ >>> - RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_IN_ENABLE = (1ULL >> << 15), >>> + RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_IN_ENABLE = (1ULL >> << 16), >>> /** Set if a device supports HARQ output to >>> * device's internal memory. >>> */ >>> - RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_OUT_ENABLE = >> (1ULL << 16), >>> + RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_OUT_ENABLE = >> (1ULL << 17), >>> /** Set if a device supports loop-back access to >>> * HARQ internal memory. Intended for troubleshooting. >>> */ >>> - RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_LOOPBACK = (1ULL >> << 17), >>> + RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_LOOPBACK = (1ULL >> << 18), >>> /** Set if a device includes LLR filler bits in the circular buffer >>> * for HARQ memory. If not set, it is assumed the filler bits are not >>> * in HARQ memory and handled directly by the LDPC decoder. >>> */ >>> - RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_FILLERS = (1ULL << >> 18) >>> + RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_FILLERS = (1ULL << >> 19) >>> }; >>> >>> /** Flags for LDPC encoder operation and capability structure */