[v2,06/37] baseband/acc100: add default e value for FCW

Message ID 20220820023157.189047-7-hernan.vargas@intel.com (mailing list archive)
State Superseded, archived
Delegated to: akhil goyal
Headers
Series baseband/acc100: changes for 22.11 |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Vargas, Hernan Aug. 20, 2022, 2:31 a.m. UTC
  Refactor frame control word LDPC encoder fill function to take a default e
value as a parameter. No functional impact.

Signed-off-by: Hernan Vargas <hernan.vargas@intel.com>
---
 drivers/baseband/acc100/rte_acc100_pmd.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
  

Comments

Maxime Coquelin Sept. 14, 2022, 7:24 p.m. UTC | #1
On 8/20/22 04:31, Hernan Vargas wrote:
> Refactor frame control word LDPC encoder fill function to take a default e
> value as a parameter. No functional impact.
> 
> Signed-off-by: Hernan Vargas <hernan.vargas@intel.com>
> ---
>   drivers/baseband/acc100/rte_acc100_pmd.c | 8 ++++----
>   1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/baseband/acc100/rte_acc100_pmd.c b/drivers/baseband/acc100/rte_acc100_pmd.c
> index 586d06d1b3..cc7d146e74 100644
> --- a/drivers/baseband/acc100/rte_acc100_pmd.c
> +++ b/drivers/baseband/acc100/rte_acc100_pmd.c
> @@ -1268,7 +1268,7 @@ get_k0(uint16_t n_cb, uint16_t z_c, uint8_t bg, uint8_t rv_index)
>   /* Fill in a frame control word for LDPC encoding. */
>   static inline void
>   acc100_fcw_le_fill(const struct rte_bbdev_enc_op *op,
> -		struct acc100_fcw_le *fcw, int num_cb)
> +		struct acc100_fcw_le *fcw, int num_cb, uint32_t default_e)
>   {
>   	fcw->qm = op->ldpc_enc.q_m;
>   	fcw->nfiller = op->ldpc_enc.n_filler;
> @@ -1277,7 +1277,7 @@ acc100_fcw_le_fill(const struct rte_bbdev_enc_op *op,
>   	fcw->ncb = op->ldpc_enc.n_cb;
>   	fcw->k0 = get_k0(fcw->ncb, fcw->Zc, op->ldpc_enc.basegraph,
>   			op->ldpc_enc.rv_index);
> -	fcw->rm_e = op->ldpc_enc.cb_params.e;
> +	fcw->rm_e = (default_e == 0) ? op->ldpc_enc.cb_params.e : default_e;
>   	fcw->crc_select = check_bit(op->ldpc_enc.op_flags,
>   			RTE_BBDEV_LDPC_CRC_24B_ATTACH);
>   	fcw->bypass_intlv = check_bit(op->ldpc_enc.op_flags,
> @@ -2525,7 +2525,7 @@ enqueue_ldpc_enc_n_op_cb(struct acc100_queue *q, struct rte_bbdev_enc_op **ops,
>   	uint16_t desc_idx = ((q->sw_ring_head + total_enqueued_cbs)
>   			& q->sw_ring_wrap_mask);
>   	desc = q->ring_addr + desc_idx;
> -	acc100_fcw_le_fill(ops[0], &desc->req.fcw_le, num);
> +	acc100_fcw_le_fill(ops[0], &desc->req.fcw_le, num, 0);
>   
>   	/** This could be done at polling */
>   	acc100_header_init(&desc->req);
> @@ -2587,7 +2587,7 @@ enqueue_ldpc_enc_one_op_cb(struct acc100_queue *q, struct rte_bbdev_enc_op *op,
>   	uint16_t desc_idx = ((q->sw_ring_head + total_enqueued_cbs)
>   			& q->sw_ring_wrap_mask);
>   	desc = q->ring_addr + desc_idx;
> -	acc100_fcw_le_fill(op, &desc->req.fcw_le, 1);
> +	acc100_fcw_le_fill(op, &desc->req.fcw_le, 1, 0);
>   
>   	input = op->ldpc_enc.input.data;
>   	output_head = output = op->ldpc_enc.output.data;

Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>

Thanks,
Maxime
  
Thomas Monjalon Sept. 15, 2022, 11 a.m. UTC | #2
20/08/2022 04:31, Hernan Vargas:
> Refactor frame control word LDPC encoder fill function to take a default e
> value as a parameter. No functional impact.

Excuse my ignorance, what is "e"?
Is there a way to describe or name it differently?
  
Chautru, Nicolas Sept. 16, 2022, 1:12 a.m. UTC | #3
Hi Thomas, 

> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Thursday, September 15, 2022 4:00 AM
> To: Vargas, Hernan <hernan.vargas@intel.com>
> Cc: dev@dpdk.org; gakhil@marvell.com; trix@redhat.com; Chautru, Nicolas
> <nicolas.chautru@intel.com>; Zhang, Qi Z <qi.z.zhang@intel.com>;
> maxime.coquelin@redhat.com
> Subject: Re: [PATCH v2 06/37] baseband/acc100: add default e value for
> FCW
> 
> 20/08/2022 04:31, Hernan Vargas:
> > Refactor frame control word LDPC encoder fill function to take a
> > default e value as a parameter. No functional impact.
> 
> Excuse my ignorance, what is "e"?
> Is there a way to describe or name it differently?
> 
Sure commit message can be rephrased as 
"Refactor frame control word LDPC encoder fill function to take a default rate-matching value E as a parameter."
E is the formal name in 3GPP specs for the rate-matching size.
  
Thomas Monjalon Sept. 16, 2022, 7:11 a.m. UTC | #4
16/09/2022 03:12, Chautru, Nicolas:
> Hi Thomas, 
> 
> > -----Original Message-----
> > From: Thomas Monjalon <thomas@monjalon.net>
> > Sent: Thursday, September 15, 2022 4:00 AM
> > To: Vargas, Hernan <hernan.vargas@intel.com>
> > Cc: dev@dpdk.org; gakhil@marvell.com; trix@redhat.com; Chautru, Nicolas
> > <nicolas.chautru@intel.com>; Zhang, Qi Z <qi.z.zhang@intel.com>;
> > maxime.coquelin@redhat.com
> > Subject: Re: [PATCH v2 06/37] baseband/acc100: add default e value for
> > FCW
> > 
> > 20/08/2022 04:31, Hernan Vargas:
> > > Refactor frame control word LDPC encoder fill function to take a
> > > default e value as a parameter. No functional impact.
> > 
> > Excuse my ignorance, what is "e"?
> > Is there a way to describe or name it differently?
> > 
> Sure commit message can be rephrased as 
> "Refactor frame control word LDPC encoder fill function to take a default rate-matching value E as a parameter."
> E is the formal name in 3GPP specs for the rate-matching size. 

OK thank you, I guessed it was something standard.
  

Patch

diff --git a/drivers/baseband/acc100/rte_acc100_pmd.c b/drivers/baseband/acc100/rte_acc100_pmd.c
index 586d06d1b3..cc7d146e74 100644
--- a/drivers/baseband/acc100/rte_acc100_pmd.c
+++ b/drivers/baseband/acc100/rte_acc100_pmd.c
@@ -1268,7 +1268,7 @@  get_k0(uint16_t n_cb, uint16_t z_c, uint8_t bg, uint8_t rv_index)
 /* Fill in a frame control word for LDPC encoding. */
 static inline void
 acc100_fcw_le_fill(const struct rte_bbdev_enc_op *op,
-		struct acc100_fcw_le *fcw, int num_cb)
+		struct acc100_fcw_le *fcw, int num_cb, uint32_t default_e)
 {
 	fcw->qm = op->ldpc_enc.q_m;
 	fcw->nfiller = op->ldpc_enc.n_filler;
@@ -1277,7 +1277,7 @@  acc100_fcw_le_fill(const struct rte_bbdev_enc_op *op,
 	fcw->ncb = op->ldpc_enc.n_cb;
 	fcw->k0 = get_k0(fcw->ncb, fcw->Zc, op->ldpc_enc.basegraph,
 			op->ldpc_enc.rv_index);
-	fcw->rm_e = op->ldpc_enc.cb_params.e;
+	fcw->rm_e = (default_e == 0) ? op->ldpc_enc.cb_params.e : default_e;
 	fcw->crc_select = check_bit(op->ldpc_enc.op_flags,
 			RTE_BBDEV_LDPC_CRC_24B_ATTACH);
 	fcw->bypass_intlv = check_bit(op->ldpc_enc.op_flags,
@@ -2525,7 +2525,7 @@  enqueue_ldpc_enc_n_op_cb(struct acc100_queue *q, struct rte_bbdev_enc_op **ops,
 	uint16_t desc_idx = ((q->sw_ring_head + total_enqueued_cbs)
 			& q->sw_ring_wrap_mask);
 	desc = q->ring_addr + desc_idx;
-	acc100_fcw_le_fill(ops[0], &desc->req.fcw_le, num);
+	acc100_fcw_le_fill(ops[0], &desc->req.fcw_le, num, 0);
 
 	/** This could be done at polling */
 	acc100_header_init(&desc->req);
@@ -2587,7 +2587,7 @@  enqueue_ldpc_enc_one_op_cb(struct acc100_queue *q, struct rte_bbdev_enc_op *op,
 	uint16_t desc_idx = ((q->sw_ring_head + total_enqueued_cbs)
 			& q->sw_ring_wrap_mask);
 	desc = q->ring_addr + desc_idx;
-	acc100_fcw_le_fill(op, &desc->req.fcw_le, 1);
+	acc100_fcw_le_fill(op, &desc->req.fcw_le, 1, 0);
 
 	input = op->ldpc_enc.input.data;
 	output_head = output = op->ldpc_enc.output.data;