Эх сурвалжийг харах

mmc: tmio: add .enable_dma on tmio_mmc_dma

Some controllers need DMA special register/setting.
This patch adds new .enable_dma callback for it.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Kuninori Morimoto 10 жил өмнө
parent
commit
5add2aca3a

+ 2 - 0
drivers/mmc/host/tmio_mmc.h

@@ -39,6 +39,7 @@
 #define TMIO_MASK_IRQ     (TMIO_MASK_READOP | TMIO_MASK_WRITEOP | TMIO_MASK_CMD)
 
 struct tmio_mmc_data;
+struct tmio_mmc_host;
 
 struct tmio_mmc_dma {
 	void *chan_priv_tx;
@@ -46,6 +47,7 @@ struct tmio_mmc_dma {
 	int slave_id_tx;
 	int slave_id_rx;
 	bool (*filter)(struct dma_chan *chan, void *arg);
+	void (*enable)(struct tmio_mmc_host *host, bool enable);
 };
 
 struct tmio_mmc_host {

+ 3 - 0
drivers/mmc/host/tmio_mmc_dma.c

@@ -30,6 +30,9 @@ void tmio_mmc_enable_dma(struct tmio_mmc_host *host, bool enable)
 
 	if (host->pdata->flags & TMIO_MMC_HAVE_CTL_DMA_REG)
 		sd_ctrl_write16(host, CTL_DMA_ENABLE, enable ? 2 : 0);
+
+	if (host->dma->enable)
+		host->dma->enable(host, enable);
 }
 
 void tmio_mmc_abort_dma(struct tmio_mmc_host *host)