|
@@ -261,14 +261,6 @@ out:
|
|
|
spin_unlock_irq(&host->lock);
|
|
|
}
|
|
|
|
|
|
-/* It might be necessary to make filter MFD specific */
|
|
|
-static bool tmio_mmc_filter(struct dma_chan *chan, void *arg)
|
|
|
-{
|
|
|
- dev_dbg(chan->device->dev, "%s: slave data %p\n", __func__, arg);
|
|
|
- chan->private = arg;
|
|
|
- return true;
|
|
|
-}
|
|
|
-
|
|
|
void tmio_mmc_request_dma(struct tmio_mmc_host *host, struct tmio_mmc_data *pdata)
|
|
|
{
|
|
|
/* We can only either use DMA for both Tx and Rx or not use it at all */
|
|
@@ -281,7 +273,7 @@ void tmio_mmc_request_dma(struct tmio_mmc_host *host, struct tmio_mmc_data *pdat
|
|
|
dma_cap_zero(mask);
|
|
|
dma_cap_set(DMA_SLAVE, mask);
|
|
|
|
|
|
- host->chan_tx = dma_request_channel(mask, tmio_mmc_filter,
|
|
|
+ host->chan_tx = dma_request_channel(mask, pdata->dma->filter,
|
|
|
pdata->dma->chan_priv_tx);
|
|
|
dev_dbg(&host->pdev->dev, "%s: TX: got channel %p\n", __func__,
|
|
|
host->chan_tx);
|
|
@@ -289,7 +281,7 @@ void tmio_mmc_request_dma(struct tmio_mmc_host *host, struct tmio_mmc_data *pdat
|
|
|
if (!host->chan_tx)
|
|
|
return;
|
|
|
|
|
|
- host->chan_rx = dma_request_channel(mask, tmio_mmc_filter,
|
|
|
+ host->chan_rx = dma_request_channel(mask, pdata->dma->filter,
|
|
|
pdata->dma->chan_priv_rx);
|
|
|
dev_dbg(&host->pdev->dev, "%s: RX: got channel %p\n", __func__,
|
|
|
host->chan_rx);
|