summaryrefslogtreecommitdiffstats
path: root/recipes/linux/linux-2.6.35/rx1950/0006-s3cmci-minor-fixups.patch
diff options
context:
space:
mode:
authorCliff Brake <cbrake@bec-systems.com>2010-09-13 14:15:35 -0400
committerCliff Brake <cbrake@bec-systems.com>2010-09-13 14:15:35 -0400
commit4ee358534793381d2e87b01781079a3354fd5c1c (patch)
tree729f8b0ce4bdbcd8a16f561fb68da0d66c3a3eb8 /recipes/linux/linux-2.6.35/rx1950/0006-s3cmci-minor-fixups.patch
parentbeb17e26ee9b4bc0cf334c3b30560c6eb66b1299 (diff)
parenteda06ec3dde6169a46797f876a82499c4fff8f62 (diff)
downloadopenembedded-4ee358534793381d2e87b01781079a3354fd5c1c.tar.gz
Merge branch 'org.openembedded.dev' into testing-nexttesting_2010-09-13
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.patch40
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
+