diff options
Diffstat (limited to 'recipes/linux/linux-2.6.35/rx1950/0006-s3cmci-minor-fixups.patch')
-rw-r--r-- | recipes/linux/linux-2.6.35/rx1950/0006-s3cmci-minor-fixups.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/recipes/linux/linux-2.6.35/rx1950/0006-s3cmci-minor-fixups.patch b/recipes/linux/linux-2.6.35/rx1950/0006-s3cmci-minor-fixups.patch new file mode 100644 index 0000000000..dde1d7784f --- /dev/null +++ b/recipes/linux/linux-2.6.35/rx1950/0006-s3cmci-minor-fixups.patch @@ -0,0 +1,40 @@ +From 6c2fec9c2f1888fc177c29a37a3032f8144d2003 Mon Sep 17 00:00:00 2001 +From: Vasily Khoruzhick <anarsoul@gmail.com> +Date: Fri, 13 Aug 2010 20:01:53 +0300 +Subject: [PATCH 06/20] 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 <anarsoul@gmail.com> +--- + 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 2e16e0a..5d1a8ed 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.2.2 + |