Message ID | 1395346112-13350-1-git-send-email-ivan.khoronzhuk@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thursday 20 March 2014 04:08 PM, Ivan Khoronzhuk wrote: > From: Murali Karicheri <m-karicheri2@ti.com> > > Sub page write doesn't work because of hw issue in controller found on > Keystone SOCs. AEMIF controller is also used on DaVinci SOCs which > don't seems to have any issue. So add "ti,keysone-nand" compatible > to nand driver in order to set NAND_NO_SUBPAGE_WRITE option. > > Cc: Brian Norris <computersforpeace@gmail.com> > Cc: Warner Losh <imp@bsdimp.com> > Cc: Santosh Shilimkar <santosh.shilimkar@ti.com> > > Signed-off-by: Murali Karicheri <m-karicheri2@ti.com> > Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com> > --- > Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com> > This patch is a result of discussion on patch v1: > https://lkml.org/lkml/2014/3/20/461 > > drivers/mtd/nand/davinci_nand.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/mtd/nand/davinci_nand.c b/drivers/mtd/nand/davinci_nand.c > index 4615d79..b922c8e 100644 > --- a/drivers/mtd/nand/davinci_nand.c > +++ b/drivers/mtd/nand/davinci_nand.c > @@ -523,6 +523,7 @@ static struct nand_ecclayout hwecc4_2048 = { > #if defined(CONFIG_OF) > static const struct of_device_id davinci_nand_of_match[] = { > {.compatible = "ti,davinci-nand", }, > + {.compatible = "ti,keystone-nand", }, > {}, > }; > MODULE_DEVICE_TABLE(of, davinci_nand_of_match); > @@ -581,6 +582,11 @@ static struct davinci_nand_pdata > of_property_read_bool(pdev->dev.of_node, > "ti,davinci-nand-use-bbt")) > pdata->bbt_options = NAND_BBT_USE_FLASH; > + > + if (of_device_is_compatible(pdev->dev.of_node, > + "ti,keystone-nand")) { > + pdata->options |= NAND_NO_SUBPAGE_WRITE; > + } > } > > return dev_get_platdata(&pdev->dev); >
On 03/20/2014 10:14 PM, Santosh Shilimkar wrote: > On Thursday 20 March 2014 04:08 PM, Ivan Khoronzhuk wrote: >> From: Murali Karicheri <m-karicheri2@ti.com> >> >> Sub page write doesn't work because of hw issue in controller found on >> Keystone SOCs. AEMIF controller is also used on DaVinci SOCs which >> don't seems to have any issue. So add "ti,keysone-nand" compatible >> to nand driver in order to set NAND_NO_SUBPAGE_WRITE option. >> >> Cc: Brian Norris <computersforpeace@gmail.com> >> Cc: Warner Losh <imp@bsdimp.com> >> Cc: Santosh Shilimkar <santosh.shilimkar@ti.com> >> >> Signed-off-by: Murali Karicheri <m-karicheri2@ti.com> >> Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com> >> --- >> > Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com> > >> This patch is a result of discussion on patch v1: >> https://lkml.org/lkml/2014/3/20/461 >> >> drivers/mtd/nand/davinci_nand.c | 6 ++++++ >> 1 file changed, 6 insertions(+) >> >> diff --git a/drivers/mtd/nand/davinci_nand.c b/drivers/mtd/nand/davinci_nand.c >> index 4615d79..b922c8e 100644 >> --- a/drivers/mtd/nand/davinci_nand.c >> +++ b/drivers/mtd/nand/davinci_nand.c >> @@ -523,6 +523,7 @@ static struct nand_ecclayout hwecc4_2048 = { >> #if defined(CONFIG_OF) >> static const struct of_device_id davinci_nand_of_match[] = { >> {.compatible = "ti,davinci-nand", }, >> + {.compatible = "ti,keystone-nand", }, >> {}, >> }; >> MODULE_DEVICE_TABLE(of, davinci_nand_of_match); >> @@ -581,6 +582,11 @@ static struct davinci_nand_pdata >> of_property_read_bool(pdev->dev.of_node, >> "ti,davinci-nand-use-bbt")) >> pdata->bbt_options = NAND_BBT_USE_FLASH; >> + >> + if (of_device_is_compatible(pdev->dev.of_node, >> + "ti,keystone-nand")) { >> + pdata->options |= NAND_NO_SUBPAGE_WRITE; >> + } >> } >> >> return dev_get_platdata(&pdev->dev); >> >> Brian, Could you pick up subj patch?
On Tue, Apr 08, 2014 at 03:51:34PM +0300, Ivan Khoronzhuk wrote: > On 03/20/2014 10:14 PM, Santosh Shilimkar wrote: > >On Thursday 20 March 2014 04:08 PM, Ivan Khoronzhuk wrote: > >>From: Murali Karicheri <m-karicheri2@ti.com> > >>Sub page write doesn't work because of hw issue in controller found on > >>Keystone SOCs. AEMIF controller is also used on DaVinci SOCs which > >>don't seems to have any issue. So add "ti,keysone-nand" compatible > >>to nand driver in order to set NAND_NO_SUBPAGE_WRITE option. > >> > >>Cc: Brian Norris <computersforpeace@gmail.com> > >>Cc: Warner Losh <imp@bsdimp.com> > >>Cc: Santosh Shilimkar <santosh.shilimkar@ti.com> > >> > >>Signed-off-by: Murali Karicheri <m-karicheri2@ti.com> > >>Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com> > >>--- > >> > >Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com> > > Brian, > Could you pick up subj patch? Pushed to l2-mtd.git. Is it critical this goes in for 3.15? It's currently queued for -next (3.16). Brian
On 04/16/2014 10:08 AM, Brian Norris wrote: > On Tue, Apr 08, 2014 at 03:51:34PM +0300, Ivan Khoronzhuk wrote: >> On 03/20/2014 10:14 PM, Santosh Shilimkar wrote: >>> On Thursday 20 March 2014 04:08 PM, Ivan Khoronzhuk wrote: >>>> From: Murali Karicheri <m-karicheri2@ti.com> >>>> Sub page write doesn't work because of hw issue in controller found on >>>> Keystone SOCs. AEMIF controller is also used on DaVinci SOCs which >>>> don't seems to have any issue. So add "ti,keysone-nand" compatible >>>> to nand driver in order to set NAND_NO_SUBPAGE_WRITE option. >>>> >>>> Cc: Brian Norris <computersforpeace@gmail.com> >>>> Cc: Warner Losh <imp@bsdimp.com> >>>> Cc: Santosh Shilimkar <santosh.shilimkar@ti.com> >>>> >>>> Signed-off-by: Murali Karicheri <m-karicheri2@ti.com> >>>> Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com> >>>> --- >>>> >>> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com> >> Brian, >> Could you pick up subj patch? > Pushed to l2-mtd.git. Is it critical this goes in for 3.15? It's > currently queued for -next (3.16). > > Brian This is a critical fix and it should be for 3.15. Thanks.
On Wednesday 16 April 2014 05:47 AM, Ivan Khoronzhuk wrote: > > On 04/16/2014 10:08 AM, Brian Norris wrote: >> On Tue, Apr 08, 2014 at 03:51:34PM +0300, Ivan Khoronzhuk wrote: >>> On 03/20/2014 10:14 PM, Santosh Shilimkar wrote: >>>> On Thursday 20 March 2014 04:08 PM, Ivan Khoronzhuk wrote: >>>>> From: Murali Karicheri <m-karicheri2@ti.com> >>>>> Sub page write doesn't work because of hw issue in controller found on >>>>> Keystone SOCs. AEMIF controller is also used on DaVinci SOCs which >>>>> don't seems to have any issue. So add "ti,keysone-nand" compatible >>>>> to nand driver in order to set NAND_NO_SUBPAGE_WRITE option. >>>>> >>>>> Cc: Brian Norris <computersforpeace@gmail.com> >>>>> Cc: Warner Losh <imp@bsdimp.com> >>>>> Cc: Santosh Shilimkar <santosh.shilimkar@ti.com> >>>>> >>>>> Signed-off-by: Murali Karicheri <m-karicheri2@ti.com> >>>>> Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com> >>>>> --- >>>>> >>>> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com> >>> Brian, >>> Could you pick up subj patch? >> Pushed to l2-mtd.git. Is it critical this goes in for 3.15? It's >> currently queued for -next (3.16). >> >> Brian > > This is a critical fix and it should be for 3.15. Yep. The NAND is broken on Keystone without this patch. So 3.15 fixes please Regards, Santosh
Brian, On Wednesday 16 April 2014 05:47 AM, Ivan Khoronzhuk wrote: > > On 04/16/2014 10:08 AM, Brian Norris wrote: >> On Tue, Apr 08, 2014 at 03:51:34PM +0300, Ivan Khoronzhuk wrote: >>> On 03/20/2014 10:14 PM, Santosh Shilimkar wrote: >>>> On Thursday 20 March 2014 04:08 PM, Ivan Khoronzhuk wrote: >>>>> From: Murali Karicheri <m-karicheri2@ti.com> >>>>> Sub page write doesn't work because of hw issue in controller found on >>>>> Keystone SOCs. AEMIF controller is also used on DaVinci SOCs which >>>>> don't seems to have any issue. So add "ti,keysone-nand" compatible >>>>> to nand driver in order to set NAND_NO_SUBPAGE_WRITE option. >>>>> >>>>> Cc: Brian Norris <computersforpeace@gmail.com> >>>>> Cc: Warner Losh <imp@bsdimp.com> >>>>> Cc: Santosh Shilimkar <santosh.shilimkar@ti.com> >>>>> >>>>> Signed-off-by: Murali Karicheri <m-karicheri2@ti.com> >>>>> Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com> >>>>> --- >>>>> >>>> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com> >>> Brian, >>> Could you pick up subj patch? >> Pushed to l2-mtd.git. Is it critical this goes in for 3.15? It's >> currently queued for -next (3.16). >> [..] > > This is a critical fix and it should be for 3.15. Ping. 3.15-rc3 is already out and I still see this fix merged yet. Regards, Santosh
On Mon, Apr 28, 2014 at 09:43:17AM -0400, Santosh Shilimkar wrote: > On Wednesday 16 April 2014 05:47 AM, Ivan Khoronzhuk wrote: > > On 04/16/2014 10:08 AM, Brian Norris wrote: > >> On Tue, Apr 08, 2014 at 03:51:34PM +0300, Ivan Khoronzhuk wrote: > >>> Could you pick up subj patch? > >> Pushed to l2-mtd.git. Is it critical this goes in for 3.15? It's > >> currently queued for -next (3.16). > >> > > [..] > > > > > This is a critical fix and it should be for 3.15. > Ping. 3.15-rc3 is already out and I still see this fix merged > yet. OK, cherry-picked to linux-mtd.git with the intention of sending to Linus soon. Regards, Brian
diff --git a/drivers/mtd/nand/davinci_nand.c b/drivers/mtd/nand/davinci_nand.c index 4615d79..b922c8e 100644 --- a/drivers/mtd/nand/davinci_nand.c +++ b/drivers/mtd/nand/davinci_nand.c @@ -523,6 +523,7 @@ static struct nand_ecclayout hwecc4_2048 = { #if defined(CONFIG_OF) static const struct of_device_id davinci_nand_of_match[] = { {.compatible = "ti,davinci-nand", }, + {.compatible = "ti,keystone-nand", }, {}, }; MODULE_DEVICE_TABLE(of, davinci_nand_of_match); @@ -581,6 +582,11 @@ static struct davinci_nand_pdata of_property_read_bool(pdev->dev.of_node, "ti,davinci-nand-use-bbt")) pdata->bbt_options = NAND_BBT_USE_FLASH; + + if (of_device_is_compatible(pdev->dev.of_node, + "ti,keystone-nand")) { + pdata->options |= NAND_NO_SUBPAGE_WRITE; + } } return dev_get_platdata(&pdev->dev);