Merge tag 'dmaengine-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul...
[linux-2.6-block.git] / drivers / dma / fsl-dpaa2-qdma / dpaa2-qdma.c
index 5a8061a307cdafeb3a4db5ddd104ae6d7ec8d190..36384d01926364d4f1306833d64e9dcd23c61e9d 100644 (file)
@@ -362,7 +362,7 @@ static int __cold dpaa2_qdma_setup(struct fsl_mc_device *ls_dev)
 
        for (i = 0; i < priv->num_pairs; i++) {
                err = dpdmai_get_rx_queue(priv->mc_io, 0, ls_dev->mc_handle,
-                                         i, &priv->rx_queue_attr[i]);
+                                         i, 0, &priv->rx_queue_attr[i]);
                if (err) {
                        dev_err(dev, "dpdmai_get_rx_queue() failed\n");
                        goto exit;
@@ -370,13 +370,13 @@ static int __cold dpaa2_qdma_setup(struct fsl_mc_device *ls_dev)
                ppriv->rsp_fqid = priv->rx_queue_attr[i].fqid;
 
                err = dpdmai_get_tx_queue(priv->mc_io, 0, ls_dev->mc_handle,
-                                         i, &priv->tx_fqid[i]);
+                                         i, 0, &priv->tx_queue_attr[i]);
                if (err) {
                        dev_err(dev, "dpdmai_get_tx_queue() failed\n");
                        goto exit;
                }
-               ppriv->req_fqid = priv->tx_fqid[i];
-               ppriv->prio = i;
+               ppriv->req_fqid = priv->tx_queue_attr[i].fqid;
+               ppriv->prio = DPAA2_QDMA_DEFAULT_PRIORITY;
                ppriv->priv = priv;
                ppriv++;
        }
@@ -542,7 +542,7 @@ static int __cold dpaa2_dpdmai_bind(struct dpaa2_qdma_priv *priv)
                rx_queue_cfg.dest_cfg.dest_id = ppriv->nctx.dpio_id;
                rx_queue_cfg.dest_cfg.priority = ppriv->prio;
                err = dpdmai_set_rx_queue(priv->mc_io, 0, ls_dev->mc_handle,
-                                         rx_queue_cfg.dest_cfg.priority,
+                                         rx_queue_cfg.dest_cfg.priority, 0,
                                          &rx_queue_cfg);
                if (err) {
                        dev_err(dev, "dpdmai_set_rx_queue() failed\n");
@@ -642,7 +642,7 @@ static int dpaa2_dpdmai_init_channels(struct dpaa2_qdma_engine *dpaa2_qdma)
        for (i = 0; i < dpaa2_qdma->n_chans; i++) {
                dpaa2_chan = &dpaa2_qdma->chans[i];
                dpaa2_chan->qdma = dpaa2_qdma;
-               dpaa2_chan->fqid = priv->tx_fqid[i % num];
+               dpaa2_chan->fqid = priv->tx_queue_attr[i % num].fqid;
                dpaa2_chan->vchan.desc_free = dpaa2_qdma_free_desc;
                vchan_init(&dpaa2_chan->vchan, &dpaa2_qdma->dma_dev);
                spin_lock_init(&dpaa2_chan->queue_lock);
@@ -802,7 +802,7 @@ static void dpaa2_qdma_shutdown(struct fsl_mc_device *ls_dev)
        dpdmai_disable(priv->mc_io, 0, ls_dev->mc_handle);
        dpaa2_dpdmai_dpio_unbind(priv);
        dpdmai_close(priv->mc_io, 0, ls_dev->mc_handle);
-       dpdmai_destroy(priv->mc_io, 0, ls_dev->mc_handle);
+       dpdmai_destroy(priv->mc_io, 0, priv->dpqdma_id, ls_dev->mc_handle);
 }
 
 static const struct fsl_mc_device_id dpaa2_qdma_id_table[] = {