Hi Boris,

Boris Brezillon <boris.brezil...@collabora.com> wrote on Mon, 28 Sep
2020 18:03:43 +0200:

> On Mon, 28 Sep 2020 17:50:05 +0200
> Miquel Raynal <miquel.ray...@bootlin.com> wrote:
> 
> > > > The way OOB
> > > > bytes are organized do not seem relevant to me, I think i prefer the
> > > > "_4_/_8_" naming,even if it's not very explicit.      
> > > 
> > > The ECC strength doesn't say anything about the scheme used for ECC
> > > bytes placement, and you might end up with 2 different schemes
> > > providing the same strength, or the same scheme used for 2 different
> > > strengths.    
> > 
> > So perhaps both should be present in the name?  
> 
> No, the point was to re-use the same functions for various strengths if
> they use the same ECC placement scheme.

I get the point, but is the current implementation generic enough? I
see hardcoded numbers, I have no idea if these numbers are common to
all strength given a specific layout, or if they only match for a given
strength?

+static int micron_4_ooblayout_ecc(struct mtd_info *mtd, int section,
+                                 struct mtd_oob_region *region)
+{
+       struct spinand_device *spinand = mtd_to_spinand(mtd);
+
+       if (section >= spinand->base.memorg.pagesize /
+                       mtd->ecc_step_size)
+               return -ERANGE;
+
+       region->offset = (section * 16) + 8;
+       region->length = 8;
+
+       return 0;
+}

If possible, I would like to avoid several successive renaming.

Thanks,
Miquèl

Reply via email to