Linux kernel -stable discussions
 help / color / mirror / Atom feed
From: "Pali Rohár" <pali@kernel.org>
To: Miquel Raynal <miquel.raynal@bootlin.com>
Cc: "Sasha Levin" <sashal@kernel.org>,
	stable-commits@vger.kernel.org,
	"Richard Weinberger" <richard@nod.at>,
	"Vignesh Raghavendra" <vigneshr@ti.com>,
	stable@vger.kernel.org, "Marek Behún" <marek.behun@nic.cz>
Subject: Re: Patch "mtd: rawnand: fsl_elbc: Propagate HW ECC settings to HW" has been added to the 5.4-stable tree
Date: Wed, 8 Mar 2023 18:51:15 +0100	[thread overview]
Message-ID: <20230308175115.6y3jitdkzqcnqqev@pali> (raw)
In-Reply-To: <20230308170943.13b6ee5e@xps-13>

On Wednesday 08 March 2023 17:09:43 Miquel Raynal wrote:
> Hi Sasha,
> 
> sashal@kernel.org wrote on Sat,  4 Mar 2023 22:50:38 -0500:
> 
> > This is a note to let you know that I've just added the patch titled
> > 
> >     mtd: rawnand: fsl_elbc: Propagate HW ECC settings to HW
> > 
> > to the 5.4-stable tree which can be found at:
> >     http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
> > 
> > The filename of the patch is:
> >      mtd-rawnand-fsl_elbc-propagate-hw-ecc-settings-to-hw.patch
> > and it can be found in the queue-5.4 subdirectory.
> > 
> > If you, or anyone else, feels it should not be added to the stable tree,
> > please let <stable@vger.kernel.org> know about it.
> 
> +Marek
> 
> As reported by kernel test robot, this commit does not apply on 5.4
> because many changes have happened in the core since the introduction
> of the fixed patch. In practice the driver works in most cases,
> but does not in few rare cases (IIUC) so I would be in favor of just
> dropping this commit from the queue/5.4 branch. If someone feels like
> this commit should be backported there, please send an updated fix.
> 
> Link: https://lore.kernel.org/oe-kbuild-all/202303060514.1ziBICF7-lkp@intel.com/
> 
> Thanks,
> Miquèl
> 
> > 
> > 
> > 
> > commit 839c09472742b383f65eb7c1f7e576ebfb6a1f62
> > Author: Pali Rohár <pali@kernel.org>
> > Date:   Sat Jan 28 14:41:11 2023 +0100
> > 
> >     mtd: rawnand: fsl_elbc: Propagate HW ECC settings to HW
> >     
> >     [ Upstream commit b56265257d38af5abf43bd5461ca166b401c35a5 ]
> >     
> >     It is possible that current chip->ecc.engine_type value does not match to
> >     configured HW value (if HW ECC checking and generating is enabled or not).
> >     
> >     This can happen with old U-Boot bootloader version which either does not
> >     initialize NAND (and let it in some default unusable state) or initialize
> >     NAND with different parameters than what is specified in kernel DTS file.
> >     
> >     So if kernel chose to use some chip->ecc.engine_type settings (e.g. from
> >     DTS file) then do not depend on bootloader HW configuration and configures
> >     HW ECC settings according to chip->ecc.engine_type value.
> >     
> >     BR_DECC must be set to BR_DECC_CHK_GEN when HW is doing ECC (both
> >     generating and checking), or to BR_DECC_OFF when HW is not doing ECC.
> >     
> >     This change fixes usage of SW ECC support in case bootloader explicitly
> >     enabled HW ECC support and kernel DTS file has specified to use SW ECC.
> >     (Of course this works only in case when NAND is not a boot device and both
> >     bootloader and kernel are loaded from different location, e.g. FLASH NOR.)
> >     
> >     Fixes: f6424c22aa36 ("mtd: rawnand: fsl_elbc: Make SW ECC work")
> >     Signed-off-by: Pali Rohár <pali@kernel.org>
> >     Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
> >     Link: https://lore.kernel.org/linux-mtd/20230128134111.32559-1-pali@kernel.org
> >     Signed-off-by: Sasha Levin <sashal@kernel.org>
> > 
> > diff --git a/drivers/mtd/nand/raw/fsl_elbc_nand.c b/drivers/mtd/nand/raw/fsl_elbc_nand.c
> > index 634c550db13a7..e900c0eddc21d 100644
> > --- a/drivers/mtd/nand/raw/fsl_elbc_nand.c
> > +++ b/drivers/mtd/nand/raw/fsl_elbc_nand.c
> > @@ -727,6 +727,7 @@ static int fsl_elbc_attach_chip(struct nand_chip *chip)
> >  	struct fsl_lbc_ctrl *ctrl = priv->ctrl;
> >  	struct fsl_lbc_regs __iomem *lbc = ctrl->regs;
> >  	unsigned int al;
> > +	u32 br;
> >  
> >  	switch (chip->ecc.mode) {
> >  	/*
> > @@ -762,6 +763,13 @@ static int fsl_elbc_attach_chip(struct nand_chip *chip)
> >  		return -EINVAL;
> >  	}
> >  
> > +	/* enable/disable HW ECC checking and generating based on if HW ECC was chosen */
> > +	br = in_be32(&lbc->bank[priv->bank].br) & ~BR_DECC;
> > +	if (chip->ecc.engine_type == NAND_ECC_ENGINE_TYPE_ON_HOST)
> > +		out_be32(&lbc->bank[priv->bank].br, br | BR_DECC_CHK_GEN);
> > +	else
> > +		out_be32(&lbc->bank[priv->bank].br, br | BR_DECC_OFF);
> > +
> >  	/* calculate FMR Address Length field */
> >  	al = 0;
> >  	if (chip->pagemask & 0xffff0000)
> 

This commit depends on another commit "mtd: rawnand: fsl_elbc: Fix none ECC mode":
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=049e43b9fd8fd2966940485da163d67e96ee3fea

So if dependency commit is not backported then this commit
"mtd: rawnand: fsl_elbc: Propagate HW ECC settings to HW" cannot be
backported too.

      reply	other threads:[~2023-03-08 17:51 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20230305035038.1777370-1-sashal@kernel.org>
2023-03-08 16:09 ` Patch "mtd: rawnand: fsl_elbc: Propagate HW ECC settings to HW" has been added to the 5.4-stable tree Miquel Raynal
2023-03-08 17:51   ` Pali Rohár [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230308175115.6y3jitdkzqcnqqev@pali \
    --to=pali@kernel.org \
    --cc=marek.behun@nic.cz \
    --cc=miquel.raynal@bootlin.com \
    --cc=richard@nod.at \
    --cc=sashal@kernel.org \
    --cc=stable-commits@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=vigneshr@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox