All of lore.kernel.org
 help / color / mirror / Atom feed
From: Brian Norris <computersforpeace@gmail.com>
To: Shmulik Ladkani <shmulik.ladkani@gmail.com>
Cc: David Woodhouse <dwmw2@infradead.org>,
	Ivan Djelic <ivan.djelic@parrot.com>,
	"linux-mtd@lists.infradead.org" <linux-mtd@lists.infradead.org>,
	Matthieu CASTET <matthieu.castet@parrot.com>,
	Artem Bityutskiy <dedekind1@gmail.com>
Subject: Re: [RFC] nand_btt : use nand chip->block_bad
Date: Mon, 17 Sep 2012 18:06:54 -0700	[thread overview]
Message-ID: <CAN8TOE9QCnq7AKT9t8VKc2iQE9VXT7USDQjJ7vR640FMweqJDQ@mail.gmail.com> (raw)
In-Reply-To: <CAN8TOE9fxLbYCc2MeLaqV2WA2ch9Dm9xnyPvY7LBOZ0guB-d0Q@mail.gmail.com>

Hi Shmulik, Matthieu, and others,

On Mon, Aug 6, 2012 at 3:21 PM, Brian Norris
<computersforpeace@gmail.com> wrote:
> On Wed, Jul 25, 2012 at 4:02 AM, Shmulik Ladkani
>> I guess utilizing badblockbits may provide good coverage to that
>> condition.
>
> Yes, I agree that badblockbits is a good solution. I'm still not sure
> that any of the above arguments really suggest that we *can't* apply
> ECC, but for any important case, badblockbits would be more robust. I
> think I will look into fleshing out Matthieu's RFC at some point,
> unless he's already working on it.

I've done a little work at trying to flesh out this RFC, as I'm
thinking that we should more cleanly separate NAND BBT code and NAND
BBM code - i.e., bad block *table* vs. bad block *marker*. Markers
should be handled in a standard way in nand_base.c
(nand_default_block_markbad and nand_block_bad) and then nand_bbt.c
can be left the generic, focused job of handling the table. Now, that
all sounds nice, but I've run across at least one difficulty... This
approach should lead to the removal of nand_chip.badblock_pattern
entirely, as we would only be supporting the nand_base.c badblock
marker pattern, using nand_chip.badblockpos and a few
nand_chip.bbt_options flags. This leads me to analyzing all the
strange forms of badblock_pattern seen in various drivers. I'm not
sure all of them are even well thought out...

The following files use badblock_pattern to varying degrees. Some are
just duplicating some nand_base stuff, where we can replace the
badblock_pattern with something simple like "chip->badblockpos = 0" or
setting a few "chip->bbt_options |= NAND_BBT_SCAN*" options. But it's
not all so simple:

arch/arm/mach-pxa/corgi.c
arch/arm/mach-pxa/eseries.c
arch/arm/mach-pxa/poodle.c
arch/arm/mach-pxa/spitz.c
arch/arm/mach-pxa/tosa.c
drivers/mtd/nand/bcm_umi_nand.c
drivers/mtd/nand/docg4.c
drivers/mtd/nand/fsl_elbc_nand.c
drivers/mtd/nand/gpmi-nand/gpmi-nand.c
drivers/mtd/nand/nand_base.c
drivers/mtd/nand/omap2.c
drivers/mtd/nand/sh_flctl.c
drivers/mtd/nand/sharpsl.c
drivers/mtd/nand/tmio_nand.c
drivers/mtd/onenand/onenand_bbt.c
include/linux/mfd/tmio.h
include/linux/mtd/sharpsl.h

Any thoughts on how to tackle this? Or is it even worth doing
properly? Is there a policy for dealing with old/unmaintained drivers
here, if I can't get a response from driver authors?

Thanks,
Brian

  parent reply	other threads:[~2012-09-18  1:07 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-28 15:47 [RFC] nand_btt : use nand chip->block_bad Matthieu CASTET
2012-06-28 18:31 ` Shmulik Ladkani
2012-06-29  8:41   ` Matthieu CASTET
2012-06-30 20:02     ` Shmulik Ladkani
2012-07-02  8:29       ` Matthieu CASTET
2012-07-24  3:53         ` Brian Norris
2012-07-25 11:02           ` Shmulik Ladkani
2012-08-06 22:21             ` Brian Norris
2012-08-07  7:09               ` Shmulik Ladkani
2012-09-18  1:06               ` Brian Norris [this message]
2012-09-18  1:28                 ` Scott Wood
2012-09-26 22:43                   ` Brian Norris
2012-09-26 22:57                     ` Scott Wood
2012-09-26 23:15                       ` Brian Norris

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=CAN8TOE9QCnq7AKT9t8VKc2iQE9VXT7USDQjJ7vR640FMweqJDQ@mail.gmail.com \
    --to=computersforpeace@gmail.com \
    --cc=dedekind1@gmail.com \
    --cc=dwmw2@infradead.org \
    --cc=ivan.djelic@parrot.com \
    --cc=linux-mtd@lists.infradead.org \
    --cc=matthieu.castet@parrot.com \
    --cc=shmulik.ladkani@gmail.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 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.