[PATCH V6] Nand driver for Nomadik 8815 SoC (on NHK8815 board)
vimal singh
vimal.newwork at gmail.com
Tue Jul 28 07:16:31 EDT 2009
On Tue, Jul 28, 2009 at 4:43 PM, vimal singh<vimal.newwork at gmail.com> wrote:
> Sorry to say, but you missed one comment I gave last time:
>
> On Tue, Jul 28, 2009 at 3:29 PM, Alessandro Rubini<ru at gnudd.com> wrote:
>
> ---snip---
>
>> +static inline int parity(int b) /* uses low 8 bits: returns 0 or all-1 */
>> +{
>> + b = b ^ (b >> 4);
>> + b = b ^ (b >> 2);
>> + return (b ^ (b >> 1)) & 1
>> + ? ~0 : 0;
>> +}
>
> This function is not in use... please remove it.
>
> ---snip---
>
>> + /*
>> + * This stanza declares ECC_HW but uses soft routines. It's because
>> + * HW claims to make the calculation but not the correction. However,
>> + * I haven't managed to get the desired data out of it until now.
>> + */
>> + nand->ecc.mode = NAND_ECC_SOFT;
>> + nand->ecc.layout = &nomadik_ecc_layout;
>> + nand->ecc.hwctl = nomadik_ecc_control;
>> + nand->ecc.size = 512;
>> + nand->ecc.bytes = 3;
>
> As I wrote earlier too, are you aware of that currently 512 byte
> sector ECC will not work without below patch: (since in nand_base.c,
> SW ECC configurations over write the 'ecc.size' by 256)
>
> http://patchwork.ozlabs.org/patch/13697/
>
> As an alternative, if you use 'NAND_SKIP_BBTSCAN' option, moving assignment:
> nand->ecc.size = 512;
> after 'nand_scan' is done, will work.
>
Sorry, you already mentioned it... I missed those lines in your mail.
-vimal
>> +
>> + nand->options = pdata->options;
>> +
>> + /*
>> + * Scan to find existance of the device
>> + */
>> + if (nand_scan(&host->mtd, 1)) {
>> + ret = -ENXIO;
>> + goto err_unmap;
>> + }
>> +
>
More information about the linux-mtd
mailing list