[PATCH v2] mtd: nand: raw: atmel: Use ONFI ECC params if available
Balamanikandan.Gunasundar at microchip.com
Balamanikandan.Gunasundar at microchip.com
Thu Jul 25 11:36:19 CEST 2024
Acked-by: Balamanikandan Gunasundar
<balamanikandan.gunasundar at microchip.com>
On 22/07/24 3:15 am, Zixun LI wrote:
> [Some people who received this message don't often get email from admin at hifiphile.com. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
>
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> When ECC parameters are not specified in DT, first try ONFI ECC parameters
> before fallback to maximum strength.
>
> It's the Linux driver behavior since the driver rewriting in f88fc12.
>
> From then 2 nand system refactors have been done in 6a1b66d6 and 53576c7b,
> chip->ecc_strength_ds and chip->ecc_step_ds became
> nanddev_get_ecc_requirements(). U-Boot didn't follow the refactor and
> always use these 2 fields.
>
> v2: Fix formatting, add upstream commit hash.
>
> Signed-off-by: Zixun LI <zli at 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 ee4ec6da58..817fab4ca3 100644
> --- a/drivers/mtd/nand/raw/atmel/nand-controller.c
> +++ b/drivers/mtd/nand/raw/atmel/nand-controller.c
> @@ -1029,11 +1029,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;
> else
> req.ecc.sectorsize = ATMEL_PMECC_SECTOR_SIZE_AUTO;
>
> --
> 2.45.2
>
More information about the U-Boot
mailing list