diff mbox

[2/2] mtd: gpmi: only scan two chips for imx6

Message ID 1383817597-31992-2-git-send-email-b32955@freescale.com
State Accepted
Commit 80bd33acdaa21fafa8ff4391ccdf879d227111bb
Headers show

Commit Message

Huang Shijie Nov. 7, 2013, 9:46 a.m. UTC
We cannot scan two chips for imx23 and imx28:
  imx23: the Ready-Busy1 line is not connected for some board.
  imx28: we do not set the pinctrl for Ready-Busy1

So we only scan two chips for imx6.

Signed-off-by: Huang Shijie <b32955@freescale.com>
---
 drivers/mtd/nand/gpmi-nand/gpmi-nand.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Comments

Fabio Estevam Nov. 7, 2013, 1:08 p.m. UTC | #1
On Thu, Nov 7, 2013 at 7:46 AM, Huang Shijie <b32955@freescale.com> wrote:
> We cannot scan two chips for imx23 and imx28:
>   imx23: the Ready-Busy1 line is not connected for some board.
>   imx28: we do not set the pinctrl for Ready-Busy1
>
> So we only scan two chips for imx6.
>
> Signed-off-by: Huang Shijie <b32955@freescale.com>

You missed to Cc stable on this one.

If only 1/2 gets into stable we still see the crash.

Regards,

Fabio Estevam
Fabio Estevam Nov. 7, 2013, 1:22 p.m. UTC | #2
On Thu, Nov 7, 2013 at 7:46 AM, Huang Shijie <b32955@freescale.com> wrote:
> We cannot scan two chips for imx23 and imx28:
>   imx23: the Ready-Busy1 line is not connected for some board.
>   imx28: we do not set the pinctrl for Ready-Busy1
>
> So we only scan two chips for imx6.

What happens if Ready-Busy1 line is not connected on some mx6 board?
You cannot assume that all boards
have this line connected and configured in pinctrl just like you
mentioned for mx23 and mx28.

Regards,

Fabio Estevam
Huang Shijie Nov. 8, 2013, 3:11 a.m. UTC | #3
于 2013年11月07日 21:08, Fabio Estevam 写道:
> You missed to Cc stable on this one.
>
this patch has not been merged by linus's tree.
so it is not need to CC stable.

thanks
Huang Shijie
Huang Shijie Nov. 8, 2013, 3:14 a.m. UTC | #4
于 2013年11月08日 11:11, Huang Shijie 写道:
> this patch has not been merged by linus's tree. 
I meant the patch:
"cdef39d mtd: gpmi: scan two nand chips"

Huang Shijie
Huang Shijie Nov. 8, 2013, 3:26 a.m. UTC | #5
于 2013年11月07日 21:22, Fabio Estevam 写道:
> On Thu, Nov 7, 2013 at 7:46 AM, Huang Shijie<b32955@freescale.com>  wrote:
>> We cannot scan two chips for imx23 and imx28:
>>    imx23: the Ready-Busy1 line is not connected for some board.
>>    imx28: we do not set the pinctrl for Ready-Busy1
>>
>> So we only scan two chips for imx6.
> What happens if Ready-Busy1 line is not connected on some mx6 board?
> You cannot assume that all boards
we will meet a DMA timeout.

All the imx6's boards supporting the gpmi have the RB1 now.
the customer's boards will follow our boards, so their boards also 
should have the RB1 line too.

> have this line connected and configured in pinctrl just like you
> mentioned for mx23 and mx28.
Please check the schematics for imx23/imx28/imx6x.
For imx6, the line is OR-combined with the RB0.
For imx23-evk,imx28-evk, the RB1 line is a seperate line, not OR with 
the RB0.
     and the pinctrls does not have RB1.

thanks
Huang Shijie
Brian Norris Nov. 8, 2013, 6:44 p.m. UTC | #6
On Thu, Nov 07, 2013 at 05:46:37PM +0800, Huang Shijie wrote:
> We cannot scan two chips for imx23 and imx28:
>   imx23: the Ready-Busy1 line is not connected for some board.
>   imx28: we do not set the pinctrl for Ready-Busy1
> 
> So we only scan two chips for imx6.
> 
> Signed-off-by: Huang Shijie <b32955@freescale.com>

Pushed to l2-mtd.git. Thanks!

This is a major bugfix (only for the queued-up code for 3.13), right? Do
we want to include a stronger bug description from Fabio?

Brian
diff mbox

Patch

diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
index d34cc54..00ea9c4 100644
--- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
+++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
@@ -1675,7 +1675,7 @@  static int gpmi_nfc_init(struct gpmi_nand_data *this)
 	if (ret)
 		goto err_out;
 
-	ret = nand_scan_ident(mtd, 2, NULL);
+	ret = nand_scan_ident(mtd, GPMI_IS_MX6Q(this) ? 2 : 1, NULL);
 	if (ret)
 		goto err_out;