[v2,06/37] baseband/acc100: add default e value for FCW
Checks
Commit Message
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
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
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?
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.
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.
@@ -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;