Patchwork [3/5] mtd: nand: atmel: use default ecc layout

login
register
mail settings
Submitter Nicolas Ferre
Date May 20, 2009, 3:19 p.m.
Message ID <4A141F81.8070104@atmel.com>
Download mbox | patch
Permalink /patch/27458/
State New
Headers show

Comments

Nicolas Ferre - May 20, 2009, 3:19 p.m.
Hi,

I would like to bring my 2cents to the discussion so, let me comment simultaneously on:
[PATCH 1/5] mtd: nand: move layout structure into nand_ecc_ctrl
[PATCH 3/5] mtd: nand: atmel: use default ecc layout

First of all I did not manage to compile without this additional line in atmel_nand.c (which is not in original patch):



Here is the log that I have running with this patch:
"
NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit)
AT91 NAND: 8-bit, Software ECC
nand_scan_tail ecc.total = 24, ecc.steps = 8, ecc.bytes = 3, ecc.size = 256, writesize = 2048
nand_scan_tail oobfree[0].offset=2, .length=38
Scanning device for bad blocks
Bad eraseblock 881 at 0x06e20000
Creating 3 MTD partitions on "atmel_nand":
0x00000000-0x00400000 : "Bootstrap"
0x00400000-0x04000000 : "Partition 1"
0x04000000-0x10000000 : "Partition 2"
"

All seems ok.

So, with the above line replaced, I would like to add to both patches:

[nicolas.ferre@atmel.com: tested on large page nand sw ECC]
Tested-by: Nicolas Ferre <nicolas.ferre@atmel.com>

Regards,
Troy Kisky - May 20, 2009, 6:28 p.m.
Nicolas Ferre wrote:
> Hi,
> 
> I would like to bring my 2cents to the discussion so, let me comment simultaneously on:
> [PATCH 1/5] mtd: nand: move layout structure into nand_ecc_ctrl
> [PATCH 3/5] mtd: nand: atmel: use default ecc layout
> 
> First of all I did not manage to compile without this additional line in atmel_nand.c (which is not in original patch):
> 
> --- a/drivers/mtd/nand/atmel_nand.c
> +++ b/drivers/mtd/nand/atmel_nand.c
> @@ -329,7 +303,7 @@ static int atmel_nand_calculate(struct m
>  {
>  	struct nand_chip *nand_chip = mtd->priv;
>  	struct atmel_nand_host *host = nand_chip->priv;
> -	uint32_t *eccpos = nand_chip->ecc.layout->eccpos;
> +	uint32_t *eccpos = nand_chip->ecc.layout.eccpos;
>  	unsigned int ecc_value;
>  
>  	/* get the first 2 ECC bytes */
> 

My patch set is on top of Linux 2.6.30-rc5.

From 1/3
@@ -188,7 +188,6 @@ static int atmel_nand_calculate(struct mtd_info *mtd,
 {
 	struct nand_chip *nand_chip = mtd->priv;
 	struct atmel_nand_host *host = nand_chip->priv;
-	uint32_t *eccpos = nand_chip->ecc.layout->eccpos;
 	unsigned int ecc_value;

 	/* get the first 2 ECC bytes */

Which is the same subroutine as your change, but a strange difference in line
numbers. Which makes me think you have changes in this file as well.


> 
> Here is the log that I have running with this patch:
> "
> NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit)
> AT91 NAND: 8-bit, Software ECC
> nand_scan_tail ecc.total = 24, ecc.steps = 8, ecc.bytes = 3, ecc.size = 256, writesize = 2048
> nand_scan_tail oobfree[0].offset=2, .length=38
> Scanning device for bad blocks
> Bad eraseblock 881 at 0x06e20000
> Creating 3 MTD partitions on "atmel_nand":
> 0x00000000-0x00400000 : "Bootstrap"
> 0x00400000-0x04000000 : "Partition 1"
> 0x04000000-0x10000000 : "Partition 2"
> "
> 
> All seems ok.
> 
> So, with the above line replaced, I would like to add to both patches:
> 
> [nicolas.ferre@atmel.com: tested on large page nand sw ECC]
> Tested-by: Nicolas Ferre <nicolas.ferre@atmel.com>
> 
> Regards,


Thanks for testing. I appreciate it.


Troy

Patch

--- a/drivers/mtd/nand/atmel_nand.c
+++ b/drivers/mtd/nand/atmel_nand.c
@@ -329,7 +303,7 @@  static int atmel_nand_calculate(struct m
 {
 	struct nand_chip *nand_chip = mtd->priv;
 	struct atmel_nand_host *host = nand_chip->priv;
-	uint32_t *eccpos = nand_chip->ecc.layout->eccpos;
+	uint32_t *eccpos = nand_chip->ecc.layout.eccpos;
 	unsigned int ecc_value;
 
 	/* get the first 2 ECC bytes */