All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
To: Brian Norris <computersforpeace@gmail.com>
Cc: mark.rutland@arm.com, tony@atomide.com,
	linux-mtd@lists.infradead.org,
	Matthieu Castet <matthieu.castet@parrot.com>,
	ivan.djelic@parrot.com, Pawel.Moll@arm.com,
	Alexander Shiyan <shc_work@mail.ru>,
	swarren@wwwdotorg.org, avinashphilipk@gmail.com,
	robherring2@gmail.com, devicetree@vger.kernel.org, arnd@arndb.de,
	ijc+devicetree@hellion.org.uk, jp.francois@cynove.com,
	Pekon Gupta <pekon@ti.com>,
	linux-omap@vger.kernel.org, dedekind1@gmail.com, balbi@ti.com,
	Jon Hunter <jon-hunter@ti.com>,
	bcousson@baylibre.com, olof@lixom.net, dwmw2@infradead.org
Subject: Re: [PATCH v11 04/10] mtd: nand: omap: use DT specified bus-width only for scanning NAND device
Date: Thu, 24 Oct 2013 19:49:24 -0300	[thread overview]
Message-ID: <20131024224923.GA20462@localhost> (raw)
In-Reply-To: <20131024224300.GG20061@ld-irv-0074.broadcom.com>

On Thu, Oct 24, 2013 at 03:43:00PM -0700, Brian Norris wrote:
> On Thu, Oct 24, 2013 at 06:27:15PM -0300, Ezequiel Garcia wrote:
> > On Thu, Oct 24, 2013 at 06:20:20PM +0530, Pekon Gupta wrote:
> > > This patch:
> > > - calls nand_scan_ident() using bus-width as passed by DT
> > > - removes double calls to nand_scan_ident(), incase first call fails
> > >   then omap_nand_probe just returns error.
> > > 
> > > Signed-off-by: Pekon Gupta <pekon@ti.com>
> > > ---
> > >  drivers/mtd/nand/omap2.c | 21 +++++++++------------
> > >  1 file changed, 9 insertions(+), 12 deletions(-)
> > > 
> > > diff --git a/drivers/mtd/nand/omap2.c b/drivers/mtd/nand/omap2.c
> > > index 5596368..f464321 100644
> > > --- a/drivers/mtd/nand/omap2.c
> > > +++ b/drivers/mtd/nand/omap2.c
> > > @@ -1856,7 +1856,6 @@ static int omap_nand_probe(struct platform_device *pdev)
> > >  	mtd->name		= dev_name(&pdev->dev);
> > >  	mtd->owner		= THIS_MODULE;
> > >  	nand_chip		= &info->nand;
> > > -	nand_chip->options	= pdata->devsize;
> > >  	nand_chip->options	|= NAND_SKIP_BBTSCAN;
> > >  #ifdef CONFIG_MTD_NAND_OMAP_BCH
> > >  	info->of_node		= pdata->of_node;
> > > @@ -1904,6 +1903,15 @@ static int omap_nand_probe(struct platform_device *pdev)
> > >  		nand_chip->chip_delay = 50;
> > >  	}
> > >  
> > > +	/* scan NAND device connected to chip controller */
> > > +	nand_chip->options |= pdata->devsize & NAND_BUSWIDTH_16;
> > 
> > Hm.. this only works if the device is listed in nand_flash_ids[] array,
> > so that ONFI detection is not used.
> 
> But this is no more broken than it used to be, no? I mean, you would
> never properly detect an x16 ONFI flash with the old
> double-nand_scan_ident() method, right?
> 

That's right. But the issue is not really fixed either.

> > To make ONFI detection work I think you
> > need to do as Brian suggested and use NAND_BUSWIDTH_AUTO.
> 
> I think that is the correct way forward. But Pekon seems to think that
> will require more invasive changes to the GPMC code. But I'm not sure
> why.
> 

Hm... not sure. AFAIK, the GPMC should be *already* configured prior to the
NAND driver being probed.

