OSDN Git Service

mmc: tmio, renesas_sdhi: move Renesas-specific DMA data to renesas_sdhi.h
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Fri, 24 Nov 2017 16:24:48 +0000 (01:24 +0900)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 19 Dec 2017 07:50:04 +0000 (08:50 +0100)
struct tmio_mmc_host has "dma_dataend" and "dma_complete", but in fact,
they are Renesas private data.  Move them to renesas_sdhi.h

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/renesas_sdhi.h
drivers/mmc/host/renesas_sdhi_internal_dmac.c
drivers/mmc/host/renesas_sdhi_sys_dmac.c
drivers/mmc/host/tmio_mmc.h

index 9a507b3..3250dbe 100644 (file)
@@ -39,6 +39,8 @@ struct tmio_mmc_dma {
        enum dma_slave_buswidth dma_buswidth;
        bool (*filter)(struct dma_chan *chan, void *arg);
        void (*enable)(struct tmio_mmc_host *host, bool enable);
+       struct completion       dma_dataend;
+       struct tasklet_struct   dma_complete;
 };
 
 struct renesas_sdhi {
index 9498dec..7c03cfe 100644 (file)
@@ -132,7 +132,9 @@ renesas_sdhi_internal_dmac_abort_dma(struct tmio_mmc_host *host) {
 
 static void
 renesas_sdhi_internal_dmac_dataend_dma(struct tmio_mmc_host *host) {
-       tasklet_schedule(&host->dma_complete);
+       struct renesas_sdhi *priv = host_to_priv(host);
+
+       tasklet_schedule(&priv->dma_priv.dma_complete);
 }
 
 static void
@@ -222,10 +224,12 @@ static void
 renesas_sdhi_internal_dmac_request_dma(struct tmio_mmc_host *host,
                                       struct tmio_mmc_data *pdata)
 {
+       struct renesas_sdhi *priv = host_to_priv(host);
+
        /* Each value is set to non-zero to assume "enabling" each DMA */
        host->chan_rx = host->chan_tx = (void *)0xdeadbeaf;
 
-       tasklet_init(&host->dma_complete,
+       tasklet_init(&priv->dma_priv.dma_complete,
                     renesas_sdhi_internal_dmac_complete_tasklet_fn,
                     (unsigned long)host);
        tasklet_init(&host->dma_issue,
index aeb3838..c8a74b2 100644 (file)
@@ -140,12 +140,15 @@ static void renesas_sdhi_sys_dmac_abort_dma(struct tmio_mmc_host *host)
 
 static void renesas_sdhi_sys_dmac_dataend_dma(struct tmio_mmc_host *host)
 {
-       complete(&host->dma_dataend);
+       struct renesas_sdhi *priv = host_to_priv(host);
+
+       complete(&priv->dma_priv.dma_dataend);
 }
 
 static void renesas_sdhi_sys_dmac_dma_callback(void *arg)
 {
        struct tmio_mmc_host *host = arg;
+       struct renesas_sdhi *priv = host_to_priv(host);
 
        spin_lock_irq(&host->lock);
 
@@ -163,7 +166,7 @@ static void renesas_sdhi_sys_dmac_dma_callback(void *arg)
 
        spin_unlock_irq(&host->lock);
 
-       wait_for_completion(&host->dma_dataend);
+       wait_for_completion(&priv->dma_priv.dma_dataend);
 
        spin_lock_irq(&host->lock);
        tmio_mmc_do_data_irq(host);
@@ -173,6 +176,7 @@ out:
 
 static void renesas_sdhi_sys_dmac_start_dma_rx(struct tmio_mmc_host *host)
 {
+       struct renesas_sdhi *priv = host_to_priv(host);
        struct scatterlist *sg = host->sg_ptr, *sg_tmp;
        struct dma_async_tx_descriptor *desc = NULL;
        struct dma_chan *chan = host->chan_rx;
@@ -216,7 +220,7 @@ static void renesas_sdhi_sys_dmac_start_dma_rx(struct tmio_mmc_host *host)
                                               DMA_CTRL_ACK);
 
        if (desc) {
-               reinit_completion(&host->dma_dataend);
+               reinit_completion(&priv->dma_priv.dma_dataend);
                desc->callback = renesas_sdhi_sys_dmac_dma_callback;
                desc->callback_param = host;
 
@@ -247,6 +251,7 @@ pio:
 
 static void renesas_sdhi_sys_dmac_start_dma_tx(struct tmio_mmc_host *host)
 {
+       struct renesas_sdhi *priv = host_to_priv(host);
        struct scatterlist *sg = host->sg_ptr, *sg_tmp;
        struct dma_async_tx_descriptor *desc = NULL;
        struct dma_chan *chan = host->chan_tx;
@@ -295,7 +300,7 @@ static void renesas_sdhi_sys_dmac_start_dma_tx(struct tmio_mmc_host *host)
                                               DMA_CTRL_ACK);
 
        if (desc) {
-               reinit_completion(&host->dma_dataend);
+               reinit_completion(&priv->dma_priv.dma_dataend);
                desc->callback = renesas_sdhi_sys_dmac_dma_callback;
                desc->callback_param = host;
 
@@ -424,7 +429,7 @@ static void renesas_sdhi_sys_dmac_request_dma(struct tmio_mmc_host *host,
                if (!host->bounce_buf)
                        goto ebouncebuf;
 
-               init_completion(&host->dma_dataend);
+               init_completion(&priv->dma_priv.dma_dataend);
                tasklet_init(&host->dma_issue,
                             renesas_sdhi_sys_dmac_issue_tasklet_fn,
                             (unsigned long)host);
index ed375a9..5972438 100644 (file)
@@ -148,8 +148,6 @@ struct tmio_mmc_host {
        bool                    force_pio;
        struct dma_chan         *chan_rx;
        struct dma_chan         *chan_tx;
-       struct completion       dma_dataend;
-       struct tasklet_struct   dma_complete;
        struct tasklet_struct   dma_issue;
        struct scatterlist      bounce_sg;
        u8                      *bounce_buf;