All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] mtd: pxa3xx_nand: don't duplicate MTD suspend/resume
@ 2015-10-12 20:33 Brian Norris
  2015-10-12 20:33 ` [PATCH 2/2] mtd: pxa3xx_nand: switch to device PM Brian Norris
  2015-10-15 18:33 ` [PATCH 1/2] mtd: pxa3xx_nand: don't duplicate MTD suspend/resume Ezequiel Garcia
  0 siblings, 2 replies; 11+ messages in thread
From: Brian Norris @ 2015-10-12 20:33 UTC (permalink / raw)
  To: linux-mtd; +Cc: Ezequiel Garcia, Brian Norris

mtd_{suspend,resume}() get called from mtdcore in a class suspend/resume
callback. We don't need to call them again here. In practice, this would
actually work OK, as nand_base actually handles nesting OK -- it just
might print warnings.

Untested, but there are few (no?) users of PM for this driver AFAIK.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
---
 drivers/mtd/nand/pxa3xx_nand.c | 17 -----------------
 1 file changed, 17 deletions(-)

diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c
index 232c7074624a..cce5a32eef60 100644
--- a/drivers/mtd/nand/pxa3xx_nand.c
+++ b/drivers/mtd/nand/pxa3xx_nand.c
@@ -1892,32 +1892,19 @@ static int pxa3xx_nand_probe(struct platform_device *pdev)
 static int pxa3xx_nand_suspend(struct platform_device *pdev, pm_message_t state)
 {
 	struct pxa3xx_nand_info *info = platform_get_drvdata(pdev);
-	struct pxa3xx_nand_platform_data *pdata;
-	struct mtd_info *mtd;
-	int cs;
 
-	pdata = dev_get_platdata(&pdev->dev);
 	if (info->state) {
 		dev_err(&pdev->dev, "driver busy, state = %d\n", info->state);
 		return -EAGAIN;
 	}
 
-	for (cs = 0; cs < pdata->num_cs; cs++) {
-		mtd = info->host[cs]->mtd;
-		mtd_suspend(mtd);
-	}
-
 	return 0;
 }
 
 static int pxa3xx_nand_resume(struct platform_device *pdev)
 {
 	struct pxa3xx_nand_info *info = platform_get_drvdata(pdev);
-	struct pxa3xx_nand_platform_data *pdata;
-	struct mtd_info *mtd;
-	int cs;
 
-	pdata = dev_get_platdata(&pdev->dev);
 	/* We don't want to handle interrupt without calling mtd routine */
 	disable_int(info, NDCR_INT_MASK);
 
@@ -1935,10 +1922,6 @@ static int pxa3xx_nand_resume(struct platform_device *pdev)
 	 * all status before resume
 	 */
 	nand_writel(info, NDSR, NDSR_MASK);
-	for (cs = 0; cs < pdata->num_cs; cs++) {
-		mtd = info->host[cs]->mtd;
-		mtd_resume(mtd);
-	}
 
 	return 0;
 }
-- 
2.6.0.rc2.230.g3dd15c0

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 2/2] mtd: pxa3xx_nand: switch to device PM
  2015-10-12 20:33 [PATCH 1/2] mtd: pxa3xx_nand: don't duplicate MTD suspend/resume Brian Norris
