[PATCH/RFC] OneNAND simulator support
Kyungmin Park
kmpark at infradead.org
Thu Mar 22 19:51:55 EDT 2007
> On Thu, 2007-03-22 at 09:51 +0900, Kyungmin Park wrote:
> > Hi,
> >
> > This patch simulate various OneNAND flash chips for the MTD
> onenand layer.
> > It's simple implementation, only basic operations.
> > It don't support the recent changes in NANDSIM such as lazy
> block allocation,
> > bitflip, and so on.
> >
> > Any comments are welcome.
>
> Did you run our nand-tests to make sure it is OK?
>
oobtest => passed (with revert patch, see below)
pagetest=> passed
subpagetest=> failed
At this time. it doesn't support subpage. I will check it.
To Adrian,
After patch http://git.infradead.org/?p=mtd-
2.6.git;a=commitdiff;h=5bc399e9ef430efd5725b66aa2ad7ad2d81e372b;hp=81280d5879761
f90b3a341d52371d03998730d8e
--- a/drivers/mtd/onenand/onenand_base.c
+++ b/drivers/mtd/onenand/onenand_base.c
@@ -854,7 +854,8 @@ static int onenand_transfer_auto_oob(str
int n = ed - st;
memcpy(buf, oob_buf + st, n);
buf += n;
- }
+ } else
+ break;
}
return 0;
}
@@ -1295,7 +1296,8 @@ static int onenand_fill_auto_oob(struct
int n = ed - st;
memcpy(oob_buf + st, buf, n);
buf += n;
- }
+ } else
+ break;
}
return 0;
}
It don't pass the oobtest since I assume oob passed at first, but oobtest don't
do that.
Basically I optimizeed it for JFFS2.
Do I revert it or do nothing? please give your opinion.
Thank you,
Kyungmin Park
[ 11.687500] i = 0, offset = 2, readend = 32, free_end = 5, readcol = 14
[ 11.695312] oobtest: error: verify failed at 0x00006c00
[ 11.695312] i = 0, offset = 2, readend = 31, free_end = 5, readcol = 14
[ 11.703125] oobtest: error: verify failed at 0x00007000
[ 11.710937] i = 0, offset = 2, readend = 30, free_end = 5, readcol = 14
[ 11.718750] oobtest: error: verify failed at 0x00007400
[ 11.726562] i = 0, offset = 2, readend = 20, free_end = 5, readcol = 14
[ 11.734375] oobtest: error: verify failed at 0x00007800
[ 11.734375] i = 0, offset = 2, readend = 19, free_end = 5, readcol = 14
[ 11.742187] oobtest: error: verify failed at 0x00007c00
[ 11.750000] i = 0, offset = 2, readend = 18, free_end = 5, readcol = 14
[ 11.757812] oobtest: error: verify failed at 0x00008000
More information about the linux-mtd
mailing list