From 3275ee65bcfbb86aecb7c7c98512124c591bc5dc Mon Sep 17 00:00:00 2001 From: Vasily Khoruzhick Date: Fri, 13 Aug 2010 20:01:53 +0300 Subject: [PATCH 02/12] s3cmci: minor fixups - It's not necessary to start DMA op manually, as we have autostart feature enabled - Restore prescaler before DMA operation, otherwise it takes ages to complete DMA op. Signed-off-by: Vasily Khoruzhick --- drivers/mmc/host/s3cmci.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/mmc/host/s3cmci.c b/drivers/mmc/host/s3cmci.c index a04f87d..f37fc35 100644 --- a/drivers/mmc/host/s3cmci.c +++ b/drivers/mmc/host/s3cmci.c @@ -1106,6 +1106,8 @@ static int s3cmci_prepare_dma(struct s3cmci_host *host, struct mmc_data *data) sg_dma_address(&data->sg[i]), sg_dma_len(&data->sg[i])); + /* Restore prescaler value */ + writel(host->prescaler, host->base + S3C2410_SDIPRE); res = s3c2410_dma_enqueue(host->dma, host, sg_dma_address(&data->sg[i]), sg_dma_len(&data->sg[i])); @@ -1116,8 +1118,6 @@ static int s3cmci_prepare_dma(struct s3cmci_host *host, struct mmc_data *data) } } - s3c2410_dma_ctrl(host->dma, S3C2410_DMAOP_START); - return 0; } -- 1.7.8