@ 2015-10-12 20:33 ` Brian Norris
  2015-10-12 21:07   ` Brian Norris
  2015-10-15 18:33 ` [PATCH 1/2] mtd: pxa3xx_nand: don't duplicate MTD suspend/resume Ezequiel Garcia
  1 sibling, 1 reply; 11+ messages in thread
From: Brian Norris @ 2015-10-12 20:33 UTC (permalink / raw)
  To: linux-mtd; +Cc: Ezequiel Garcia, Brian Norris

The old PM model is deprecated. This is equivalent.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
---
 drivers/mtd/nand/pxa3xx_nand.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c
index cce5a32eef60..e074a3b406f6 100644
--- a/drivers/mtd/nand/pxa3xx_nand.c
+++ b/drivers/mtd/nand/pxa3xx_nand.c
@@ -1889,21 +1889,21 @@ static int pxa3xx_nand_probe(struct platform_device *pdev)
 }
 
 #ifdef CONFIG_PM
-static int pxa3xx_nand_suspend(struct platform_device *pdev, pm_message_t state)
+static int pxa3xx_nand_suspend(struct device *dev)
 {
-	struct pxa3xx_nand_info *info = platform_get_drvdata(pdev);
+	struct pxa3xx_nand_info *info = dev_get_drvdata(dev);
 
 	if (info->state) {
-		dev_err(&pdev->dev, "driver busy, state = %d\n", info->state);
+		dev_err(dev, "driver busy, state = %d\n", info->state);
 		return -EAGAIN;
 	}
 
 	return 0;
 }
 
-static int pxa3xx_nand_resume(struct platform_device *pdev)
+static int pxa3xx_nand_resume(struct device *dev)
 {
-	struct pxa3xx_nand_info *info = platform_get_drvdata(pdev);
+	struct pxa3xx_nand_info *info = dev_get_drvdata(dev);
 
 	/* We don't want to handle interrupt without calling mtd routine */
 	disable_int(info, NDCR_INT_MASK);
@@ -1934,11 +1934,13 @@ static struct platform_driver pxa3xx_nand_driver = {
 	.driver = {
 		.name	= "pxa3xx-nand",
 		.of_match_table = pxa3xx_nand_dt_ids,
+		.pm = {
+			.suspend	= pxa3xx_nand_suspend,
+			.resume		= pxa3xx_nand_resume,
+		},
 	},
 	.probe		= pxa3xx_nand_probe,
 	.remove		= pxa3xx_nand_remove,
-	.suspend	= pxa3xx_nand_suspend,
-	.resume		= pxa3xx_nand_resume,
 };
 
 module_platform_driver(pxa3xx_nand_driver);
-- 
2.6.0.rc2.230.g3dd15c0

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH 2/2] mtd: pxa3xx_nand: switch to device PM
  2015-10-12 20:33 ` [PATCH 2/2] mtd: pxa3xx_nand: switch to device PM Brian Norris
@ 2015-10-12 21:07   ` Brian Norris
  2015-10-15 18:32     ` Ezequiel Garcia
  0 siblings, 1 reply; 11+ messages in thread
From: Brian Norris @ 2015-10-12 21:07 UTC (permalink / raw)
  To: linux-mtd; +Cc: Ezequiel Garcia

On Mon, Oct 12, 2015 at 01:33:12PM -0700, Brian Norris wrote:
> The old PM model is deprecated. This is equivalent.
> 
> Signed-off-by: Brian Norris <computersforpeace@gmail.com>

Sorry, this patch was garbage. Below is the correct one:

---

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
---
 drivers/mtd/nand/pxa3xx_nand.c | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c
index cce5a32eef60..51b67ae5ac1c 100644
--- a/drivers/mtd/nand/pxa3xx_nand.c
+++ b/drivers/mtd/nand/pxa3xx_nand.c
@@ -1889,21 +1889,21 @@ static int pxa3xx_nand_probe(struct platform_device *pdev)
 }
 
 #ifdef CONFIG_PM
-static int pxa3xx_nand_suspend(struct platform_device *pdev, pm_message_t state)
+static int pxa3xx_nand_suspend(struct device *dev)
 {
-	struct pxa3xx_nand_info *info = platform_get_drvdata(pdev);
+	struct pxa3xx_nand_info *info = dev_get_drvdata(dev);
 
 	if (info->state) {
-		dev_err(&pdev->dev, "driver busy, state = %d\n", info->state);
+		dev_err(dev, "driver busy, state = %d\n", info->state);
 		return -EAGAIN;
 	}
 
 	return 0;
 }
 
