You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openwrt/target/linux/layerscape/patches-5.4/701-net-0078-staging-fsl_qb...

27 lines
844 B
Diff

From c9d41c728cb9fc5c100030d39d81be3d8e0b26d7 Mon Sep 17 00:00:00 2001
From: Roy Pledge <roy.pledge@nxp.com>
Date: Wed, 8 Aug 2018 17:13:48 -0400
Subject: [PATCH] staging/fsl_qbman: Recalcuate cursor after consuming ring
If the dqrr_init() function consumes frames during init
the cursor needs to be updated before anything starts
to use the ring.
Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
---
drivers/staging/fsl_qbman/qman_low.h | 3 +++
1 file changed, 3 insertions(+)
--- a/drivers/staging/fsl_qbman/qman_low.h
+++ b/drivers/staging/fsl_qbman/qman_low.h
@@ -682,6 +682,9 @@ static inline int qm_dqrr_init(struct qm
(0 ? 0x10 : 0); /* Ignore SP */
qm_out(CFG, cfg);
qm_dqrr_set_maxfill(portal, max_fill);
+
+ /* Recalculate cursor as we may have consumed frames */
+ dqrr->cursor = dqrr->ring + dqrr->ci;
return 0;
}