<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi Nicolas,<div class=""><br class=""></div><div class="">I spoke with the code author and this file was not intended to be upstreamed. It will be removed in V2.</div><div class=""><br class=""></div><div class="">-John</div><div class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Oct 26, 2022, at 7:22 PM, Chautru, Nicolas <<a href="mailto:nicolas.chautru@intel.com" class="">nicolas.chautru@intel.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta charset="UTF-8" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">Hi John,<span class="Apple-converted-space"> </span></span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">-----Original Message-----<br class="">From: John Miller <<a href="mailto:john.miller@atomicrules.com" class="">john.miller@atomicrules.com</a>><br class="">Sent: Wednesday, October 26, 2022 12:46 PM<br class="">To: Chautru, Nicolas <<a href="mailto:nicolas.chautru@intel.com" class="">nicolas.chautru@intel.com</a>><br class="">Cc:<span class="Apple-converted-space"> </span><a href="mailto:dev@dpdk.org" class="">dev@dpdk.org</a>;<span class="Apple-converted-space"> </span><a href="mailto:ed.czeck@atomicrules.com" class="">ed.czeck@atomicrules.com</a>; Shepard Siegel<br class=""><<a href="mailto:shepard.siegel@atomicrules.com" class="">shepard.siegel@atomicrules.com</a>>; John Miller<br class=""><<a href="mailto:john.miller@atomicrules.com" class="">john.miller@atomicrules.com</a>><br class="">Subject: [PATCH 11/14] baseband/ark: introduce ark baseband driver custom<br class="">functions<br class=""><br class="">This patch introduces the Arkville baseband device driver custom functions.<br class=""><br class="">Signed-off-by: John Miller <<a href="mailto:john.miller@atomicrules.com" class="">john.miller@atomicrules.com</a>><br class="">---<br class="">drivers/baseband/ark/ark_bbdev_custom.c | 201 ++++++++++++++++++++++++<br class="">drivers/baseband/ark/ark_bbdev_custom.h |  30 ++++<br class="">2 files changed, 231 insertions(+)<br class="">create mode 100644 drivers/baseband/ark/ark_bbdev_custom.c<br class="">create mode 100644 drivers/baseband/ark/ark_bbdev_custom.h<br class=""><br class="">diff --git a/drivers/baseband/ark/ark_bbdev_custom.c<br class="">b/drivers/baseband/ark/ark_bbdev_custom.c<br class="">new file mode 100644<br class="">index 0000000000..6b1553abe1<br class="">--- /dev/null<br class="">+++ b/drivers/baseband/ark/ark_bbdev_custom.c<br class="">@@ -0,0 +1,201 @@<br class="">+/* SPDX-License-Identifier: BSD-3-Clause<br class="">+ * Copyright(c) 2016-2021 Atomic Rules LLC  */<br class="">+<br class="">+#include <rte_bbdev.h><br class="">+#include <rte_bbdev_pmd.h><br class="">+<br class="">+#include <rte_mbuf.h><br class="">+#include <rte_hexdump.h><span class="Apple-tab-span" style="white-space: pre;">   </span>/* For debug */<br class="">+<br class="">+<br class="">+#include "ark_bbdev_common.h"<br class="">+#include "ark_bbdev_custom.h"<br class="">+<br class="">+/* It is expected that functions in this file will be modified based on<br class="">+ * specifics of the FPGA hardware beyond the core Arkville<br class="">+ * components.<br class="">+ */<br class="">+<br class="">+/* bytyes must be range of 0 to 20 */<br class="">+static inline<br class="">+uint8_t ark_bb_cvt_bytes_meta_cnt(size_t bytes) {<br class="">+<span class="Apple-tab-span" style="white-space: pre;">    </span>return (bytes + 3) / 8;<br class="">+}<br class="">+<br class="">+void<br class="">+ark_bbdev_info_get(struct rte_bbdev *dev,<br class="">+<span class="Apple-tab-span" style="white-space: pre;">       </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-converted-space"> </span>  struct rte_bbdev_driver_info *dev_info) {<br class="">+<span class="Apple-tab-span" style="white-space: pre;">        </span>struct ark_bbdevice *ark_bb =  dev->data->dev_private;<br class="">+<br class=""></blockquote><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">In your documentation in first commit you mentioned this</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">* Support for LDPC encode and decode operations.</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">* Support for Turbo encode and decode operations.</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">But I only see LDPC below. More generally not really matching the doc I think. Good to have the code and docs in same commits for that reason.<span class="Apple-converted-space"> </span></span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">+<span class="Apple-tab-span" style="white-space: pre;">  </span>static const struct rte_bbdev_op_cap bbdev_capabilities[] = {<br class="">+<span class="Apple-tab-span" style="white-space: pre;">       </span><span class="Apple-tab-span" style="white-space: pre;">  </span>{<br class="">+<span class="Apple-tab-span" style="white-space: pre;">   </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span>.type = RTE_BBDEV_OP_LDPC_DEC,<br class="">+<span class="Apple-tab-span" style="white-space: pre;">      </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span>.cap.ldpc_dec = {<br class="">+<span class="Apple-tab-span" style="white-space: pre;">   </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span>.capability_flags =<br class="">+<span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span>RTE_BBDEV_LDPC_CRC_24B_ATTACH<br class="">|<br class="">+<span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span>RTE_BBDEV_LDPC_RATE_MATCH,<br class=""></blockquote><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">It doesn't look right</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">Basically there se flags are not for LDPC_DEC but for the encoder</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">There is no HARQ combine etc?</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">I would have expected scatter gather here as well based on your documentation</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">+<span class="Apple-tab-span" style="white-space: pre;">     </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span>.num_buffers_src =<br class="">+<br class=""><span class="Apple-tab-span" style="white-space: pre;">     </span>RTE_BBDEV_LDPC_MAX_CODE_BLOCKS,<br class="">+<span class="Apple-tab-span" style="white-space: pre;">     </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span>.num_buffers_hard_out =<br class="">+<br class=""><span class="Apple-tab-span" style="white-space: pre;">        </span>RTE_BBDEV_LDPC_MAX_CODE_BLOCKS<br class="">+<span class="Apple-tab-span" style="white-space: pre;">      </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span>}<br class="">+<span class="Apple-tab-span" style="white-space: pre;">   </span><span class="Apple-tab-span" style="white-space: pre;">  </span>},<br class="">+<span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span>{<br class="">+<span class="Apple-tab-span" style="white-space: pre;">   </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span>.type = RTE_BBDEV_OP_LDPC_ENC,<br class="">+<span class="Apple-tab-span" style="white-space: pre;">      </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span>.cap.ldpc_enc = {<br class="">+<span class="Apple-tab-span" style="white-space: pre;">   </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span>.capability_flags =<br class="">+<span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span>RTE_BBDEV_LDPC_CRC_24B_ATTACH<br class="">|<br class="">+<span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span>RTE_BBDEV_LDPC_RATE_MATCH,<br class="">+<span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span>.num_buffers_src =<br class="">+<br class=""><span class="Apple-tab-span" style="white-space: pre;">     </span>RTE_BBDEV_LDPC_MAX_CODE_BLOCKS,<br class="">+<span class="Apple-tab-span" style="white-space: pre;">     </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span>.num_buffers_dst =<br class="">+<br class=""><span class="Apple-tab-span" style="white-space: pre;">     </span>RTE_BBDEV_LDPC_MAX_CODE_BLOCKS<br class="">+<span class="Apple-tab-span" style="white-space: pre;">      </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span>}<br class="">+<span class="Apple-tab-span" style="white-space: pre;">   </span><span class="Apple-tab-span" style="white-space: pre;">  </span>},<br class="">+<span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span>RTE_BBDEV_END_OF_CAPABILITIES_LIST(),<br class="">+<span class="Apple-tab-span" style="white-space: pre;">       </span>};<br class="">+<br class="">+<span class="Apple-tab-span" style="white-space: pre;">    </span>static struct rte_bbdev_queue_conf default_queue_conf = {<br class="">+<span class="Apple-tab-span" style="white-space: pre;">   </span><span class="Apple-tab-span" style="white-space: pre;">  </span>.queue_size = RTE_BBDEV_QUEUE_SIZE_LIMIT,<br class="">+<span class="Apple-tab-span" style="white-space: pre;">   </span>};<br class="">+<br class="">+<span class="Apple-tab-span" style="white-space: pre;">    </span>default_queue_conf.socket = dev->data->socket_id;<br class="">+<br class="">+<span class="Apple-tab-span" style="white-space: pre;">       </span>dev_info->driver_name = RTE_STR(DRIVER_NAME);<br class="">+<span class="Apple-tab-span" style="white-space: pre;">    </span>dev_info->max_num_queues = ark_bb->max_nb_queues;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">     </span>dev_info->queue_size_lim = RTE_BBDEV_QUEUE_SIZE_LIMIT;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">   </span>dev_info->hardware_accelerated = true;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">   </span>dev_info->max_dl_queue_priority = 0;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">     </span>dev_info->max_ul_queue_priority = 0;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">     </span>dev_info->default_queue_conf = default_queue_conf;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">       </span>dev_info->capabilities = bbdev_capabilities;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">     </span>dev_info->cpu_flag_reqs = NULL;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">  </span>dev_info->min_alignment = 4;<br class=""></blockquote><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">Is there really a 4 Bytes alignment requirement per code blocks? That sounds extremely cumbersome, is that what you really mean?</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">+<br class="">+}<br class="">+<br class="">+/* Structure defining layout of the ldpc command struct */ struct<br class="">+ark_bb_ldpc_enc_meta {<br class="">+<span class="Apple-tab-span" style="white-space: pre;">      </span>uint16_t header;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">    </span>uint8_t rv_index:2,<br class="">+<span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;">  </span>basegraph:1,<br class="">+<span class="Apple-tab-span" style="white-space: pre;">        </span><span class="Apple-tab-span" style="white-space: pre;">  </span>code_block_mode:1,<br class="">+<span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span>rfu_71_68:4;<br class=""></blockquote><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">What is this? Just curious.<span class="Apple-converted-space"> </span></span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">+<br class="">+<span class="Apple-tab-span" style="white-space: pre;">       </span>uint8_t q_m;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">        </span>uint32_t e_ea;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">      </span>uint32_t eb;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">        </span>uint8_t c;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">  </span>uint8_t cab;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">        </span>uint16_t n_cb;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">      </span>uint16_t pad;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">       </span>uint16_t trailer;<br class="">+} __rte_packed;<br class="">+<br class="">+/* The size must be less then 20 Bytes */ static_assert(sizeof(struct<br class="">+ark_bb_ldpc_enc_meta) <= 20, "struct size");<br class="">+<br class="">+/* Custom operation on equeue ldpc operation  */<br class=""></blockquote><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">Typo enqueue</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">+/* Do these function need queue number? */<br class=""></blockquote><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">Who is the question for? Through bbdev api the queue index is expected, and from your documentation I believe you support multiple queues.<span class="Apple-converted-space"> </span></span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">+/* Maximum of 20 bytes */<br class="">+int<br class="">+ark_bb_user_enqueue_ldpc_enc(struct rte_bbdev_enc_op *enc_op,<br class="">+<span class="Apple-tab-span" style="white-space: pre;">   </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-converted-space"> </span> uint32_t *meta, uint8_t *meta_cnt) {<br class="">+<span class="Apple-tab-span" style="white-space: pre;">   </span>struct rte_bbdev_op_ldpc_enc *ldpc_enc_op = &enc_op->ldpc_enc;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">       </span>struct ark_bb_ldpc_enc_meta *src = (struct ark_bb_ldpc_enc_meta<br class="">+*)meta;<br class="">+<br class="">+<span class="Apple-tab-span" style="white-space: pre;">  </span>src->header = 0x4321;<span class="Apple-tab-span" style="white-space: pre;">  </span>/* For testings */<br class="">+<span class="Apple-tab-span" style="white-space: pre;">  </span>src->trailer = 0xFEDC;<br class="">+<br class="">+<span class="Apple-tab-span" style="white-space: pre;">     </span>src->rv_index = ldpc_enc_op->rv_index;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">        </span>src->basegraph = ldpc_enc_op->basegraph;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">      </span>src->code_block_mode = ldpc_enc_op->code_block_mode;<br class="">+<br class="">+<span class="Apple-tab-span" style="white-space: pre;">    </span>src->q_m = ldpc_enc_op->q_m;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">  </span>src->e_ea = 0xABCD;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">      </span>src->eb = ldpc_enc_op->tb_params.eb;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">  </span>src->c = ldpc_enc_op->tb_params.c;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">    </span>src->cab = ldpc_enc_op->tb_params.cab;<br class="">+<br class="">+<span class="Apple-tab-span" style="white-space: pre;">  </span>src->n_cb = 0;<br class="">+<br class="">+<span class="Apple-tab-span" style="white-space: pre;">     </span>meta[0] = 0x11111110;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">       </span>meta[1] = 0x22222220;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">       </span>meta[2] = 0x33333330;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">       </span>meta[3] = 0x44444440;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">       </span>meta[4] = 0x55555550;<br class=""></blockquote><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">Should these be defined separately?</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">+<br class="">+<span class="Apple-tab-span" style="white-space: pre;">     </span>*meta_cnt = ark_bb_cvt_bytes_meta_cnt(<br class="">+<span class="Apple-tab-span" style="white-space: pre;">      </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span>sizeof(struct ark_bb_ldpc_enc_meta));<br class="">+<span class="Apple-tab-span" style="white-space: pre;">       </span>return 0;<br class="">+}<br class="">+<br class="">+/* Custom operation on dequeue ldpc operation  */ int<br class="">+ark_bb_user_dequeue_ldpc_enc(struct rte_bbdev_enc_op *enc_op,<br class="">+<span class="Apple-tab-span" style="white-space: pre;">   </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-converted-space"> </span>    const uint32_t *usermeta)<br class="">+{<br class="">+<span class="Apple-tab-span" style="white-space: pre;">     </span>static int dump;<span class="Apple-tab-span" style="white-space: pre;">  </span>/* = 0 */<br class="">+<span class="Apple-tab-span" style="white-space: pre;">   </span>/* Just compare with what was sent? */<br class="">+<span class="Apple-tab-span" style="white-space: pre;">      </span>uint32_t meta_in[5] = {0};<br class="">+<span class="Apple-tab-span" style="white-space: pre;">  </span>uint8_t  meta_cnt;<br class="">+<br class="">+<span class="Apple-tab-span" style="white-space: pre;">       </span>ark_bb_user_enqueue_ldpc_enc(enc_op, meta_in, &meta_cnt);<br class="">+<span class="Apple-tab-span" style="white-space: pre;">       </span>if (memcmp(usermeta, meta_in, 3 + (meta_cnt * 8))) {<br class="">+<span class="Apple-tab-span" style="white-space: pre;">        </span><span class="Apple-tab-span" style="white-space: pre;">  </span>fprintf(stderr,<br class="">+<span class="Apple-tab-span" style="white-space: pre;">     </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span>"------------------------------------------\n");<br class="">+<span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span>rte_hexdump(stdout, "meta difference for lpdc_enc IN",<br class="">+<span class="Apple-tab-span" style="white-space: pre;">    </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-converted-space"> </span>   meta_in, 20);<br class="">+<span class="Apple-tab-span" style="white-space: pre;">      </span><span class="Apple-tab-span" style="white-space: pre;">  </span>rte_hexdump(stdout, "meta difference for lpdc_enc OUT",<br class="">+<span class="Apple-tab-span" style="white-space: pre;">   </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-converted-space"> </span>   usermeta, 20);<br class="">+<span class="Apple-tab-span" style="white-space: pre;">     </span>} else if (dump) {<br class="">+<span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span>rte_hexdump(stdout, "DUMP lpdc_enc IN", usermeta, 20);<br class="">+<span class="Apple-tab-span" style="white-space: pre;">    </span><span class="Apple-tab-span" style="white-space: pre;">  </span>dump--;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">     </span>}<br class="">+<br class="">+<span class="Apple-tab-span" style="white-space: pre;">     </span>return 0;<br class="">+}<br class="">+<br class="">+<br class="">+/* Turbo op call backs for user meta data */ int<br class="">+ark_bb_user_enqueue_ldpc_dec(struct rte_bbdev_dec_op *enc_op,<br class="">+<span class="Apple-tab-span" style="white-space: pre;">       </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-converted-space"> </span>uint32_t *meta, uint8_t *meta_cnt) {<br class="">+<span class="Apple-tab-span" style="white-space: pre;"> </span>RTE_SET_USED(enc_op);<br class=""></blockquote><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">Is the implementation missing?</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">The enc_op should be called differently.<span class="Apple-converted-space"> </span></span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">+<span class="Apple-tab-span" style="white-space: pre;">       </span>meta[0] = 0xF1111110;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">       </span>meta[1] = 0xF2222220;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">       </span>meta[2] = 0xF3333330;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">       </span>meta[3] = 0xF4444440;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">       </span>meta[4] = 0xF5555550;<br class="">+<br class="">+<span class="Apple-tab-span" style="white-space: pre;"> </span>*meta_cnt = ark_bb_cvt_bytes_meta_cnt(20);<br class="">+<span class="Apple-tab-span" style="white-space: pre;">  </span>return 0;<br class="">+}<br class="">+<br class="">+int ark_bb_user_dequeue_ldpc_dec(struct rte_bbdev_dec_op *enc_op,<br class="">+<span class="Apple-tab-span" style="white-space: pre;">       </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-converted-space"> </span>const uint32_t *usermeta)<br class="">+{<br class="">+<span class="Apple-tab-span" style="white-space: pre;">     </span>RTE_SET_USED(enc_op);<br class="">+<span class="Apple-tab-span" style="white-space: pre;">       </span>static int dump;<span class="Apple-tab-span" style="white-space: pre;">  </span>/* = 0 */<br class="">+<span class="Apple-tab-span" style="white-space: pre;">   </span>/* Just compare with what was sent? */<br class=""></blockquote><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">That looks like still testcode isn't it? Doing some loopback.<span class="Apple-converted-space"> </span></span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">+<span class="Apple-tab-span" style="white-space: pre;"> </span>uint32_t meta_in[5] = {0};<br class="">+<span class="Apple-tab-span" style="white-space: pre;">  </span>uint8_t  meta_cnt;<br class="">+<br class="">+<span class="Apple-tab-span" style="white-space: pre;">       </span>ark_bb_user_enqueue_ldpc_dec(enc_op, meta_in, &meta_cnt);<br class="">+<span class="Apple-tab-span" style="white-space: pre;">       </span>if (memcmp(usermeta, meta_in, 3 + (meta_cnt * 8))) {<br class="">+<span class="Apple-tab-span" style="white-space: pre;">        </span><span class="Apple-tab-span" style="white-space: pre;">  </span>fprintf(stderr,<br class="">+<span class="Apple-tab-span" style="white-space: pre;">     </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span>"------------------------------------------\n");<br class="">+<span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span>rte_hexdump(stdout, "meta difference for lpdc_enc IN",<br class="">+<span class="Apple-tab-span" style="white-space: pre;">    </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-converted-space"> </span>   meta_in, 20);<br class="">+<span class="Apple-tab-span" style="white-space: pre;">      </span><span class="Apple-tab-span" style="white-space: pre;">  </span>rte_hexdump(stdout, "meta difference for lpdc_enc OUT",<br class="">+<span class="Apple-tab-span" style="white-space: pre;">   </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-converted-space"> </span>   usermeta, 20);<br class="">+<span class="Apple-tab-span" style="white-space: pre;">     </span>} else if (dump) {<br class="">+<span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span>rte_hexdump(stdout, "DUMP lpdc_enc IN", usermeta, 20);<br class="">+<span class="Apple-tab-span" style="white-space: pre;">    </span><span class="Apple-tab-span" style="white-space: pre;">  </span>dump--;<br class="">+<span class="Apple-tab-span" style="white-space: pre;">     </span>}<br class="">+<span class="Apple-tab-span" style="white-space: pre;">   </span>return 0;<br class="">+}<br class="">diff --git a/drivers/baseband/ark/ark_bbdev_custom.h<br class="">b/drivers/baseband/ark/ark_bbdev_custom.h<br class="">new file mode 100644<br class="">index 0000000000..32a2ef6bb6<br class="">--- /dev/null<br class="">+++ b/drivers/baseband/ark/ark_bbdev_custom.h<br class="">@@ -0,0 +1,30 @@<br class="">+/* SPDX-License-Identifier: BSD-3-Clause<br class="">+ * Copyright(c) 2016-2021 Atomic Rules LLC  */<br class="">+<br class="">+#ifndef _ARK_BBDEV_CUSTOM_H_<br class="">+#define _ARK_BBDEV_CUSTOM_H_<br class="">+<br class="">+#include <stdint.h><br class="">+<br class="">+/* Forward declarations */<br class="">+struct rte_bbdev;<br class="">+struct rte_bbdev_driver_info;<br class="">+struct rte_bbdev_enc_op;<br class="">+struct rte_bbdev_dec_op;<br class="">+struct rte_mbuf;<br class="">+<br class="">+void ark_bbdev_info_get(struct rte_bbdev *dev,<br class="">+<span class="Apple-tab-span" style="white-space: pre;">        </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span>struct rte_bbdev_driver_info *dev_info);<br class="">+<br class="">+int ark_bb_user_enqueue_ldpc_dec(struct rte_bbdev_dec_op *enc_op,<br class="">+<span class="Apple-tab-span" style="white-space: pre;">       </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-converted-space"> </span>uint32_t *meta, uint8_t *meta_cnt); int<br class="">+ark_bb_user_dequeue_ldpc_dec(struct rte_bbdev_dec_op *enc_op,<br class="">+<span class="Apple-tab-span" style="white-space: pre;">   </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-converted-space"> </span>const uint32_t *usermeta);<br class="">+<br class="">+int ark_bb_user_enqueue_ldpc_enc(struct rte_bbdev_enc_op *enc_op,<br class="">+<span class="Apple-tab-span" style="white-space: pre;">      </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-converted-space"> </span>uint32_t *meta, uint8_t *meta_cnt); int<br class="">+ark_bb_user_dequeue_ldpc_enc(struct rte_bbdev_enc_op *enc_op,<br class="">+<span class="Apple-tab-span" style="white-space: pre;">   </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-converted-space"> </span>const uint32_t *usermeta);<br class="">+<br class="">+#endif<br class="">--<br class="">2.25.1</blockquote></div></blockquote></div><br class=""></div></body></html>