-static int pxa3xx_nand_resume(struct platform_device *pdev)
+static int pxa3xx_nand_resume(struct device *dev)
 {
-	struct pxa3xx_nand_info *info = platform_get_drvdata(pdev);
+	struct pxa3xx_nand_info *info = dev_get_drvdata(dev);
 
 	/* We don't want to handle interrupt without calling mtd routine */
 	disable_int(info, NDCR_INT_MASK);
@@ -1930,15 +1930,19 @@ static int pxa3xx_nand_resume(struct platform_device *pdev)
 #define pxa3xx_nand_resume	NULL
 #endif
 
+static const struct dev_pm_ops pxa3xx_nand_pm_ops = {
+	.suspend	= pxa3xx_nand_suspend,
+	.resume		= pxa3xx_nand_resume,
+};
+
 static struct platform_driver pxa3xx_nand_driver = {
 	.driver = {
 		.name	= "pxa3xx-nand",
 		.of_match_table = pxa3xx_nand_dt_ids,
+		.pm	= &pxa3xx_nand_pm_ops,
 	},
 	.probe		= pxa3xx_nand_probe,
 	.remove		= pxa3xx_nand_remove,
-	.suspend	= pxa3xx_nand_suspend,
-	.resume		= pxa3xx_nand_resume,
 };
 
 module_platform_driver(pxa3xx_nand_driver);
-- 
2.6.0.rc2.230.g3dd15c0

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH 2/2] mtd: pxa3xx_nand: switch to device PM
  2015-10-12 21:07   ` Brian Norris
@ 2015-10-15 18:32     ` Ezequiel Garcia
  2015-10-16 15:24       ` Ezequiel Garcia
  0 siblings, 1 reply; 11+ messages in thread
From: Ezequiel Garcia @ 2015-10-15 18:32 UTC (permalink / raw)
  To: Brian Norris, Robert Jarzmik; +Cc: linux-mtd, Ezequiel Garcia

+Robert

On 12 October 2015 at 18:07, Brian Norris <computersforpeace@gmail.com> wrote:
> On Mon, Oct 12, 2015 at 01:33:12PM -0700, Brian Norris wrote:
>> The old PM model is deprecated. This is equivalent.
>>
>> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
>
> Sorry, this patch was garbage. Below is the correct one:
>
> ---
>
> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
> ---
>  drivers/mtd/nand/pxa3xx_nand.c | 18 +++++++++++-------
>  1 file changed, 11 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c
> index cce5a32eef60..51b67ae5ac1c 100644
> --- a/drivers/mtd/nand/pxa3xx_nand.c
> +++ b/drivers/mtd/nand/pxa3xx_nand.c
> @@ -1889,21 +1889,21 @@ static int pxa3xx_nand_probe(struct platform_device *pdev)
>  }
>
>  #ifdef CONFIG_PM
> -static int pxa3xx_nand_suspend(struct platform_device *pdev, pm_message_t state)
> +static int pxa3xx_nand_suspend(struct device *dev)
>  {
> -       struct pxa3xx_nand_info *info = platform_get_drvdata(pdev);
> +       struct pxa3xx_nand_info *info = dev_get_drvdata(dev);
>
>         if (info->state) {
> -               dev_err(&pdev->dev, "driver busy, state = %d\n", info->state);
> +               dev_err(dev, "driver busy, state = %d\n", info->state);
>                 return -EAGAIN;
>         }
>
>         return 0;
>  }
>
> -static int pxa3xx_nand_resume(struct platform_device *pdev)
> +static int pxa3xx_nand_resume(struct device *dev)
>  {
> -       struct pxa3xx_nand_info *info = platform_get_drvdata(pdev);
> +       struct pxa3xx_nand_info *info = dev_get_drvdata(dev);
>
>         /* We don't want to handle interrupt without calling mtd routine */
>         disable_int(info, NDCR_INT_MASK);
> @@ -1930,15 +1930,19 @@ static int pxa3xx_nand_resume(struct platform_device *pdev)
>  #define pxa3xx_nand_resume     NULL
>  #endif
>
> +static const struct dev_pm_ops pxa3xx_nand_pm_ops = {
> +       .suspend        = pxa3xx_nand_suspend,
> +       .resume         = pxa3xx_nand_resume,
> +};
> +
>  static struct platform_driver pxa3xx_nand_driver = {
>         .driver = {
>                 .name   = "pxa3xx-nand",
>                 .of_match_table = pxa3xx_nand_dt_ids,
> +               .pm     = &pxa3xx_nand_pm_ops,
>         },
>         .probe          = pxa3xx_nand_probe,
>         .remove         = pxa3xx_nand_remove,
> -       .suspend        = pxa3xx_nand_suspend,
> -       .resume         = pxa3xx_nand_resume,
>  };
>
>  module_platform_driver(pxa3xx_nand_driver);
> --
> 2.6.0.rc2.230.g3dd15c0
>
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/



-- 
Ezequiel García, VanguardiaSur
www.vanguardiasur.com.ar

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/2] mtd: pxa3xx_nand: don't duplicate MTD suspend/resume
  2015-10-12 20:33 [PATCH 1/2] mtd: pxa3xx_nand: don't duplicate MTD suspend/resume Brian Norris
  2015-10-12 20:33 ` [PATCH 2/2] mtd: pxa3xx_nand: switch to device PM Brian Norris
