NAND subpage write support interface

Artem Bityutskiy dedekind1 at gmail.com
Fri Mar 8 08:24:50 EST 2013


On Thu, 2013-02-28 at 06:41 +0000, Gupta, Pekon wrote:
> Hi All,
> 
> Need a suggestion, based on my understanding of following flow in NAND driver:
> 
> MTD Writes: (Currently implemented)
> nand_write [Interface]
>     +-- nand_do_write_ops  [Internal]
>               +-- chip->write_page   [Replacable]
>                         +-- chip->ecc.write_page_raw  [Replaceable]
>                         +-- chip->ecc.write_page [Replaceable]
> 
> 
> MTD Read: (Currently implemented)
> nand_read [Interface]
>     +-- nand_do_read_ops  [Internal]
>                 +-- chip->ecc.read_page_raw  [Replaceable]
>                 +-- chip->ecc.read_subpage [Replaceable]
>                 +-- chip->ecc.write_page [Replaceable]

I guess you meant 'read_page' here.

> My queries: 
>  (1) Going forward, Can the MLC and SLC programming sequence be merged 
> In generic 'nand_do_write_ops' ? 
> And 'chip->write_page' interface can be deprecated?
> Currently I do not see any driver  except 'lpc32xx_mlc.c' using this interface. 

Probably, do  you have a patch? 
> 
> --------------------------------------------------
> 
> MTD Writes: (with deprecated chip->write_page interface)
> nand_write [Interface]
>     +-- nand_do_write_ops  [Internal]
>                +-- chip->ecc.write_page_raw  [Replaceable]
>                +-- chip->ecc.write_page [Replaceable]
> 
> --------------------------------------------------
> 
> 
>  (2) To add support for NAND subpage writes, I need to pass 'column' offset 
> also till chip->ecc.nand_subpage_write. So I need to either update existing 
> 'chip->write_page' interface,  
> OR add a new interface 'chip->write_subpage' in parallel.

I guess 'write_subpage' is reasonable.



-- 
Best Regards,
Artem Bityutskiy




More information about the linux-mtd mailing list