> > (Odd: why is there no current user of that auto-width option?)
> 
> Hmm, I could have sworn somebody was using that... I know there was some
> pending work on using it for GPIO NAND, but Alexander Shiyan never
> followed up on the latest comments. It also seems like the original
> author (Matthieu Castet) was working on OMAP support about a year ago,
> but things stalled when there wasn't proper mainline support for much of
> it:
> 
>   http://thread.gmane.org/gmane.linux.ports.arm.omap/88550/focus=44770
> 
> Personally, I've only ever used x8 NAND, so I don't have much to go on
> here.
> 
> > Anyway, I really think we should fix this now and independently
> > of the evolution of this ECC DT binding discussion.
> > That way you can keep sending a smaller ECC DT binding patchset and
> > make reviewers focus on what's really important in each case.
> 
> AFAIK, the ECC DT bindings were all approved, and the code looked OK to
> my knowledge, except for this single patch. I had recommended either its
> total removal or its simplification (i.e., this current patch).
> 

FWIW, I'm in favor of *completely* dropping whatever doesn't belong
to the ECC DT binding.

> I will be taking a last look and queueing this series up soon, I
> believe.
> 
> > I have a few fixes (based on your work) and I'll send them now, after
> > I complete the tests. We can continue our discussion there.
> 
> I'll take a look at those soon.
> 

Ok, cool.

> So am I to understand you have hardware for testing Pekon's work now,
> Ezequiel? That will be great if we can have better Reviewed-by/Tested-by
> results.
> 

Yup, I gave it quick test actually, but nothing deep. Let me test some
more maybe later today/tomorrow. I just wanted to sort this out first.
-- 
Ezequiel García, Free Electrons
Embedded Linux, Kernel and Android Engineering
http://free-electrons.com

WARNING: multiple messages have this Message-ID (diff)
From: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
To: Brian Norris <computersforpeace@gmail.com>
Cc: Pekon Gupta <pekon@ti.com>,
	mark.rutland@arm.com, olof@lixom.net, dedekind1@gmail.com,
	devicetree@vger.kernel.org, Pawel.Moll@arm.com, arnd@arndb.de,
	swarren@wwwdotorg.org, tony@atomide.com, jp.francois@cynove.com,
	ijc+devicetree@hellion.org.uk, avinashphilipk@gmail.com,
	balbi@ti.com, robherring2@gmail.com, bcousson@baylibre.com,
	linux-mtd@lists.infradead.org, ivan.djelic@parrot.com,
	linux-omap@vger.kernel.org, dwmw2@infradead.org,
	Alexander Shiyan <shc_work@mail.ru>,
	Matthieu Castet <matthieu.castet@parrot.com>,
	Jon Hunter <jon-hunter@ti.com>
Subject: Re: [PATCH v11 04/10] mtd: nand: omap: use DT specified bus-width only for scanning NAND device
Date: Thu, 24 Oct 2013 19:49:24 -0300	[thread overview]
Message-ID: <20131024224923.GA20462@localhost> (raw)
In-Reply-To: <20131024224300.GG20061@ld-irv-0074.broadcom.com>