@ 2015-10-15 18:33 ` Ezequiel Garcia
  2015-10-16 15:26   ` Ezequiel Garcia
  2015-10-20 19:33   ` Robert Jarzmik
  1 sibling, 2 replies; 11+ messages in thread
From: Ezequiel Garcia @ 2015-10-15 18:33 UTC (permalink / raw)
  To: Brian Norris, Robert Jarzmik; +Cc: linux-mtd, Ezequiel Garcia

Robert:

Can you test this on a platform with PM support, and make sure
the NAND works fine after a resume?

On 12 October 2015 at 17:33, Brian Norris <computersforpeace@gmail.com> wrote:
> mtd_{suspend,resume}() get called from mtdcore in a class suspend/resume
> callback. We don't need to call them again here. In practice, this would
> actually work OK, as nand_base actually handles nesting OK -- it just
> might print warnings.
>
> Untested, but there are few (no?) users of PM for this driver AFAIK.
>
> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
> ---
>  drivers/mtd/nand/pxa3xx_nand.c | 17 -----------------
>  1 file changed, 17 deletions(-)
>
> diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c
> index 232c7074624a..cce5a32eef60 100644
> --- a/drivers/mtd/nand/pxa3xx_nand.c
> +++ b/drivers/mtd/nand/pxa3xx_nand.c
> @@ -1892,32 +1892,19 @@ static int pxa3xx_nand_probe(struct platform_device *pdev)
>  static int pxa3xx_nand_suspend(struct platform_device *pdev, pm_message_t state)
>  {
>         struct pxa3xx_nand_info *info = platform_get_drvdata(pdev);
> -       struct pxa3xx_nand_platform_data *pdata;
> -       struct mtd_info *mtd;
> -       int cs;
>
> -       pdata = dev_get_platdata(&pdev->dev);
>         if (info->state) {
>                 dev_err(&pdev->dev, "driver busy, state = %d\n", info->state);
>                 return -EAGAIN;
>         }
>
> -       for (cs = 0; cs < pdata->num_cs; cs++) {
> -               mtd = info->host[cs]->mtd;
> -               mtd_suspend(mtd);
> -       }
> -
>         return 0;
>  }
>
>  static int pxa3xx_nand_resume(struct platform_device *pdev)
>  {
>         struct pxa3xx_nand_info *info = platform_get_drvdata(pdev);
> -       struct pxa3xx_nand_platform_data *pdata;
> -       struct mtd_info *mtd;
> -       int cs;
>
> -       pdata = dev_get_platdata(&pdev->dev);
>         /* We don't want to handle interrupt without calling mtd routine */
>         disable_int(info, NDCR_INT_MASK);
>
> @@ -1935,10 +1922,6 @@ static int pxa3xx_nand_resume(struct platform_device *pdev)
>          * all status before resume
>          */
>         nand_writel(info, NDSR, NDSR_MASK);
> -       for (cs = 0; cs < pdata->num_cs; cs++) {
> -               mtd = info->host[cs]->mtd;
> -               mtd_resume(mtd);
> -       }
>
>         return 0;
>  }
> --
> 2.6.0.rc2.230.g3dd15c0
>
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/



-- 
Ezequiel García, VanguardiaSur
www.vanguardiasur.com.ar

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 2/2] mtd: pxa3xx_nand: switch to device PM
  2015-10-15 18:32     ` Ezequiel Garcia
@ 2015-10-16 15:24       ` Ezequiel Garcia
  2015-10-16 16:35         ` Brian Norris
  0 siblings, 1 reply; 11+ messages in thread
