[PATCH] mtd: rawnand: marvell: add missing layouts

Vadym Kochan vadym.kochan at plvision.eu
Tue Oct 25 01:07:06 PDT 2022


Hi Miquel,

On Tue, 25 Oct 2022 09:47:48 +0200, Miquel Raynal <miquel.raynal at bootlin.com> wrote:
> Hi Vadym,
> 
> vadym.kochan at plvision.eu wrote on Tue, 25 Oct 2022 00:55:31 +0300:
> 
> > From: Aviram Dali <aviramd at marvell.com>
> > 
> > A missing layouts were added to the driver to support NAND flashes
> > with ECC layouts of 12 or 16 with page sized of 2048, 4096 or 8192.
> > 
> > Usually theses are rare layouts, but in Marvell AC5 driver, the ECC
> > level is set according to the spare area, so we may use these layouts
> > more frequently.
> 
> Again, please do not carry cosmetic changes and real new additions in
> the same patch.
> 

You are right, it is difficult to see the real changes. Will try to
make diff to look more clear.


> > 
> > Signed-off-by: Aviram Dali <aviramd at marvell.com>
> > Signed-off-by: Vadym Kochan <vadym.kochan at plvision.eu>
> > ---
> >  drivers/mtd/nand/raw/marvell_nand.c | 23 +++++++++++++++--------
> >  1 file changed, 15 insertions(+), 8 deletions(-)
> > 
> > diff --git a/drivers/mtd/nand/raw/marvell_nand.c b/drivers/mtd/nand/raw/marvell_nand.c
> > index b9d1e96e3334..7944787f7b9f 100644
> > --- a/drivers/mtd/nand/raw/marvell_nand.c
> > +++ b/drivers/mtd/nand/raw/marvell_nand.c
> > @@ -283,14 +283,21 @@ struct marvell_hw_ecc_layout {
> >  
> >  /* Layouts explained in AN-379_Marvell_SoC_NFC_ECC */
> >  static const struct marvell_hw_ecc_layout marvell_nfc_layouts[] = {
> > -	MARVELL_LAYOUT(  512,   512,  1,  1,  1,  512,  8,  8,  0,  0,  0),
> > -	MARVELL_LAYOUT( 2048,   512,  1,  1,  1, 2048, 40, 24,  0,  0,  0),
> > -	MARVELL_LAYOUT( 2048,   512,  4,  1,  1, 2048, 32, 30,  0,  0,  0),
> > -	MARVELL_LAYOUT( 2048,   512,  8,  2,  1, 1024,  0, 30,1024,32, 30),
> > -	MARVELL_LAYOUT( 4096,   512,  4,  2,  2, 2048, 32, 30,  0,  0,  0),
> > -	MARVELL_LAYOUT( 4096,   512,  8,  5,  4, 1024,  0, 30,  0, 64, 30),
> > -	MARVELL_LAYOUT( 8192,   512,  4,  4,  4, 2048,  0, 30,  0,  0,  0),
> > -	MARVELL_LAYOUT( 8192,   512,  8,  9,  8, 1024,  0, 30,  0, 160, 30),
> > +	MARVELL_LAYOUT(512,   512,  1,  1,  1,  512,  8,  8,  0,   0,  0),
> > +	MARVELL_LAYOUT(2048,   512,  1,  1,  1, 2048, 40, 24,  0,   0,  0),
> > +	MARVELL_LAYOUT(2048,   512,  4,  1,  1, 2048, 32, 30,  0,   0,  0),
> > +	MARVELL_LAYOUT(2048,   512,  8,  2,  1, 1024,  0, 30,  1024, 32, 30),
> > +	MARVELL_LAYOUT(2048,   512,  8,  2,  1, 1024,  0, 30,  1024, 64, 30),
> > +	MARVELL_LAYOUT(2048,   512,  12, 3,  2, 704,   0, 30,  640, 0,  30),
> > +	MARVELL_LAYOUT(2048,   512,  16, 5,  4, 512,   0, 30,  0,   32, 30),
> > +	MARVELL_LAYOUT(4096,   512,  4,  2,  2, 2048, 32, 30,  0,   0,  0),
> > +	MARVELL_LAYOUT(4096,   512,  8,  5,  4, 1024,  0, 30,  0,   64, 30),
> > +	MARVELL_LAYOUT(4096,   512,  12, 6,  5, 704,   0, 30,  576, 32, 30),
> > +	MARVELL_LAYOUT(4096,   512,  16, 9,  8, 512,   0, 30,  0,   32, 30),
> > +	MARVELL_LAYOUT(8192,   512,  4,  4,  4, 2048,  0, 30,  0,   0,  0),
> > +	MARVELL_LAYOUT(8192,   512,  8,  9,  8, 1024,  0, 30,  0,  160, 30),
> > +	MARVELL_LAYOUT(8192,   512,  12, 12, 11, 704,  0, 30,  448, 64, 30),
> > +	MARVELL_LAYOUT(8192,   512,  16, 17, 16, 512,  0, 30,  0,   32, 30),
> >  };
> >  
> >  /**
> 
> 
> Thanks,
> Miquèl



More information about the linux-mtd mailing list