bus/fslmc: support up to 32 frames in one volatile dequeue
authorHaiying Wang <haiying.wang@nxp.com>
Sat, 16 Sep 2017 10:52:18 +0000 (16:22 +0530)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 6 Oct 2017 01:23:02 +0000 (03:23 +0200)
QMan5.0 supports up to 32 frames in one volatile dequeue
command. For the older Qman versions which only support
up to 16 frames, the highest bit in NUMF will be ignored.

Signed-off-by: Haiying Wang <haiying.wang@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
drivers/bus/fslmc/qbman/qbman_portal.c

index f212829..7fc78cd 100644 (file)
@@ -704,7 +704,7 @@ static struct qb_attr_code code_pull_dct = QB_CODE(0, 0, 2);
 static struct qb_attr_code code_pull_dt = QB_CODE(0, 2, 2);
 static struct qb_attr_code code_pull_rls = QB_CODE(0, 4, 1);
 static struct qb_attr_code code_pull_stash = QB_CODE(0, 5, 1);
-static struct qb_attr_code code_pull_numframes = QB_CODE(0, 8, 4);
+static struct qb_attr_code code_pull_numframes = QB_CODE(0, 8, 5);
 static struct qb_attr_code code_pull_token = QB_CODE(0, 16, 8);
 static struct qb_attr_code code_pull_dqsource = QB_CODE(1, 0, 24);
 static struct qb_attr_code code_pull_rsp_lo = QB_CODE(2, 0, 32);
@@ -743,7 +743,6 @@ void qbman_pull_desc_set_numframes(struct qbman_pull_desc *d, uint8_t numframes)
 {
        uint32_t *cl = qb_cl(d);
 
-       QBMAN_BUG_ON(!numframes || (numframes > 16));
        qb_attr_code_encode(&code_pull_numframes, cl,
                            (uint32_t)(numframes - 1));
 }