From: Ezequiel Garcia @ 2015-10-16 15:24 UTC (permalink / raw)
  To: Brian Norris, Robert Jarzmik; +Cc: linux-mtd, Ezequiel Garcia

On 15 Oct 03:32 PM, Ezequiel Garcia wrote:
> +Robert
> 
> On 12 October 2015 at 18:07, Brian Norris <computersforpeace@gmail.com> wrote:
> > On Mon, Oct 12, 2015 at 01:33:12PM -0700, Brian Norris wrote:
> >> The old PM model is deprecated. This is equivalent.
> >>
> >> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
> >
> > Sorry, this patch was garbage. Below is the correct one:
> >

Tested on Armada XP-GP using standby and checking nandtest
continues to work after a resume.

Tested-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>

Patch looks good, so:

Acked-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>

Thanks!

> > ---
> >
> > Signed-off-by: Brian Norris <computersforpeace@gmail.com>
> > ---
> >  drivers/mtd/nand/pxa3xx_nand.c | 18 +++++++++++-------
> >  1 file changed, 11 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c
> > index cce5a32eef60..51b67ae5ac1c 100644
> > --- a/drivers/mtd/nand/pxa3xx_nand.c
> > +++ b/drivers/mtd/nand/pxa3xx_nand.c
> > @@ -1889,21 +1889,21 @@ static int pxa3xx_nand_probe(struct platform_device *pdev)
> >  }
> >
> >  #ifdef CONFIG_PM
> > -static int pxa3xx_nand_suspend(struct platform_device *pdev, pm_message_t state)
> > +static int pxa3xx_nand_suspend(struct device *dev)
> >  {
> > -       struct pxa3xx_nand_info *info = platform_get_drvdata(pdev);
> > +       struct pxa3xx_nand_info *info = dev_get_drvdata(dev);
> >
> >         if (info->state) {
> > -               dev_err(&pdev->dev, "driver busy, state = %d\n", info->state);
> > +               dev_err(dev, "driver busy, state = %d\n", info->state);
> >                 return -EAGAIN;
> >         }
> >
> >         return 0;
> >  }
> >
> > -static int pxa3xx_nand_resume(struct platform_device *pdev)
> > +static int pxa3xx_nand_resume(struct device *dev)
> >  {
> > -       struct pxa3xx_nand_info *info = platform_get_drvdata(pdev);
> > +       struct pxa3xx_nand_info *info = dev_get_drvdata(dev);
> >
> >         /* We don't want to handle interrupt without calling mtd routine */
> >         disable_int(info, NDCR_INT_MASK);
> > @@ -1930,15 +1930,19 @@ static int pxa3xx_nand_resume(struct platform_device *pdev)
> >  #define pxa3xx_nand_resume     NULL
> >  #endif
> >
> > +static const struct dev_pm_ops pxa3xx_nand_pm_ops = {
> > +       .suspend        = pxa3xx_nand_suspend,
> > +       .resume         = pxa3xx_nand_resume,
> > +};
> > +
> >  static struct platform_driver pxa3xx_nand_driver = {
> >         .driver = {
> >                 .name   = "pxa3xx-nand",
> >                 .of_match_table = pxa3xx_nand_dt_ids,
> > +               .pm     = &pxa3xx_nand_pm_ops,
> >         },
> >         .probe          = pxa3xx_nand_probe,
> >         .remove         = pxa3xx_nand_remove,
> > -       .suspend        = pxa3xx_nand_suspend,
> > -       .resume         = pxa3xx_nand_resume,
> >  };
> >
> >  module_platform_driver(pxa3xx_nand_driver);
> > --
> > 2.6.0.rc2.230.g3dd15c0
> >
> >
> > ______________________________________________________
> > Linux MTD discussion mailing list
> > http://lists.infradead.org/mailman/listinfo/linux-mtd/
> 
> 
> 
> -- 
> Ezequiel García, VanguardiaSur
> www.vanguardiasur.com.ar

-- 
Ezequiel Garcia, VanguardiaSur
www.vanguardiasur.com.ar

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/2] mtd: pxa3xx_nand: don't duplicate MTD suspend/resume
  2015-10-15 18:33 ` [PATCH 1/2] mtd: pxa3xx_nand: don't duplicate MTD suspend/resume Ezequiel Garcia
@ 2015-10-16 15:26   ` Ezequiel Garcia
  2015-10-16 16:37     ` Brian Norris
  2015-10-20 19:33   ` Robert Jarzmik
  1 sibling, 1 reply; 11+ messages in thread
