From: Miquel RAYNAL <miquel.raynal@free-electrons.com>
To: "Sean Nyekjær" <sean.nyekjaer@prevas.dk>
Cc: Boris Brezillon <boris.brezillon@free-electrons.com>,
<ezequiel.garcia@free-electrons.com>,
<linux-mtd@lists.infradead.org>,
"Kasper Revsbech (KREV)" <krev@triax.com>
Subject: Re: [SPAM] Re: [BUG] pxa3xx: wait time out when scanning for bb
Date: Mon, 18 Dec 2017 09:56:09 +0100 [thread overview]
Message-ID: <20171218095609.30408c57@xps13> (raw)
In-Reply-To: <4e25e578-f0a6-89a0-b6f8-98bda37d12de@prevas.dk>
Hi Sean,
On Mon, 18 Dec 2017 07:23:04 +0100
Sean Nyekjær <sean.nyekjaer@prevas.dk> wrote:
> Hi Boris and Miquel
>
>
> >>>>>>>
> >>>>>>>> I also tried booting with ECC enabled and with that enabled
> >>>>>>>> the driver is unable to read the bbt and marked all blocks
> >>>>>>>> bad.
> >>>>>>> And if I understand correctly, if you remove nand-ecc-mode =
> >>> "none" (or
> >>>>>>> set it to "hw"), the kernel fails to find the BBT, that is
> >>>>>>> right?
> >>>
> >>>>>> Yes.
> >>>>>>> As I was not expecting such a quick answer, I did push
> >>>>>>> another
> >>> patch
> >>>>>>> after sending my email that fixes an issue in mtdcore.c,
> >>>>>>> please
> >>> check
> >>>>>>> you have it (there are a few "fixup!" patches, and on top of
> >>>>>>> them
> >>> you
> >>>>>>> must find one which is a well-formatted patch about
> >>>>>>> mtd_check_oob_ops()).
> >>>>>> I have rebased on top of 9aee88a618f8 mtd: Fix
> >>>>>> mtd_check_oob_ops()
> >>>
> >>>>>>> I learned that today: to get a prompt while all blocks are
> >>>>>>> bad,
> >>> you can
> >>>>>>> add:
> >>>>>>>
> >>>>>>> chip->options |= NAND_SKIP_BBTSCAN;
> >>>>>>>
> >>>>>>> Before nand_scan_tail().
> >>>>>>>
> >>>>>>> If you can reach a prompt with the failing configuration and
> >>>>>>> when
> >>> you
> >>>>>>> will have the time, I will welcome a dump of the same area
> >>>>>>> as
> >>> before
> >>>>>>> so we will try to understand what is wrong now ! :)
> >>>>>> Nice one, a lot easier to read whats happens
> >>>>>>
> >>>>>> nanddump of BBT without ECC enabled:
> >>>>>> https://gist.github.com/anonymous/627e5be058ed93c106d61641f6aa5da0
> >>>>>>
> >>>>>> nanddump of BBT with ECC enabled:
> >>>>>> https://gist.github.com/anonymous/76b3240f156c6547cf76d59f2aae49fe
> >>>>>> bootsnippet with ECC and NAND_SKIP_BBTSCAN enabled.
> >>>>>> https://gist.github.com/anonymous/0d9be95cd9c36ff006f7aa03e7c2cc85
> >>>>>>
> >>>>>> Please let me know what traces you need to fix the ECC :-)
> >>>>> The dumps look good (at least, the BBT pattern is correct, we
> >>>>> have
> >>> the
> >>>>> number of ECC bytes we expect and they are where we expect
> >>>>> them).
> >>>>>
> >>>>> My gut feeling is that something is wrong with ECC (or
> >>>>> something
> >>> related
> >>>>> to ECC) in u-boot.
> >>>>>
> >>>>> Can you try to let Linux create the BBT on its own and dump
> >>>>> the
> >>> last
> >>>>> block as you did previously?
> >>>>>
> >>>>> So, to sum-up
> >>>>>
> >>>>> 1/ put the following in your DT
> >>>>>
> >>>>> nand-ecc-mode = "hw";
> >>>>> nand-on-flash-bbt;
> >>>>>
> >>>>> 2/ scrub the NAND from u-boot and make sure you don't reboot
> >>>>> after
> >>> that,
> >>>>> so that u-boot can't recreate its own BBT.
> >>>>>
> >>>>> 3/ Let Linux boot and dump the pages (in raw mode) where BBTs
> >>> created by
> >>>>> Linux are supposed to be (should be the same addresses as
> >>>>> before)
> >>>> Trace with nand scrub in uboot and ecc enabled:
> >>>> https://gist.github.com/anonymous/3ce389b9276fddbd46f59c89b99ee4ff
> >>>>
> >>>> Same as above with "chip->options |= NAND_SKIP_BBTSCAN;" in the
> >>> marvell
> >>>> nand driver
> >>>> https://gist.github.com/anonymous/3aed159b5a5ee22f27403fe79ba97400
> >>>>
> >>>> If I dump 0xFEC0000/0xFFC0000 or 0xFEE0000/0xFFE0000 (the bbt
> >>>> pages) they contain
> >>>> only 0xFF's as the kernel does not write to the blocks.
> >>>>
> >>>> To me it seem a little bit difficult to say why the new marvell
> >>>> nand
> >>> driver
> >>>> (with ecc enabled) thinks all the freshly scrubbed blocks are
> >>>> bad.
> >>> Ok, now I really need the dump without the -n option. It seems
> >>> that dumping in non-raw mode does not return the expected value.
> >>>
> >> How can I get the driver to write a bbt when it have marked all the
> >> blocks bad?
> > I think the easier way is to let U-Boot do it. So I guess you'll
> > have to reboot the board after scrubbing.
> >
> >> So I do a trace, without the -n option, with ecc enabled and
> >> NAND_SKIP_BBTSCAN set? Is that what you need?
> > It will be helpful, yes!
> >
> https://gist.github.com/anonymous/08049fbb46bf6df2d24a07aab8783833
This is really helpful. It shows the driver is the problem. I don't
know yet why it reads the NAND status instead of the actual data at
this moment. I am looking into it.
I added one fixup in my github branch that could possibly help, could
you give it a try while I am going deeper in my research?
Thank you,
Miquèl
next prev parent reply other threads:[~2017-12-18 8:56 UTC|newest]
Thread overview: 85+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-28 9:12 [BUG] pxa3xx: wait time out when scanning for bb Sean Nyekjær
2017-11-28 13:02 ` Miquel RAYNAL
2017-11-28 13:12 ` Sean Nyekjær
2017-11-28 13:30 ` Miquel RAYNAL
2017-11-28 13:42 ` Sean Nyekjær
2017-11-28 14:04 ` Miquel RAYNAL
2017-11-29 7:14 ` Sean Nyekjær
2017-11-29 8:03 ` Miquel RAYNAL
2017-11-30 12:00 ` Sean Nyekjær
2017-11-30 17:18 ` Miquel RAYNAL
2017-11-30 18:13 ` Sean Nyekjær
2017-12-01 8:15 ` Miquel RAYNAL
2017-12-01 8:54 ` Sean Nyekjær
2017-12-07 20:38 ` Miquel RAYNAL
2017-12-08 9:04 ` Sean Nyekjær
2017-12-08 9:21 ` Miquel RAYNAL
2017-12-11 8:25 ` Sean Nyekjær
2017-12-11 8:45 ` Sean Nyekjær
2017-12-11 9:53 ` Miquel RAYNAL
2017-12-11 10:20 ` Sean Nyekjær
2017-12-11 11:35 ` Sean Nyekjær
2017-12-11 13:22 ` Sean Nyekjær
2017-12-11 14:02 ` Miquel RAYNAL
2017-12-11 14:09 ` Miquel RAYNAL
2017-12-11 14:49 ` Boris Brezillon
2017-12-12 8:44 ` Sean Nyekjær
2017-12-12 8:51 ` Miquel RAYNAL
2017-12-12 8:56 ` Sean Nyekjær
2017-12-12 10:12 ` Miquel RAYNAL
2017-12-12 10:55 ` Sean Nyekjær
2017-12-12 11:08 ` Miquel RAYNAL
2017-12-12 11:28 ` Sean Nyekjær
2017-12-12 11:35 ` Miquel RAYNAL
2017-12-12 11:49 ` Sean Nyekjær
2017-12-12 12:47 ` Miquel RAYNAL
2017-12-12 13:09 ` Sean Nyekjær
2017-12-12 13:35 ` Miquel RAYNAL
2017-12-12 18:10 ` Sean Nyekjær
2017-12-12 18:23 ` Miquel RAYNAL
2017-12-13 6:25 ` Sean Nyekjær
2017-12-13 8:41 ` Miquel RAYNAL
2017-12-13 9:31 ` Sean Nyekjær
2017-12-15 17:25 ` Miquel RAYNAL
2017-12-15 18:56 ` Sean Nyekjær
2017-12-15 19:19 ` Miquel RAYNAL
2017-12-17 11:56 ` Sean Nyekjaer
2017-12-17 13:19 ` Boris Brezillon
2017-12-17 21:47 ` Sean Nyekjaer
2017-12-17 22:00 ` Boris Brezillon
2017-12-17 22:15 ` [SPAM] " Sean Nyekjær
2017-12-17 22:19 ` Boris Brezillon
2017-12-17 22:19 ` Miquel RAYNAL
2017-12-18 6:23 ` Sean Nyekjær
2017-12-18 8:56 ` Miquel RAYNAL [this message]
2017-12-18 9:26 ` Sean Nyekjær
2017-12-18 9:35 ` Miquel RAYNAL
2017-12-18 10:12 ` Sean Nyekjær
2017-12-18 10:19 ` Miquel RAYNAL
2017-12-18 10:26 ` Sean Nyekjær
2017-12-18 10:45 ` Boris Brezillon
2017-12-18 10:48 ` Sean Nyekjær
2017-12-18 12:43 ` Boris Brezillon
2017-12-18 8:57 ` [SPAM] " Boris Brezillon
2017-12-17 13:48 ` Boris Brezillon
2017-12-11 20:11 ` Miquel RAYNAL
2017-12-09 23:18 ` Ezequiel Garcia
2017-12-10 14:17 ` Miquel RAYNAL
2017-12-11 12:30 ` Ezequiel Garcia
2017-12-11 13:13 ` Miquel RAYNAL
2017-12-11 16:08 ` Ezequiel Garcia
2017-12-11 16:41 ` Miquel RAYNAL
[not found] ` <CAL92e2W7fLjVOWFgH2PpRLRP7Tf5L1vta0jduWm+bTVm647MNQ@mail.gmail.com>
2017-12-11 16:24 ` Ezequiel Garcia
2017-12-11 16:45 ` Boris Brezillon
2017-12-11 21:16 ` Boris Brezillon
2017-12-12 6:01 ` Greg Cook
2017-12-12 7:09 ` Ezequiel Garcia
2017-12-12 7:30 ` Greg Cook
2017-12-12 8:15 ` Boris Brezillon
2017-12-12 16:22 ` Ezequiel Garcia
2017-12-12 6:36 ` Sean Nyekjær
2017-12-12 6:50 ` Ezequiel Garcia
2017-12-12 7:17 ` Greg Cook
2017-12-09 23:04 ` Ezequiel Garcia
2017-12-09 23:22 ` Ezequiel Garcia
2017-12-09 23:24 ` Ezequiel Garcia
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=20171218095609.30408c57@xps13 \
--to=miquel.raynal@free-electrons.com \
--cc=boris.brezillon@free-electrons.com \
--cc=ezequiel.garcia@free-electrons.com \
--cc=krev@triax.com \
--cc=linux-mtd@lists.infradead.org \
--cc=sean.nyekjaer@prevas.dk \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.