Hi Maxime, > -----Original Message----- > From: Maxime Coquelin <maxime.coque...@redhat.com> > Sent: Tuesday, May 31, 2022 1:03 AM > To: Chautru, Nicolas <nicolas.chau...@intel.com>; dev@dpdk.org; > gak...@marvell.com; t...@redhat.com > Cc: tho...@monjalon.net; Kinsella, Ray <ray.kinse...@intel.com>; > Richardson, Bruce <bruce.richard...@intel.com>; > hemant.agra...@nxp.com; Vargas, Hernan <hernan.var...@intel.com>; > david.march...@redhat.com > Subject: Re: [PATCH v6 4/5] baseband/acc100: modify validation code for > ACC101 > > > > On 5/26/22 02:55, Nicolas Chautru wrote: > > The validation requirement is different for the two devices. > > > > Signed-off-by: Nicolas Chautru <nicolas.chau...@intel.com> > > --- > > drivers/baseband/acc100/rte_acc100_pmd.c | 47 > ++++++++++++++++++++++++-------- > > 1 file changed, 35 insertions(+), 12 deletions(-) > > > > diff --git a/drivers/baseband/acc100/rte_acc100_pmd.c > > b/drivers/baseband/acc100/rte_acc100_pmd.c > > index 6a2123b..a057edf 100644 > > --- a/drivers/baseband/acc100/rte_acc100_pmd.c > > +++ b/drivers/baseband/acc100/rte_acc100_pmd.c > > @@ -1295,6 +1295,21 @@ > > RTE_BBDEV_TURBO_HALF_ITERATION_EVEN); > > } > > > > +#ifdef RTE_LIBRTE_BBDEV_DEBUG > > + > > +static inline bool > > +is_acc100(struct acc100_queue *q) > > +{ > > + return (q->d->device_variant == ACC100_VARIANT); } > > + > > +static inline bool > > +validate_op_required(struct acc100_queue *q) { > > + return is_acc100(q); > > +} > > +#endif > > + > > /* Fill in a frame control word for LDPC decoding. */ > > static inline void > > acc100_fcw_ld_fill(struct rte_bbdev_dec_op *op, struct acc100_fcw_ld > > *fcw, @@ -2182,8 +2197,10 @@ static inline uint32_t hq_index(uint32_t > offset) > > #ifdef RTE_LIBRTE_BBDEV_DEBUG > > /* Validates turbo encoder parameters */ > > static inline int > > -validate_enc_op(struct rte_bbdev_enc_op *op) > > +validate_enc_op(struct rte_bbdev_enc_op *op, struct acc100_queue *q) > > { > > + if (!validate_op_required(q)) > > + return 0; > > > This check should be done after the variables declarations as per the project > coding style:'
Thanks, I will update now. > > " > Local Variables > ~~~~~~~~~~~~~~~ > > * Variables should be declared at the start of a block of code rather than in > the middle. > " > > > struct rte_bbdev_op_turbo_enc *turbo_enc = &op->turbo_enc; > > struct rte_bbdev_op_enc_turbo_cb_params *cb = NULL; > > struct rte_bbdev_op_enc_turbo_tb_params *tb = NULL; @@ -2320,8 > > +2337,10 @@ static inline uint32_t hq_index(uint32_t offset) > > } > > /* Validates LDPC encoder parameters */ > > static inline int > > -validate_ldpc_enc_op(struct rte_bbdev_enc_op *op) > > +validate_ldpc_enc_op(struct rte_bbdev_enc_op *op, struct acc100_queue > > +*q) > > { > > + if (!validate_op_required(q)) > > + return 0; > > struct rte_bbdev_op_ldpc_enc *ldpc_enc = &op->ldpc_enc; > > > > if (op->mempool == NULL) { > > @@ -2373,8 +2392,10 @@ static inline uint32_t hq_index(uint32_t > > offset) > > > > /* Validates LDPC decoder parameters */ > > static inline int > > -validate_ldpc_dec_op(struct rte_bbdev_dec_op *op) > > +validate_ldpc_dec_op(struct rte_bbdev_dec_op *op, struct acc100_queue > > +*q) > > { > > + if (!validate_op_required(q)) > > + return 0; > > struct rte_bbdev_op_ldpc_dec *ldpc_dec = &op->ldpc_dec; > > > > if (op->mempool == NULL) { > > @@ -2429,7 +2450,7 @@ static inline uint32_t hq_index(uint32_t offset) > > > > #ifdef RTE_LIBRTE_BBDEV_DEBUG > > /* Validate op structure */ > > - if (validate_enc_op(op) == -1) { > > + if (validate_enc_op(op, q) == -1) { > > rte_bbdev_log(ERR, "Turbo encoder validation failed"); > > return -EINVAL; > > } > > @@ -2483,7 +2504,7 @@ static inline uint32_t hq_index(uint32_t offset) > > > > #ifdef RTE_LIBRTE_BBDEV_DEBUG > > /* Validate op structure */ > > - if (validate_ldpc_enc_op(ops[0]) == -1) { > > + if (validate_ldpc_enc_op(ops[0], q) == -1) { > > rte_bbdev_log(ERR, "LDPC encoder validation failed"); > > return -EINVAL; > > } > > @@ -2545,7 +2566,7 @@ static inline uint32_t hq_index(uint32_t offset) > > > > #ifdef RTE_LIBRTE_BBDEV_DEBUG > > /* Validate op structure */ > > - if (validate_ldpc_enc_op(op) == -1) { > > + if (validate_ldpc_enc_op(op, q) == -1) { > > rte_bbdev_log(ERR, "LDPC encoder validation failed"); > > return -EINVAL; > > } > > @@ -2602,7 +2623,7 @@ static inline uint32_t hq_index(uint32_t offset) > > > > #ifdef RTE_LIBRTE_BBDEV_DEBUG > > /* Validate op structure */ > > - if (validate_enc_op(op) == -1) { > > + if (validate_enc_op(op, q) == -1) { > > rte_bbdev_log(ERR, "Turbo encoder validation failed"); > > return -EINVAL; > > } > > @@ -2675,8 +2696,10 @@ static inline uint32_t hq_index(uint32_t offset) > > #ifdef RTE_LIBRTE_BBDEV_DEBUG > > /* Validates turbo decoder parameters */ > > static inline int > > -validate_dec_op(struct rte_bbdev_dec_op *op) > > +validate_dec_op(struct rte_bbdev_dec_op *op, struct acc100_queue *q) > > { > > + if (!validate_op_required(q)) > > + return 0; > > struct rte_bbdev_op_turbo_dec *turbo_dec = &op->turbo_dec; > > struct rte_bbdev_op_dec_turbo_cb_params *cb = NULL; > > struct rte_bbdev_op_dec_turbo_tb_params *tb = NULL; @@ -2822,7 > > +2845,7 @@ static inline uint32_t hq_index(uint32_t offset) > > > > #ifdef RTE_LIBRTE_BBDEV_DEBUG > > /* Validate op structure */ > > - if (validate_dec_op(op) == -1) { > > + if (validate_dec_op(op, q) == -1) { > > rte_bbdev_log(ERR, "Turbo decoder validation failed"); > > return -EINVAL; > > } > > @@ -3047,7 +3070,7 @@ static inline uint32_t hq_index(uint32_t offset) > > > > #ifdef RTE_LIBRTE_BBDEV_DEBUG > > /* Validate op structure */ > > - if (validate_ldpc_dec_op(op) == -1) { > > + if (validate_ldpc_dec_op(op, q) == -1) { > > rte_bbdev_log(ERR, "LDPC decoder validation failed"); > > return -EINVAL; > > } > > @@ -3151,7 +3174,7 @@ static inline uint32_t hq_index(uint32_t offset) > > > > #ifdef RTE_LIBRTE_BBDEV_DEBUG > > /* Validate op structure */ > > - if (validate_ldpc_dec_op(op) == -1) { > > + if (validate_ldpc_dec_op(op, q) == -1) { > > rte_bbdev_log(ERR, "LDPC decoder validation failed"); > > return -EINVAL; > > } > > @@ -3241,7 +3264,7 @@ static inline uint32_t hq_index(uint32_t offset) > > > > #ifdef RTE_LIBRTE_BBDEV_DEBUG > > /* Validate op structure */ > > - if (validate_dec_op(op) == -1) { > > + if (validate_dec_op(op, q) == -1) { > > rte_bbdev_log(ERR, "Turbo decoder validation failed"); > > return -EINVAL; > > }