[dpdk-dev] [PATCH 05/13] baseband/turbo_sw: scalling input LLR to range [-16 16]

De Lara Guarch, Pablo pablo.de.lara.guarch at intel.com
Mon May 7 14:50:06 CEST 2018



> -----Original Message-----
> From: Chalupnik, KamilX
> Sent: Thursday, April 26, 2018 2:30 PM
> To: dev at dpdk.org
> Cc: Mokhtar, Amr <amr.mokhtar at intel.com>; De Lara Guarch, Pablo
> <pablo.de.lara.guarch at intel.com>; Chalupnik, KamilX
> <kamilx.chalupnik at intel.com>
> Subject: [PATCH 05/13] baseband/turbo_sw: scalling input LLR to range [-16 16]

What is LLR? It is worth expanding the acronym, and then you can use it later.


> 
> From: KamilX Chalupnik <kamilx.chalupnik at intel.com>
> 
> Update Turbo Software driver for Wireless Baseband Device:
> - function scaling input LLR values to specific range [-16, 16] added
> - new test vectors to check device capabilities added
> 
> Signed-off-by: Kamil Chalupnik <kamilx.chalupnik at intel.com>
> Acked-by: Amr Mokhtar <amr.mokhtar at intel.com>

...

> --- a/app/test-bbdev/test_bbdev_perf.c
> +++ b/app/test-bbdev/test_bbdev_perf.c
> @@ -4,6 +4,7 @@
> 
>  #include <stdio.h>
>  #include <inttypes.h>
> +#include <math.h>
> 
>  #include <rte_eal.h>
>  #include <rte_common.h>
> @@ -609,10 +610,32 @@ allocate_buffers_on_socket(struct
> rte_bbdev_op_data **buffers, const int len,
>  	return (*buffers == NULL) ? TEST_FAILED : TEST_SUCCESS;  }
> 
> +static void
> +limit_input_llr_val_range(struct rte_bbdev_op_data *input_ops,
> +		const uint16_t n, const int8_t max_llr_modulus) {

No need for const in parameters passed by value.

> +	uint16_t i, byte_idx;
> +

...

>  static inline void
> diff --git a/lib/librte_bbdev/rte_bbdev_op.h b/lib/librte_bbdev/rte_bbdev_op.h
> index 1a80588..90a688e 100644
> --- a/lib/librte_bbdev/rte_bbdev_op.h
> +++ b/lib/librte_bbdev/rte_bbdev_op.h
> @@ -379,6 +379,10 @@ struct rte_bbdev_op_turbo_enc {  struct
> rte_bbdev_op_cap_turbo_dec {
>  	/**< Flags from rte_bbdev_op_td_flag_bitmasks */
>  	uint32_t capability_flags;
> +	/** Maximal LLR absolute value. Acceptable LLR values lie in range
> +	 * [-max_llr_modulus, max_llr_modulus].
> +	 */
> +	int8_t max_llr_modulus;
>  	uint8_t num_buffers_src;  /**< Num input code block buffers */
>  	/**< Num hard output code block buffers */
>  	uint8_t num_buffers_hard_out;

This is breaking ABI, add a note in ABI changes, in release notes.

> --
> 2.5.5



More information about the dev mailing list