[v1,8/9] baseband/acc: add support for 4GUL CRC drop in VRB PMD
Checks
Commit Message
Adding support for the capability to drop the CRC24B
when using the turbo-decoder.
Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
---
drivers/baseband/acc/rte_vrb_pmd.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
Comments
On 2/9/23 23:19, Nicolas Chautru wrote:
> Adding support for the capability to drop the CRC24B
> when using the turbo-decoder.
>
> Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
> ---
> drivers/baseband/acc/rte_vrb_pmd.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/baseband/acc/rte_vrb_pmd.c b/drivers/baseband/acc/rte_vrb_pmd.c
> index 8fcb06b4ff..18b5dab25f 100644
> --- a/drivers/baseband/acc/rte_vrb_pmd.c
> +++ b/drivers/baseband/acc/rte_vrb_pmd.c
> @@ -996,6 +996,7 @@ vrb_dev_info_get(struct rte_bbdev *dev, struct rte_bbdev_driver_info *dev_info)
> .capability_flags =
> RTE_BBDEV_TURBO_SUBBLOCK_DEINTERLEAVE |
> RTE_BBDEV_TURBO_CRC_TYPE_24B |
> + RTE_BBDEV_TURBO_DEC_CRC_24B_DROP |
> RTE_BBDEV_TURBO_EQUALIZER |
> RTE_BBDEV_TURBO_SOFT_OUT_SATURATE |
> RTE_BBDEV_TURBO_HALF_ITERATION_EVEN |
> @@ -1408,8 +1409,12 @@ vrb_dma_desc_td_fill(struct rte_bbdev_dec_op *op,
> }
>
> if ((op->turbo_dec.code_block_mode == RTE_BBDEV_TRANSPORT_BLOCK)
> - && !check_bit(op->turbo_dec.op_flags,
> - RTE_BBDEV_TURBO_DEC_TB_CRC_24B_KEEP))
> + && !check_bit(op->turbo_dec.op_flags,
> + RTE_BBDEV_TURBO_DEC_TB_CRC_24B_KEEP))
> + crc24_overlap = 24;
> + if ((op->turbo_dec.code_block_mode == RTE_BBDEV_CODE_BLOCK)
> + && check_bit(op->turbo_dec.op_flags,
> + RTE_BBDEV_TURBO_DEC_CRC_24B_DROP))
> crc24_overlap = 24;
>
> /* Calculates circular buffer size.
Normally only fixes should be proposed at this stage, but this is small
enough:
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Thanks,
Maxime
@@ -996,6 +996,7 @@ vrb_dev_info_get(struct rte_bbdev *dev, struct rte_bbdev_driver_info *dev_info)
.capability_flags =
RTE_BBDEV_TURBO_SUBBLOCK_DEINTERLEAVE |
RTE_BBDEV_TURBO_CRC_TYPE_24B |
+ RTE_BBDEV_TURBO_DEC_CRC_24B_DROP |
RTE_BBDEV_TURBO_EQUALIZER |
RTE_BBDEV_TURBO_SOFT_OUT_SATURATE |
RTE_BBDEV_TURBO_HALF_ITERATION_EVEN |
@@ -1408,8 +1409,12 @@ vrb_dma_desc_td_fill(struct rte_bbdev_dec_op *op,
}
if ((op->turbo_dec.code_block_mode == RTE_BBDEV_TRANSPORT_BLOCK)
- && !check_bit(op->turbo_dec.op_flags,
- RTE_BBDEV_TURBO_DEC_TB_CRC_24B_KEEP))
+ && !check_bit(op->turbo_dec.op_flags,
+ RTE_BBDEV_TURBO_DEC_TB_CRC_24B_KEEP))
+ crc24_overlap = 24;
+ if ((op->turbo_dec.code_block_mode == RTE_BBDEV_CODE_BLOCK)
+ && check_bit(op->turbo_dec.op_flags,
+ RTE_BBDEV_TURBO_DEC_CRC_24B_DROP))
crc24_overlap = 24;
/* Calculates circular buffer size.