aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/staging/fsl-mc/bus/dpio/qbman-portal.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/staging/fsl-mc/bus/dpio/qbman-portal.c b/drivers/staging/fsl-mc/bus/dpio/qbman-portal.c
index c75f546b24fa..2a3ea29d9b43 100644
--- a/drivers/staging/fsl-mc/bus/dpio/qbman-portal.c
+++ b/drivers/staging/fsl-mc/bus/dpio/qbman-portal.c
@@ -616,13 +616,16 @@ int qbman_swp_pull(struct qbman_swp *s, struct qbman_pull_desc *d)
return -EBUSY;
}
s->vdq.storage = (void *)d->rsp_addr_virt;
- d->tok = QMAN_DQ_TOKEN_VALID;
p = qbman_get_cmd(s, QBMAN_CENA_SWP_VDQCR);
- *p = *d;
+ p->numf = d->numf;
+ p->tok = QMAN_DQ_TOKEN_VALID;
+ p->dq_src = d->dq_src;
+ p->rsp_addr = d->rsp_addr;
+ p->rsp_addr_virt = d->rsp_addr_virt;
dma_wmb();
/* Set the verb byte, have to substitute in the valid-bit */
- p->verb |= s->vdq.valid_bit;
+ p->verb = d->verb | s->vdq.valid_bit;
s->vdq.valid_bit ^= QB_VALID_BIT;
return 0;
@@ -1004,7 +1007,6 @@ int qbman_swp_CDAN_set(struct qbman_swp *s, u16 channelid,
return -EBUSY;
/* Encode the caller-provided attributes */
- p->verb = 0;
p->ch = cpu_to_le16(channelid);
p->we = we_mask;
if (cdan_en)