[PATCH 4/8] staging: mt7621-mmc: Replace dma dir with mmc_get_dma_dir

Christian Lütke-Stetzkamp christian at lkamp.de
Tue Apr 24 18:01:25 UTC 2018


Currently the dma direction is manually determined by the read status,
there is a more portable function for it, mmc_get_dma_dir, use it.

Signed-off-by: Christian Lütke-Stetzkamp <christian at lkamp.de>
Reviewed-by: NeilBrown <neil at brown.com>
---
 drivers/staging/mt7621-mmc/sd.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/mt7621-mmc/sd.c b/drivers/staging/mt7621-mmc/sd.c
index f11eb1fe3f6a..e100c17a020c 100644
--- a/drivers/staging/mt7621-mmc/sd.c
+++ b/drivers/staging/mt7621-mmc/sd.c
@@ -1360,7 +1360,7 @@ static int msdc_do_request(struct mmc_host *mmc, struct mmc_request *mrq)
 	u32 base = host->base;
 	//u32 intsts = 0;
 	unsigned int left = 0;
-	int dma = 0, read = 1, dir = DMA_FROM_DEVICE, send_type = 0;
+	int dma = 0, read = 1, send_type = 0;
 
 #define SND_DAT 0
 #define SND_CMD 1
@@ -1422,9 +1422,9 @@ static int msdc_do_request(struct mmc_host *mmc, struct mmc_request *mrq)
 			if (msdc_command_start(host, cmd, 1, CMD_TIMEOUT) != 0)
 				goto done;
 
-			dir = read ? DMA_FROM_DEVICE : DMA_TO_DEVICE;
 			data->sg_count = dma_map_sg(mmc_dev(mmc), data->sg,
-						    data->sg_len, dir);
+						    data->sg_len,
+						    mmc_get_dma_dir(data));
 			msdc_dma_setup(host, &host->dma, data->sg,
 				       data->sg_count);
 
@@ -1505,7 +1505,8 @@ static int msdc_do_request(struct mmc_host *mmc, struct mmc_request *mrq)
 		host->dma_xfer = 0;
 		if (dma != 0) {
 			msdc_dma_off();
-			dma_unmap_sg(mmc_dev(mmc), data->sg, data->sg_len, dir);
+			dma_unmap_sg(mmc_dev(mmc), data->sg, data->sg_len,
+				     mmc_get_dma_dir(data));
 		}
 		host->blksz = 0;
 
-- 
2.16.1



More information about the devel mailing list