On Thu, Oct 24, 2013 at 03:43:00PM -0700, Brian Norris wrote:
> On Thu, Oct 24, 2013 at 06:27:15PM -0300, Ezequiel Garcia wrote:
> > On Thu, Oct 24, 2013 at 06:20:20PM +0530, Pekon Gupta wrote:
> > > This patch:
> > > - calls nand_scan_ident() using bus-width as passed by DT
> > > - removes double calls to nand_scan_ident(), incase first call fails
> > >   then omap_nand_probe just returns error.
> > > 
> > > Signed-off-by: Pekon Gupta <pekon@ti.com>
> > > ---
> > >  drivers/mtd/nand/omap2.c | 21 +++++++++------------
> > >  1 file changed, 9 insertions(+), 12 deletions(-)
> > > 
> > > diff --git a/drivers/mtd/nand/omap2.c b/drivers/mtd/nand/omap2.c
> > > index 5596368..f464321 100644
> > > --- a/drivers/mtd/nand/omap2.c
> > > +++ b/drivers/mtd/nand/omap2.c
> > > @@ -1856,7 +1856,6 @@ static int omap_nand_probe(struct platform_device *pdev)
> > >  	mtd->name		= dev_name(&pdev->dev);
> > >  	mtd->owner		= THIS_MODULE;
> > >  	nand_chip		= &info->nand;
> > > -	nand_chip->options	= pdata->devsize;
> > >  	nand_chip->options	|= NAND_SKIP_BBTSCAN;
> > >  #ifdef CONFIG_MTD_NAND_OMAP_BCH
> > >  	info->of_node		= pdata->of_node;
> > > @@ -1904,6 +1903,15 @@ static int omap_nand_probe(struct platform_device *pdev)
> > >  		nand_chip->chip_delay = 50;
> > >  	}
> > >  
> > > +	/* scan NAND device connected to chip controller */
> > > +	nand_chip->options |= pdata->devsize & NAND_BUSWIDTH_16;
> > 
> > Hm.. this only works if the device is listed in nand_flash_ids[] array,
> > so that ONFI detection is not used.
> 
> But this is no more broken than it used to be, no? I mean, you would
> never properly detect an x16 ONFI flash with the old
> double-nand_scan_ident() method, right?
> 

That's right. But the issue is not really fixed either.

> > To make ONFI detection work I think you
> > need to do as Brian suggested and use NAND_BUSWIDTH_AUTO.
> 
> I think that is the correct way forward. But Pekon seems to think that
> will require more invasive changes to the GPMC code. But I'm not sure
> why.
> 

Hm... not sure. AFAIK, the GPMC should be *already* configured prior to the
NAND driver being probed.

> > (Odd: why is there no current user of that auto-width option?)
> 
> Hmm, I could have sworn somebody was using that... I know there was some
> pending work on using it for GPIO NAND, but Alexander Shiyan never
> followed up on the latest comments. It also seems like the original
> author (Matthieu Castet) was working on OMAP support about a year ago,
> but things stalled when there wasn't proper mainline support for much of
> it:
> 
>   http://thread.gmane.org/gmane.linux.ports.arm.omap/88550/focus=44770
> 
> Personally, I've only ever used x8 NAND, so I don't have much to go on
> here.
> 
> > Anyway, I really think we should fix this now and independently
> > of the evolution of this ECC DT binding discussion.
> > That way you can keep sending a smaller ECC DT binding patchset and
> > make reviewers focus on what's really important in each case.
> 
> AFAIK, the ECC DT bindings were all approved, and the code looked OK to
> my knowledge, except for this single patch. I had recommended either its
> total removal or its simplification (i.e., this current patch).
> 

FWIW, I'm in favor of *completely* dropping whatever doesn't belong
to the ECC DT binding.

> I will be taking a last look and queueing this series up soon, I
> believe.
> 
> > I have a few fixes (based on your work) and I'll send them now, after
> > I complete the tests. We can continue our discussion there.
> 
> I'll take a look at those soon.
> 

Ok, cool.

> So am I to understand you have hardware for testing Pekon's work now,
> Ezequiel? That will be great if we can have better Reviewed-by/Tested-by
> results.
> 

