[U-Boot] arm: omap: Fix switching back to nandecc sw.

Switching back to nandecc sw fails to write correctly. A fix for this is already mentioned in the thread below, lets fix it.
mentioned in http://lists.denx.de/pipermail/u-boot/2012-February/119002.html
Signed-off-by: Jeroen Hofstee jhofstee@victronenergy.com --- drivers/mtd/nand/omap_gpmc.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/mtd/nand/omap_gpmc.c b/drivers/mtd/nand/omap_gpmc.c index ca868ef..71aec1a 100644 --- a/drivers/mtd/nand/omap_gpmc.c +++ b/drivers/mtd/nand/omap_gpmc.c @@ -280,6 +280,7 @@ void omap_nand_switch_ecc(int32_t hardware) omap_hwecc_init(nand); printf("HW ECC selected\n"); } else { + nand->ecc.size = 0; nand->ecc.mode = NAND_ECC_SOFT; /* Use mtd default settings */ nand->ecc.layout = NULL;

Hi Jeroen,
Thanks for the patch!
On 08/10/12 23:06, Jeroen Hofstee wrote:
Switching back to nandecc sw fails to write correctly. A fix for this is already mentioned in the thread below, lets fix it.
mentioned in http://lists.denx.de/pipermail/u-boot/2012-February/119002.html
I would expect to have an actual explanation in the commit message instead of (or along with) the link above and not just something like: we fix nandecc sw, want to know more, go somewhere else...
Signed-off-by: Jeroen Hofstee jhofstee@victronenergy.com
After the commit message is fixed,
Acked-by: Igor Grinberg grinberg@compulab.co.il
drivers/mtd/nand/omap_gpmc.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/mtd/nand/omap_gpmc.c b/drivers/mtd/nand/omap_gpmc.c index ca868ef..71aec1a 100644 --- a/drivers/mtd/nand/omap_gpmc.c +++ b/drivers/mtd/nand/omap_gpmc.c @@ -280,6 +280,7 @@ void omap_nand_switch_ecc(int32_t hardware) omap_hwecc_init(nand); printf("HW ECC selected\n"); } else {
nand->ecc.size = 0; nand->ecc.mode = NAND_ECC_SOFT; /* Use mtd default settings */ nand->ecc.layout = NULL;

Acked-by: Nikita Kiryanov nikita@compulab.co.il
On Sun, Aug 12, 2012 at 11:12 AM, Igor Grinberg grinberg@compulab.co.ilwrote:
Hi Jeroen,
Thanks for the patch!
On 08/10/12 23:06, Jeroen Hofstee wrote:
Switching back to nandecc sw fails to write correctly. A fix for this is already mentioned in the thread below, lets fix it.
mentioned in
http://lists.denx.de/pipermail/u-boot/2012-February/119002.html
I would expect to have an actual explanation in the commit message instead of (or along with) the link above and not just something like: we fix nandecc sw, want to know more, go somewhere else...
Signed-off-by: Jeroen Hofstee jhofstee@victronenergy.com
After the commit message is fixed,
Acked-by: Igor Grinberg grinberg@compulab.co.il
drivers/mtd/nand/omap_gpmc.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/mtd/nand/omap_gpmc.c b/drivers/mtd/nand/omap_gpmc.c index ca868ef..71aec1a 100644 --- a/drivers/mtd/nand/omap_gpmc.c +++ b/drivers/mtd/nand/omap_gpmc.c @@ -280,6 +280,7 @@ void omap_nand_switch_ecc(int32_t hardware) omap_hwecc_init(nand); printf("HW ECC selected\n"); } else {
nand->ecc.size = 0; nand->ecc.mode = NAND_ECC_SOFT; /* Use mtd default settings */ nand->ecc.layout = NULL;
-- Regards, Igor. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

version 2: Updated the commit message to include the explanation from the original thread.
For cosmetic reasons, move the added line 2 lines down, so it is similiar to the hw case.
Add original author and maintainer on cc.
Jeroen Hofstee (1): arm: omap2+: Fix switching back to nandecc sw.
drivers/mtd/nand/omap_gpmc.c | 1 + 1 file changed, 1 insertion(+)

Orjan Friberg wrote at [1]:
"For the beagleboard, ecc.size is not explicitly set when doing 'nandecc sw'. If it's not set for the NAND_ECC_SOFT case in nand_scan_tail, it's set to 256 bytes.
When doing 'nandecc hw', ecc.size is set to 512 bytes. Hence, when changing back to 'nandecc sw' ecc.size remains at 512 bytes and suddenly the format has changed."
No patch has been submitted and the issue was still present. This patch adds the mentioned solution. Tested on a tam3517 board.
[1] http://lists.denx.de/pipermail/u-boot/2012-February/119002.html
cc: Orjan Friberg of@flatfrog.com Acked-by: Igor Grinberg grinberg@compulab.co.il Acked-by: Nikita Kiryanov nikita@compulab.co.il Signed-off-by: Jeroen Hofstee jhofstee@victronenergy.com --- drivers/mtd/nand/omap_gpmc.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/mtd/nand/omap_gpmc.c b/drivers/mtd/nand/omap_gpmc.c index ca868ef..f1469d1 100644 --- a/drivers/mtd/nand/omap_gpmc.c +++ b/drivers/mtd/nand/omap_gpmc.c @@ -283,6 +283,7 @@ void omap_nand_switch_ecc(int32_t hardware) nand->ecc.mode = NAND_ECC_SOFT; /* Use mtd default settings */ nand->ecc.layout = NULL; + nand->ecc.size = 0; printf("SW ECC selected\n"); }

On Tue, Aug 14, 2012 at 10:36:19PM +0200, Jeroen Hofstee wrote:
version 2: Updated the commit message to include the explanation from the original thread.
For cosmetic reasons, move the added line 2 lines down, so it is similiar to the hw case. Add original author and maintainer on cc.
Jeroen Hofstee (1): arm: omap2+: Fix switching back to nandecc sw.
Queued up for u-boot-ti/master, thanks!
participants (4)
-
Igor Grinberg
-
Jeroen Hofstee
-
Nikita Kiryanov
-
Tom Rini