linux-mtd.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Han Xu <han.xu@nxp.com>
To: Martin Kepplinger <martin.kepplinger@ginzinger.com>,
	"bbrezillon@kernel.org" <bbrezillon@kernel.org>,
	"miquel.raynal@bootlin.com" <miquel.raynal@bootlin.com>,
	"richard@nod.at" <richard@nod.at>,
	"dwmw2@infradead.org" <dwmw2@infradead.org>,
	"computersforpeace@gmail.com" <computersforpeace@gmail.com>,
	"marek.vasut@gmail.com" <marek.vasut@gmail.com>,
	"linux-mtd@lists.infradead.org" <linux-mtd@lists.infradead.org>
Cc: Manfred Schlaegl <manfred.schlaegl@ginzinger.com>,
	Fabio Estevam <festevam@gmail.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"stable@vger.kernel.org" <stable@vger.kernel.org>
Subject: RE: [PATCH v2] mtd: rawnand: gpmi: fix MX28 bus master lockup problem
Date: Tue, 5 Feb 2019 16:28:36 +0000	[thread overview]
Message-ID: <AM6PR04MB49671F2AA5E38B5C69602ACD976E0@AM6PR04MB4967.eurprd04.prod.outlook.com> (raw)
In-Reply-To: <20190205155251.18733-1-martin.kepplinger@ginzinger.com>



> -----Original Message-----
> From: Martin Kepplinger <martin.kepplinger@ginzinger.com>
> Sent: Tuesday, February 5, 2019 9:53 AM
> To: Han Xu <han.xu@nxp.com>; bbrezillon@kernel.org;
> miquel.raynal@bootlin.com; richard@nod.at; dwmw2@infradead.org;
> computersforpeace@gmail.com; marek.vasut@gmail.com; linux-
> mtd@lists.infradead.org
> Cc: linux-kernel@vger.kernel.org; stable@vger.kernel.org; Manfred Schlaegl
> <manfred.schlaegl@ginzinger.com>; Fabio Estevam <festevam@gmail.com>
> Subject: [PATCH v2] mtd: rawnand: gpmi: fix MX28 bus master lockup
> problem
> 
> Disable BCH soft reset according to MX23 erratum #2847 ("BCH soft
> reset may cause bus master lock up") for MX28 too. It has the same
> problem.
> 
> Observed problem: once per 100,000+ MX28 reboots NAND read failed on
> DMA timeout errors:
> [    1.770823] UBI: attaching mtd3 to ubi0
> [    2.768088] gpmi_nand: DMA timeout, last DMA :1
> [    3.958087] gpmi_nand: BCH timeout, last DMA :1
> [    4.156033] gpmi_nand: Error in ECC-based read: -110
> [    4.161136] UBI warning: ubi_io_read: error -110 while reading 64
> bytes from PEB 0:0, read only 0 bytes, retry
> [    4.171283] step 1 error
> [    4.173846] gpmi_nand: Chip: 0, Error -1
> 
> Without BCH soft reset we successfully executed 1,000,000 MX28 reboots.
> 
> I have a quote from NXP regarding this problem, from July 18th 2016:
> 
> "As the i.MX23 and i.MX28 are of the same generation, they share many
> characteristics. Unfortunately, also the erratas may be shared.
> In case of the documented erratas and the workarounds, you can also
> apply the workaround solution of one device on the other one. This have
> been reported, but I’m afraid that there are not an estimated date for
> updating the Errata documents.
> Please accept our apologies for any inconveniences this may cause."
> 
> Fixes: 6f2a6a52560a ("mtd: nand: gpmi: reset BCH earlier, too, to avoid
> NAND startup problems")
> Cc: stable@vger.kernel.org
> Signed-off-by: Manfred Schlaegl <manfred.schlaegl@ginzinger.com>
> Signed-off-by: Martin Kepplinger <martin.kepplinger@ginzinger.com>
> Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
> Reviewed-by: Fabio Estevam <festevam@gmail.com>

Acked-by: Han Xu <han.xu@nxp.com>

> ---
> 
> 
> revision history
> ----------------
> v2: add Fixes tag, Cc stable and add recent Reviewed-by tags
> 
> 
>  drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c | 13 ++++++-------
>  1 file changed, 6 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c
> b/drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c
> index bd4cfac6b5aa..a4768df5083f 100644
> --- a/drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c
> +++ b/drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c
> @@ -155,9 +155,10 @@ int gpmi_init(struct gpmi_nand_data *this)
> 
>  	/*
>  	 * Reset BCH here, too. We got failures otherwise :(
> -	 * See later BCH reset for explanation of MX23 handling
> +	 * See later BCH reset for explanation of MX23 and MX28 handling
>  	 */
> -	ret = gpmi_reset_block(r->bch_regs, GPMI_IS_MX23(this));
> +	ret = gpmi_reset_block(r->bch_regs,
> +			       GPMI_IS_MX23(this) || GPMI_IS_MX28(this));
>  	if (ret)
>  		goto err_out;
> 
> @@ -263,12 +264,10 @@ int bch_set_geometry(struct gpmi_nand_data
> *this)
>  	/*
>  	* Due to erratum #2847 of the MX23, the BCH cannot be soft reset on
> this
>  	* chip, otherwise it will lock up. So we skip resetting BCH on the
> MX23.
> -	* On the other hand, the MX28 needs the reset, because one case
> has been
> -	* seen where the BCH produced ECC errors constantly after 10000
> -	* consecutive reboots. The latter case has not been seen on the
> MX23
> -	* yet, still we don't know if it could happen there as well.
> +	* and MX28.
>  	*/
> -	ret = gpmi_reset_block(r->bch_regs, GPMI_IS_MX23(this));
> +	ret = gpmi_reset_block(r->bch_regs,
> +			       GPMI_IS_MX23(this) || GPMI_IS_MX28(this));
>  	if (ret)
>  		goto err_out;
> 
> --
> 2.20.1

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

  reply	other threads:[~2019-02-05 16:28 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-05 15:52 [PATCH v2] mtd: rawnand: gpmi: fix MX28 bus master lockup problem Martin Kepplinger
2019-02-05 16:28 ` Han Xu [this message]
2019-02-06  8:35 ` [v2] " Boris Brezillon
2019-02-06  8:42 ` [PATCH v2] " Boris Brezillon

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=AM6PR04MB49671F2AA5E38B5C69602ACD976E0@AM6PR04MB4967.eurprd04.prod.outlook.com \
    --to=han.xu@nxp.com \
    --cc=bbrezillon@kernel.org \
    --cc=computersforpeace@gmail.com \
    --cc=dwmw2@infradead.org \
    --cc=festevam@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=manfred.schlaegl@ginzinger.com \
    --cc=marek.vasut@gmail.com \
    --cc=martin.kepplinger@ginzinger.com \
    --cc=miquel.raynal@bootlin.com \
    --cc=richard@nod.at \
    --cc=stable@vger.kernel.org \
    /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;
as well as URLs for NNTP newsgroup(s).