From: Ezequiel Garcia @ 2015-10-16 15:26 UTC (permalink / raw)
  To: Brian Norris, Robert Jarzmik; +Cc: linux-mtd, Ezequiel Garcia

On 15 Oct 03:33 PM, Ezequiel Garcia wrote:
> Robert:
> 
> Can you test this on a platform with PM support, and make sure
> the NAND works fine after a resume?
> 
> On 12 October 2015 at 17:33, Brian Norris <computersforpeace@gmail.com> wrote:
> > mtd_{suspend,resume}() get called from mtdcore in a class suspend/resume
> > callback. We don't need to call them again here. In practice, this would
> > actually work OK, as nand_base actually handles nesting OK -- it just
> > might print warnings.
> >
> > Untested, but there are few (no?) users of PM for this driver AFAIK.
> >

Brian,

We discussed this on IRC, but I completely forgot about it :/

Without this patch nand_{suspend, resume} is called twice
(which seems harmless), tested on Armada XP-GP using nandtest.

Tested-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Acked-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
-- 
Ezequiel Garcia, VanguardiaSur
www.vanguardiasur.com.ar

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 2/2] mtd: pxa3xx_nand: switch to device PM
  2015-10-16 15:24       ` Ezequiel Garcia
@ 2015-10-16 16:35         ` Brian Norris
  0 siblings, 0 replies; 11+ messages in thread
From: Brian Norris @ 2015-10-16 16:35 UTC (permalink / raw)
  To: Ezequiel Garcia; +Cc: Robert Jarzmik, linux-mtd, Ezequiel Garcia

On Fri, Oct 16, 2015 at 12:24:17PM -0300, Ezequiel Garcia wrote:
> On 15 Oct 03:32 PM, Ezequiel Garcia wrote:
> > +Robert
> > 
> > On 12 October 2015 at 18:07, Brian Norris <computersforpeace@gmail.com> wrote:
> > > On Mon, Oct 12, 2015 at 01:33:12PM -0700, Brian Norris wrote:
> > >> The old PM model is deprecated. This is equivalent.
> > >>
> > >> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
> > >
> > > Sorry, this patch was garbage. Below is the correct one:
> > >
> 
> Tested on Armada XP-GP using standby and checking nandtest
> continues to work after a resume.
> 
> Tested-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
> 
> Patch looks good, so:
> 
> Acked-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
> 
> Thanks!

Pushed to l2-mtd.git

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/2] mtd: pxa3xx_nand: don't duplicate MTD suspend/resume
  2015-10-16 15:26   ` Ezequiel Garcia
@ 2015-10-16 16:37     ` Brian Norris
  2015-10-16 16:50       ` Ezequiel Garcia
  0 siblings, 1 reply; 11+ messages in thread
From: Brian Norris @ 2015-10-16 16:37 UTC (permalink / raw)
  To: Ezequiel Garcia; +Cc: Robert Jarzmik, linux-mtd, Ezequiel Garcia

On Fri, Oct 16, 2015 at 12:26:54PM -0300, Ezequiel Garcia wrote:
> On 15 Oct 03:33 PM, Ezequiel Garcia wrote:
> > Robert:
> > 
> > Can you test this on a platform with PM support, and make sure
> > the NAND works fine after a resume?
> > 
> > On 12 October 2015 at 17:33, Brian Norris <computersforpeace@gmail.com> wrote:
> > > mtd_{suspend,resume}() get called from mtdcore in a class suspend/resume
> > > callback. We don't need to call them again here. In practice, this would
> > > actually work OK, as nand_base actually handles nesting OK -- it just
> > > might print warnings.
> > >
> > > Untested, but there are few (no?) users of PM for this driver AFAIK.
> > >
> 
> Brian,
> 
> We discussed this on IRC, but I completely forgot about it :/

No problem.

> Without this patch nand_{suspend, resume} is called twice
> (which seems harmless), tested on Armada XP-GP using nandtest.

Right, I think it's incidentally harmless. But you do get this warning
without the patch set, right?

	nand_resume called for a chip which is not in suspended state

> Tested-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
> Acked-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>

Pushed to l2-mtd.git

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/2] mtd: pxa3xx_nand: don't duplicate MTD suspend/resume
  2015-10-16 16:37     ` Brian Norris
