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