Yup, I gave it quick test actually, but nothing deep. Let me test some
more maybe later today/tomorrow. I just wanted to sort this out first.
-- 
Ezequiel García, Free Electrons
Embedded Linux, Kernel and Android Engineering
http://free-electrons.com
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2013-10-24 22:49 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-24 12:50 [PATCH v11 00/10] [PATCH v10 00/10] mtd:nand:omap2: clean-up of supported ECC schemes Pekon Gupta
2013-10-24 12:50 ` Pekon Gupta
2013-10-24 12:50 ` [PATCH v11 01/10] ARM: OMAP2+: cleaned-up DT support of various " Pekon Gupta
2013-10-24 12:50   ` Pekon Gupta
2013-10-24 12:50 ` [PATCH v11 02/10] mtd: nand: omap: combine different flavours of 1-bit hamming ecc schemes Pekon Gupta
2013-10-24 12:50   ` Pekon Gupta
2013-10-24 12:50 ` [PATCH v11 03/10] mtd: nand: omap: cleanup: replace local references with generic framework names Pekon Gupta
2013-10-24 12:50   ` Pekon Gupta
2013-10-24 12:50 ` [PATCH v11 04/10] mtd: nand: omap: use DT specified bus-width only for scanning NAND device Pekon Gupta
2013-10-24 12:50   ` Pekon Gupta
2013-10-24 21:27   ` Ezequiel Garcia
2013-10-24 21:27     ` Ezequiel Garcia
2013-10-24 22:43     ` Brian Norris
2013-10-24 22:43       ` Brian Norris
2013-10-24 22:49       ` Ezequiel Garcia [this message]
2013-10-24 22:49         ` Ezequiel Garcia
2013-10-24 12:50 ` [PATCH v11 05/10] mtd:nand:omap2: clean-up BCHx_HW and BCHx_SW ECC configurations in device_probe Pekon Gupta
2013-10-24 12:50   ` Pekon Gupta
2013-10-24 12:50 ` [PATCH v11 06/10] mtd: nand: omap: clean-up ecc layout for BCH ecc schemes Pekon Gupta
2013-10-24 12:50   ` Pekon Gupta
2013-10-24 12:50 ` [PATCH v11 07/10] mtd: nand: omap: use drivers/mtd/nand/nand_bch.c wrapper for BCH ECC instead of lib/bch.c Pekon Gupta
2013-10-24 12:50   ` Pekon Gupta
2013-10-24 12:50 ` [PATCH v11 08/10] ARM: dts: AM33xx: updated default ECC scheme in nand-ecc-opt Pekon Gupta
2013-10-24 12:50   ` Pekon Gupta
2013-10-24 12:50 ` [PATCH v11 09/10] mtd: nand: omap: updated devm_xx for all resource allocation and free calls Pekon Gupta
2013-10-24 12:50   ` Pekon Gupta
2013-10-24 12:50 ` [PATCH v11 10/10] mtd: nand: omap: remove selection of BCH ecc-scheme via KConfig Pekon Gupta
2013-10-24 12:50   ` Pekon Gupta
2013-10-24 13:52 ` [PATCH v11 00/10] [PATCH v10 00/10] mtd:nand:omap2: clean-up of supported ECC schemes Ezequiel Garcia
2013-10-24 13:52   ` Ezequiel Garcia
2013-10-30  3:59   ` Brian Norris
2013-10-30  3:59     ` Brian Norris
2013-10-30  9:16     ` Ezequiel Garcia
2013-10-30  9:16       ` Ezequiel Garcia
2013-10-30 21:30     ` Gupta, Pekon
2013-10-30 21:30       ` Gupta, Pekon
2013-10-31 21:23     ` Tony Lindgren
2013-10-31 21:23       ` Tony Lindgren
2013-11-01 20:10       ` Gupta, Pekon
2013-11-01 20:10         ` Gupta, Pekon
2013-10-25 10:56 ` Ezequiel Garcia
2013-10-25 10:56   ` 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=20131024224923.GA20462@localhost \
    --to=ezequiel.garcia@free-electrons.com \
    --cc=Pawel.Moll@arm.com \
    --cc=arnd@arndb.de \
    --cc=avinashphilipk@gmail.com \
    --cc=balbi@ti.com \
    --cc=bcousson@baylibre.com \
    --cc=computersforpeace@gmail.com \
    --cc=dedekind1@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dwmw2@infradead.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=ivan.djelic@parrot.com \
    --cc=jon-hunter@ti.com \
    --cc=jp.francois@cynove.com \
    --cc=linux-mtd@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=matthieu.castet@parrot.com \
    --cc=olof@lixom.net \
    --cc=pekon@ti.com \
    --cc=robherring2@gmail.com \
    --cc=shc_work@mail.ru \
    --cc=swarren@wwwdotorg.org \
    --cc=tony@atomide.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.