
Hi Scott,
On Saturday, November 17, 2012 1:01:03 AM, Scott Wood wrote:
On 11/16/2012 02:28:16 PM, Benoît Thébaudeau wrote:
Also, I've noticed that some of the oobfree fields of the nand_ecclayout structures in mxc_nand.c are slightly different from what can be found in Linux. Any idea about which one is correct (if any)?
Unless there's an obvious error such as overlap with ECC or a bad block marker, there isn't really a right answer (except to the extent that you're wasting bytes) -- but it's important that everyone agree. So the answer is basically, "which compatibility would it hurt more to break?"
That said, the U-Boot ones make more sense to me in terms of not having strange missing bytes.
I've just found this commit, which explains what's going on: http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=commitdiff;h...
It looks like Linux is correct here because each structure is used for both 8- and 16-bit NFs, which seem to have different locations for bad block markers.
This fix is also missing from U-Boot: http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=commitdiff;h... It would help to drop some of the pagesize_2k that are weirdly mixed with writesize.
Best regards, Benoît