[Armadeus-commitlog] armadeus branch, master, updated. armadeus-4.1-427-ga87b613
Brought to you by:
sszy
|
From: jorasse <jo...@us...> - 2012-06-29 09:22:26
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via a87b61328422aee58a495ca158e6836968772645 (commit)
via c20c2203868a076cd79a165960965b88475b2e20 (commit)
from 9598699e959a1d9531bedbe7b8f6710112a2335d (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit a87b61328422aee58a495ca158e6836968772645
Author: Eric Jarrige <eri...@ar...>
Date: Fri Jun 29 11:22:30 2012 +0200
[LINUX] apf27: fix the nand driver on 3.5-rc4
commit c20c2203868a076cd79a165960965b88475b2e20
Author: Eric Jarrige <eri...@ar...>
Date: Fri Jun 29 11:05:35 2012 +0200
[LINUX] start development of kernel 3.5x patches
-----------------------------------------------------------------------
Summary of changes:
patches/linux/3.5-rc4 | 1 +
...001-mtd-mxc_nand-use-32bit-copy-functions.patch | 122 ++++++++++++++++++++
2 files changed, 123 insertions(+), 0 deletions(-)
create mode 120000 patches/linux/3.5-rc4
create mode 100644 patches/linux/3.5/0001-mtd-mxc_nand-use-32bit-copy-functions.patch
diff --git a/patches/linux/3.5-rc4 b/patches/linux/3.5-rc4
new file mode 120000
index 0000000..56e972a
--- /dev/null
+++ b/patches/linux/3.5-rc4
@@ -0,0 +1 @@
+3.5
\ No newline at end of file
diff --git a/patches/linux/3.5/0001-mtd-mxc_nand-use-32bit-copy-functions.patch b/patches/linux/3.5/0001-mtd-mxc_nand-use-32bit-copy-functions.patch
new file mode 100644
index 0000000..a30b1b6
--- /dev/null
+++ b/patches/linux/3.5/0001-mtd-mxc_nand-use-32bit-copy-functions.patch
@@ -0,0 +1,122 @@
+From 065af3d5c54df784b8262817d530c9341d84f2d6 Mon Sep 17 00:00:00 2001
+From: Sascha Hauer <s....@pe...>
+Date: Tue, 29 May 2012 10:16:09 +0200
+Subject: [PATCH 1/3] mtd mxc_nand: use 32bit copy functions
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The following commit changes the function used to copy from/to
+the hardware buffer to memcpy_[from|to]io. This does not work
+since the hardware cannot handle the byte accesses used by these
+functions. Instead of reverting this patch introduce 32bit
+correspondents of these functions.
+
+| commit 5775ba36ea9c760c2d7e697dac04f2f7fc95aa62
+| Author: Uwe Kleine-König <u.k...@pe...>
+| Date: Tue Apr 24 10:05:22 2012 +0200
+|
+| mtd: mxc_nand: fix several sparse warnings about incorrect address space
+|
+| Signed-off-by: Uwe Kleine-König <u.k...@pe...>
+| Signed-off-by: Artem Bityutskiy <art...@li...>
+
+Signed-off-by: Sascha Hauer <s....@pe...>
+Cc: Uwe Kleine-König <u.k...@pe...>
+tested-by: Philippe Reynes <tr...@ya...>
+---
+ drivers/mtd/nand/mxc_nand.c | 37 +++++++++++++++++++++++++++++--------
+ 1 files changed, 29 insertions(+), 8 deletions(-)
+
+diff --git a/drivers/mtd/nand/mxc_nand.c b/drivers/mtd/nand/mxc_nand.c
+index c58e6a9..6acc790 100644
+--- a/drivers/mtd/nand/mxc_nand.c
++++ b/drivers/mtd/nand/mxc_nand.c
+@@ -273,6 +273,26 @@ static struct nand_ecclayout nandv2_hw_eccoob_4k = {
+
+ static const char *part_probes[] = { "RedBoot", "cmdlinepart", "ofpart", NULL };
+
++static void memcpy32_fromio(void *trg, const void __iomem *src, size_t size)
++{
++ int i;
++ u32 *t = trg;
++ const __iomem u32 *s = src;
++
++ for (i = 0; i < (size >> 2); i++)
++ *t++ = __raw_readl(s++);
++}
++
++static void memcpy32_toio(void __iomem *trg, const void *src, int size)
++{
++ int i;
++ u32 __iomem *t = trg;
++ const u32 *s = src;
++
++ for (i = 0; i < (size >> 2); i++)
++ __raw_writel(*s++, t++);
++}
++
+ static int check_int_v3(struct mxc_nand_host *host)
+ {
+ uint32_t tmp;
+@@ -519,7 +539,7 @@ static void send_read_id_v3(struct mxc_nand_host *host)
+
+ wait_op_done(host, true);
+
+- memcpy_fromio(host->data_buf, host->main_area0, 16);
++ memcpy32_fromio(host->data_buf, host->main_area0, 16);
+ }
+
+ /* Request the NANDFC to perform a read of the NAND device ID. */
+@@ -535,7 +555,7 @@ static void send_read_id_v1_v2(struct mxc_nand_host *host)
+ /* Wait for operation to complete */
+ wait_op_done(host, true);
+
+- memcpy_fromio(host->data_buf, host->main_area0, 16);
++ memcpy32_fromio(host->data_buf, host->main_area0, 16);
+
+ if (this->options & NAND_BUSWIDTH_16) {
+ /* compress the ID info */
+@@ -797,16 +817,16 @@ static void copy_spare(struct mtd_info *mtd, bool bfrom)
+
+ if (bfrom) {
+ for (i = 0; i < n - 1; i++)
+- memcpy_fromio(d + i * j, s + i * t, j);
++ memcpy32_fromio(d + i * j, s + i * t, j);
+
+ /* the last section */
+- memcpy_fromio(d + i * j, s + i * t, mtd->oobsize - i * j);
++ memcpy32_fromio(d + i * j, s + i * t, mtd->oobsize - i * j);
+ } else {
+ for (i = 0; i < n - 1; i++)
+- memcpy_toio(&s[i * t], &d[i * j], j);
++ memcpy32_toio(&s[i * t], &d[i * j], j);
+
+ /* the last section */
+- memcpy_toio(&s[i * t], &d[i * j], mtd->oobsize - i * j);
++ memcpy32_toio(&s[i * t], &d[i * j], mtd->oobsize - i * j);
+ }
+ }
+
+@@ -1070,7 +1090,8 @@ static void mxc_nand_command(struct mtd_info *mtd, unsigned command,
+
+ host->devtype_data->send_page(mtd, NFC_OUTPUT);
+
+- memcpy_fromio(host->data_buf, host->main_area0, mtd->writesize);
++ memcpy32_fromio(host->data_buf, host->main_area0,
++ mtd->writesize);
+ copy_spare(mtd, true);
+ break;
+
+@@ -1086,7 +1107,7 @@ static void mxc_nand_command(struct mtd_info *mtd, unsigned command,
+ break;
+
+ case NAND_CMD_PAGEPROG:
+- memcpy_toio(host->main_area0, host->data_buf, mtd->writesize);
++ memcpy32_toio(host->main_area0, host->data_buf, mtd->writesize);
+ copy_spare(mtd, false);
+ host->devtype_data->send_page(mtd, NFC_INPUT);
+ host->devtype_data->send_cmd(host, command, true);
+--
+1.7.1
+
hooks/post-receive
--
armadeus
|