@ 2015-10-16 16:50       ` Ezequiel Garcia
  0 siblings, 0 replies; 11+ messages in thread
From: Ezequiel Garcia @ 2015-10-16 16:50 UTC (permalink / raw)
  To: Brian Norris; +Cc: Robert Jarzmik, linux-mtd, Ezequiel Garcia

On 16 October 2015 at 13:37, Brian Norris <computersforpeace@gmail.com> wrote:
> On Fri, Oct 16, 2015 at 12:26:54PM -0300, Ezequiel Garcia wrote:
>> On 15 Oct 03:33 PM, Ezequiel Garcia wrote:
>> > Robert:
>> >
>> > Can you test this on a platform with PM support, and make sure
>> > the NAND works fine after a resume?
>> >
>> > On 12 October 2015 at 17:33, Brian Norris <computersforpeace@gmail.com> wrote:
>> > > mtd_{suspend,resume}() get called from mtdcore in a class suspend/resume
>> > > callback. We don't need to call them again here. In practice, this would
>> > > actually work OK, as nand_base actually handles nesting OK -- it just
>> > > might print warnings.
>> > >
>> > > Untested, but there are few (no?) users of PM for this driver AFAIK.
>> > >
>>
>> Brian,
>>
>> We discussed this on IRC, but I completely forgot about it :/
>
> No problem.
>
>> Without this patch nand_{suspend, resume} is called twice
>> (which seems harmless), tested on Armada XP-GP using nandtest.
>
> Right, I think it's incidentally harmless. But you do get this warning
> without the patch set, right?
>
>         nand_resume called for a chip which is not in suspended state
>

Yup, I get that warning.

>> Tested-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
>> Acked-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
>
> Pushed to l2-mtd.git
-- 
Ezequiel García, VanguardiaSur
www.vanguardiasur.com.ar

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/2] mtd: pxa3xx_nand: don't duplicate MTD suspend/resume
  2015-10-15 18:33 ` [PATCH 1/2] mtd: pxa3xx_nand: don't duplicate MTD suspend/resume Ezequiel Garcia
  2015-10-16 15:26   ` Ezequiel Garcia
@ 2015-10-20 19:33   ` Robert Jarzmik
  1 sibling, 0 replies; 11+ messages in thread
From: Robert Jarzmik @ 2015-10-20 19:33 UTC (permalink / raw)
  To: Ezequiel Garcia; +Cc: Brian Norris, linux-mtd, Ezequiel Garcia

Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> writes:

> Robert:
>
> Can you test this on a platform with PM support, and make sure
> the NAND works fine after a resume?

Euh actually I can't. I'm only sure Suspend to RAM is working for pxa27x, I have
not yet this proof for pxa3xx, and my last try wasn't very successful 3 monthes
ago ...

As this regression might be within my platform's configuration (IPL setup, ...),
I don't yet know where the bug is.

Cheers.

--
Robert

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2015-10-20 19:39 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-12 20:33 [PATCH 1/2] mtd: pxa3xx_nand: don't duplicate MTD suspend/resume Brian Norris
2015-10-12 20:33 ` [PATCH 2/2] mtd: pxa3xx_nand: switch to device PM Brian Norris
2015-10-12 21:07   ` Brian Norris
2015-10-15 18:32     ` Ezequiel Garcia
2015-10-16 15:24       ` Ezequiel Garcia
2015-10-16 16:35         ` Brian Norris
2015-10-15 18:33 ` [PATCH 1/2] mtd: pxa3xx_nand: don't duplicate MTD suspend/resume Ezequiel Garcia
2015-10-16 15:26   ` Ezequiel Garcia
2015-10-16 16:37     ` Brian Norris
2015-10-16 16:50       ` Ezequiel Garcia
2015-10-20 19:33   ` Robert Jarzmik

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.