| From 2b26e34e9af3fa24fa1266e9ea2d66a1f7d62dc0 Mon Sep 17 00:00:00 2001 |
| From: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> |
| Date: Thu, 21 May 2020 16:01:05 +0900 |
| Subject: [PATCH] mmc: renesas_sdhi_internal_dmac: clean up the code for dma |
| complete |
| |
| commit 2b26e34e9af3fa24fa1266e9ea2d66a1f7d62dc0 upstream. |
| |
| To add end() operation in the future, clean the code of |
| renesas_sdhi_internal_dmac_complete_tasklet_fn(). No behavior change. |
| |
| Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> |
| Link: https://lore.kernel.org/r/1590044466-28372-3-git-send-email-yoshihiro.shimoda.uh@renesas.com |
| Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com> |
| Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> |
| |
| diff --git a/drivers/mmc/host/renesas_sdhi_internal_dmac.c b/drivers/mmc/host/renesas_sdhi_internal_dmac.c |
| index 47ac53e91241..201b8ed37f2e 100644 |
| --- a/drivers/mmc/host/renesas_sdhi_internal_dmac.c |
| +++ b/drivers/mmc/host/renesas_sdhi_internal_dmac.c |
| @@ -229,15 +229,12 @@ static void renesas_sdhi_internal_dmac_issue_tasklet_fn(unsigned long arg) |
| DTRAN_CTRL_DM_START); |
| } |
| |
| -static void renesas_sdhi_internal_dmac_complete_tasklet_fn(unsigned long arg) |
| +static bool renesas_sdhi_internal_dmac_complete(struct tmio_mmc_host *host) |
| { |
| - struct tmio_mmc_host *host = (struct tmio_mmc_host *)arg; |
| enum dma_data_direction dir; |
| |
| - spin_lock_irq(&host->lock); |
| - |
| if (!host->data) |
| - goto out; |
| + return false; |
| |
| if (host->data->flags & MMC_DATA_READ) |
| dir = DMA_FROM_DEVICE; |
| @@ -250,6 +247,17 @@ static void renesas_sdhi_internal_dmac_complete_tasklet_fn(unsigned long arg) |
| if (dir == DMA_FROM_DEVICE) |
| clear_bit(SDHI_INTERNAL_DMAC_RX_IN_USE, &global_flags); |
| |
| + return true; |
| +} |
| + |
| +static void renesas_sdhi_internal_dmac_complete_tasklet_fn(unsigned long arg) |
| +{ |
| + struct tmio_mmc_host *host = (struct tmio_mmc_host *)arg; |
| + |
| + spin_lock_irq(&host->lock); |
| + if (!renesas_sdhi_internal_dmac_complete(host)) |
| + goto out; |
| + |
| tmio_mmc_do_data_irq(host); |
| out: |
| spin_unlock_irq(&host->lock); |
| -- |
| 2.27.0 |
| |