bus/fslmc: fix atomic queues on NXP LX2 platform
Traffic was stalling after few packet while running l2fwd-event in atomic mode on LX2 platform. It was due to wrong dca setting while enqueuing packets to EQCR. This patch fixes the issue by writing correct dca setting. Fixes: 1b49352f41be ("bus/fslmc: rename portal pi index to consumer index") Cc: stable@dpdk.org Signed-off-by: Youri Querry <youri.querry_1@nxp.com> Signed-off-by: Rohit Raj <rohit.raj@nxp.com> Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
This commit is contained in:
parent
e4233e1d0a
commit
8bd11d45d5
@ -1201,6 +1201,8 @@ static int qbman_swp_enqueue_multiple_mem_back(struct qbman_swp *s,
|
||||
QBMAN_CENA_SWP_EQCR(eqcr_pi & half_mask));
|
||||
memcpy(&p[1], &cl[1], 28);
|
||||
memcpy(&p[8], &fd[i], sizeof(*fd));
|
||||
p[0] = cl[0] | s->eqcr.pi_vb;
|
||||
|
||||
if (flags && (flags[i] & QBMAN_ENQUEUE_FLAG_DCA)) {
|
||||
struct qbman_eq_desc *d = (struct qbman_eq_desc *)p;
|
||||
|
||||
@ -1208,7 +1210,6 @@ static int qbman_swp_enqueue_multiple_mem_back(struct qbman_swp *s,
|
||||
((flags[i]) & QBMAN_EQCR_DCA_IDXMASK);
|
||||
}
|
||||
eqcr_pi++;
|
||||
p[0] = cl[0] | s->eqcr.pi_vb;
|
||||
|
||||
if (!(eqcr_pi & half_mask))
|
||||
s->eqcr.pi_vb ^= QB_VALID_BIT;
|
||||
|
Loading…
x
Reference in New Issue
Block a user