Hello, Am Tue, Jul 09, 2024 at 10:28:12PM +0000 schrieb Zixun Li: > When ECC parameters are not specified in DT, first try ONFI ECC parameters > before fallback to maximum strength. To be inline with kernel driver behavior. > > Signed-off-by: Zixun LI <z...@ogga.fr> > --- > drivers/mtd/nand/raw/atmel/nand-controller.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/mtd/nand/raw/atmel/nand-controller.c > b/drivers/mtd/nand/raw/atmel/nand-controller.c > index 9873d11254..d29a9c6f10 100644 > --- a/drivers/mtd/nand/raw/atmel/nand-controller.c > +++ b/drivers/mtd/nand/raw/atmel/nand-controller.c > @@ -1064,11 +1064,15 @@ static int atmel_nand_pmecc_init(struct nand_chip > *chip) > req.ecc.strength = ATMEL_PMECC_MAXIMIZE_ECC_STRENGTH; > else if (chip->ecc.strength) > req.ecc.strength = chip->ecc.strength; > + else if(chip->ecc_strength_ds) > + req.ecc.strength = chip->ecc_strength_ds; > else > req.ecc.strength = ATMEL_PMECC_MAXIMIZE_ECC_STRENGTH; > > if (chip->ecc.size) > req.ecc.sectorsize = chip->ecc.size; > + else if(chip->ecc_step_ds) > + req.ecc.sectorsize = chip->ecc_step_ds;
Despite the missing space between 'if' and the opening bracket (checkpatch should have told you?) this looks very much like what got into linux with v4.11 but was changed/reworked multiple times afterwards. I wonder why this was not ported to U-Boot when introducing this driver? In 6a8dfd57220d ("nand: atmel: Add DM based NAND driver") it was claimed the driver was ported from linux-5.4-at91, so this feature was probably dropped intentionally? Does anyone know why? (Cc-ing the original driver author/porter.) Greets Alex > else > req.ecc.sectorsize = ATMEL_PMECC_SECTOR_SIZE_AUTO; > > -- > 2.45.1 >