Lines Matching defs:dpaa2_qdma
32 struct dpaa2_qdma_engine *dpaa2_qdma = dpaa2_chan->qdma;
33 struct device *dev = &dpaa2_qdma->priv->dpdmai_dev->dev;
56 return dpaa2_qdma->desc_allocated++;
68 struct dpaa2_qdma_engine *dpaa2_qdma = dpaa2_chan->qdma;
85 dpaa2_qdma->desc_allocated--;
245 struct dpaa2_qdma_engine *dpaa2_qdma;
250 dpaa2_qdma = dpaa2_chan->qdma;
255 wrt_changed = (bool)dpaa2_qdma->qdma_wrtype_fixup;
396 u32 n_chans = priv->dpaa2_qdma->n_chans;
429 qchan = &priv->dpaa2_qdma->chans[i];
605 static void dpaa2_dpdmai_free_channels(struct dpaa2_qdma_engine *dpaa2_qdma)
610 num = dpaa2_qdma->n_chans;
612 qchan = &dpaa2_qdma->chans[i];
634 static int dpaa2_dpdmai_init_channels(struct dpaa2_qdma_engine *dpaa2_qdma)
636 struct dpaa2_qdma_priv *priv = dpaa2_qdma->priv;
641 INIT_LIST_HEAD(&dpaa2_qdma->dma_dev.channels);
642 for (i = 0; i < dpaa2_qdma->n_chans; i++) {
643 dpaa2_chan = &dpaa2_qdma->chans[i];
644 dpaa2_chan->qdma = dpaa2_qdma;
647 vchan_init(&dpaa2_chan->vchan, &dpaa2_qdma->dma_dev);
658 struct dpaa2_qdma_engine *dpaa2_qdma;
710 dpaa2_qdma = kzalloc(sizeof(*dpaa2_qdma), GFP_KERNEL);
711 if (!dpaa2_qdma) {
716 priv->dpaa2_qdma = dpaa2_qdma;
717 dpaa2_qdma->priv = priv;
719 dpaa2_qdma->desc_allocated = 0;
720 dpaa2_qdma->n_chans = NUM_CH;
722 dpaa2_dpdmai_init_channels(dpaa2_qdma);
725 dpaa2_qdma->qdma_wrtype_fixup = true;
727 dpaa2_qdma->qdma_wrtype_fixup = false;
729 dma_cap_set(DMA_PRIVATE, dpaa2_qdma->dma_dev.cap_mask);
730 dma_cap_set(DMA_SLAVE, dpaa2_qdma->dma_dev.cap_mask);
731 dma_cap_set(DMA_MEMCPY, dpaa2_qdma->dma_dev.cap_mask);
733 dpaa2_qdma->dma_dev.dev = dev;
734 dpaa2_qdma->dma_dev.device_alloc_chan_resources =
736 dpaa2_qdma->dma_dev.device_free_chan_resources =
738 dpaa2_qdma->dma_dev.device_tx_status = dma_cookie_status;
739 dpaa2_qdma->dma_dev.device_prep_dma_memcpy = dpaa2_qdma_prep_memcpy;
740 dpaa2_qdma->dma_dev.device_issue_pending = dpaa2_qdma_issue_pending;
742 err = dma_async_device_register(&dpaa2_qdma->dma_dev);
751 kfree(dpaa2_qdma);
772 struct dpaa2_qdma_engine *dpaa2_qdma;
778 dpaa2_qdma = priv->dpaa2_qdma;
787 dpaa2_dpdmai_free_channels(dpaa2_qdma);
789 dma_async_device_unregister(&dpaa2_qdma->dma_dev);
791 kfree(dpaa2_qdma);