From: Tomasz Figa <tomasz.figa@gmail.com>
To: Doug Anderson <dianders@chromium.org>
Cc: "Tomasz Figa" <t.figa@samsung.com>,
linux-samsung-soc <linux-samsung-soc@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"Kukjin Kim" <kgene.kim@samsung.com>,
"Arnd Bergmann" <arnd@arndb.de>,
"Olof Johansson" <olof@lixom.net>,
"Heiko Stübner" <heiko@sntech.de>,
"Stephen Warren" <swarren@wwwdotorg.org>,
"Thomas Abraham" <thomas.abraham@linaro.org>,
"Linus Walleij" <linus.walleij@linaro.org>,
"Prathyush K" <prathyush.k@samsung.com>,
"Kyungmin Park" <kyungmin.park@samsung.com>
Subject: Re: [PATCH 3/6] ARM: SAMSUNG: pm: Adjust for pinctrl- and DT-enabled platforms
Date: Fri, 17 May 2013 22:23:07 +0200 [thread overview]
Message-ID: <4241187.TFCdy2kUT6@flatron> (raw)
In-Reply-To: <CAD=FV=XJ=_o+hVbD=pPqXxXo=1PZdeRWyn-xyfS+Jf5LYfe2dg@mail.gmail.com>
On Friday 17 of May 2013 12:24:04 Doug Anderson wrote:
> Tomasz,
>
> On Fri, May 17, 2013 at 9:24 AM, Tomasz Figa <t.figa@samsung.com> wrote:
> > This patch makes legacy code on suspend/resume path being executed
> > conditionally, on non-DT platforms only, to fix suspend/resume of
> > DT-enabled systems, for which the code is inappropriate.
> >
> > Signed-off-by: Tomasz Figa <t.figa@samsung.com>
> > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> > ---
> >
> > arch/arm/plat-samsung/pm.c | 17 ++++++++++++-----
> > 1 file changed, 12 insertions(+), 5 deletions(-)
> >
> > diff --git a/arch/arm/plat-samsung/pm.c b/arch/arm/plat-samsung/pm.c
> > index 53210ec..8ac2b2d 100644
> > --- a/arch/arm/plat-samsung/pm.c
> > +++ b/arch/arm/plat-samsung/pm.c
> > @@ -261,7 +261,8 @@ static int s3c_pm_enter(suspend_state_t state)
> >
> > * require a full power-cycle)
> >
> > */
> >
> > - if (!any_allowed(s3c_irqwake_intmask, s3c_irqwake_intallow) &&
> > + if (!of_have_populated_dt() &&
> > + !any_allowed(s3c_irqwake_intmask, s3c_irqwake_intallow) &&
>
> I'd rather see you modify patch set #2 to provide some function to
> retrieve just the eint mask and then use it here. Your patch removes
> this test and doesn't replace it with anything. If you moved this
> test to pinctrl directly you'd lose the test against intallow.
Well, looking from the perspective of status before my patch, it just
bypasses a test that is incorrect on DT-enabled platforms.
I agree that this test is rather reasonable to have, but it would require
defining a new interface and moving all platforms to it, which for now
would be a bit of overkill.
IMHO a separate series that sanitizes the whole PM handling in plat-
samsung, including a rework of this check to make it cover all platforms
in a generic and multiplatform-friendly way. What do you think?
> ...or do you think this test is no longer useful for some reason?
>
> > !any_allowed(s3c_irqwake_eintmask, s3c_irqwake_eintallow))
> > {
> >
> > printk(KERN_ERR "%s: No wake-up sources!\n",
> > __func__);
> > printk(KERN_ERR "%s: Aborting sleep\n", __func__);
> >
> > @@ -270,8 +271,11 @@ static int s3c_pm_enter(suspend_state_t state)
> >
> > /* save all necessary core registers not covered by the
> > drivers */
> >
> > - samsung_pm_save_gpios();
> > - samsung_pm_saved_gpios();
> > + if (!of_have_populated_dt()) {
> > + samsung_pm_save_gpios();
> > + samsung_pm_saved_gpios();
> > + }
> > +
>
> Ah, the important part here is the "saved", not the "save"! The
> "save" should get a NULL chip for all GPIOs and effectively be a
> no-op.
>
> Skipping the "saved" is important of s3c64xx and s5p64x0 where the
> "saved" seems to transition things over to powerdown mode. Hopefully
> a future patch of yours adds that back for those platforms in the
> pinmux world. ...same for restore.
S3C64xx can be switched to power down pin configuration manually, but if
you don't do it, it will activate it automatically after entering sleep
mode.
> Summary: I've tested this on exynos5250-snow and it's reasonable but
> I'd love a response about the missing test before adding Reviewed-by.
Thanks.
Best regards,
Tomasz
WARNING: multiple messages have this Message-ID (diff)
From: tomasz.figa@gmail.com (Tomasz Figa)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 3/6] ARM: SAMSUNG: pm: Adjust for pinctrl- and DT-enabled platforms
Date: Fri, 17 May 2013 22:23:07 +0200 [thread overview]
Message-ID: <4241187.TFCdy2kUT6@flatron> (raw)
In-Reply-To: <CAD=FV=XJ=_o+hVbD=pPqXxXo=1PZdeRWyn-xyfS+Jf5LYfe2dg@mail.gmail.com>
On Friday 17 of May 2013 12:24:04 Doug Anderson wrote:
> Tomasz,
>
> On Fri, May 17, 2013 at 9:24 AM, Tomasz Figa <t.figa@samsung.com> wrote:
> > This patch makes legacy code on suspend/resume path being executed
> > conditionally, on non-DT platforms only, to fix suspend/resume of
> > DT-enabled systems, for which the code is inappropriate.
> >
> > Signed-off-by: Tomasz Figa <t.figa@samsung.com>
> > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> > ---
> >
> > arch/arm/plat-samsung/pm.c | 17 ++++++++++++-----
> > 1 file changed, 12 insertions(+), 5 deletions(-)
> >
> > diff --git a/arch/arm/plat-samsung/pm.c b/arch/arm/plat-samsung/pm.c
> > index 53210ec..8ac2b2d 100644
> > --- a/arch/arm/plat-samsung/pm.c
> > +++ b/arch/arm/plat-samsung/pm.c
> > @@ -261,7 +261,8 @@ static int s3c_pm_enter(suspend_state_t state)
> >
> > * require a full power-cycle)
> >
> > */
> >
> > - if (!any_allowed(s3c_irqwake_intmask, s3c_irqwake_intallow) &&
> > + if (!of_have_populated_dt() &&
> > + !any_allowed(s3c_irqwake_intmask, s3c_irqwake_intallow) &&
>
> I'd rather see you modify patch set #2 to provide some function to
> retrieve just the eint mask and then use it here. Your patch removes
> this test and doesn't replace it with anything. If you moved this
> test to pinctrl directly you'd lose the test against intallow.
Well, looking from the perspective of status before my patch, it just
bypasses a test that is incorrect on DT-enabled platforms.
I agree that this test is rather reasonable to have, but it would require
defining a new interface and moving all platforms to it, which for now
would be a bit of overkill.
IMHO a separate series that sanitizes the whole PM handling in plat-
samsung, including a rework of this check to make it cover all platforms
in a generic and multiplatform-friendly way. What do you think?
> ...or do you think this test is no longer useful for some reason?
>
> > !any_allowed(s3c_irqwake_eintmask, s3c_irqwake_eintallow))
> > {
> >
> > printk(KERN_ERR "%s: No wake-up sources!\n",
> > __func__);
> > printk(KERN_ERR "%s: Aborting sleep\n", __func__);
> >
> > @@ -270,8 +271,11 @@ static int s3c_pm_enter(suspend_state_t state)
> >
> > /* save all necessary core registers not covered by the
> > drivers */
> >
> > - samsung_pm_save_gpios();
> > - samsung_pm_saved_gpios();
> > + if (!of_have_populated_dt()) {
> > + samsung_pm_save_gpios();
> > + samsung_pm_saved_gpios();
> > + }
> > +
>
> Ah, the important part here is the "saved", not the "save"! The
> "save" should get a NULL chip for all GPIOs and effectively be a
> no-op.
>
> Skipping the "saved" is important of s3c64xx and s5p64x0 where the
> "saved" seems to transition things over to powerdown mode. Hopefully
> a future patch of yours adds that back for those platforms in the
> pinmux world. ...same for restore.
S3C64xx can be switched to power down pin configuration manually, but if
you don't do it, it will activate it automatically after entering sleep
mode.
> Summary: I've tested this on exynos5250-snow and it's reasonable but
> I'd love a response about the missing test before adding Reviewed-by.
Thanks.
Best regards,
Tomasz
next prev parent reply other threads:[~2013-05-17 20:23 UTC|newest]
Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-17 16:24 [PATCH 0/6] Fix suspend/resume issues created by pinmux on exynos, part 2 Tomasz Figa
2013-05-17 16:24 ` Tomasz Figa
2013-05-17 16:24 ` [PATCH 1/6] pinctrl: exynos: Add support for set_irq_wake of wake-up EINTs Tomasz Figa
2013-05-17 16:24 ` Tomasz Figa
2013-05-17 19:17 ` Doug Anderson
2013-05-17 19:17 ` Doug Anderson
2013-05-21 11:25 ` Linus Walleij
2013-05-21 11:25 ` Linus Walleij
2013-05-17 16:24 ` [PATCH 2/6] ARM: EXYNOS: Fix EINT wake-up mask configuration when pinctrl is used Tomasz Figa
2013-05-17 16:24 ` Tomasz Figa
2013-05-17 19:22 ` Doug Anderson
2013-05-17 19:22 ` Doug Anderson
2013-05-17 19:49 ` Tomasz Figa
2013-05-17 19:49 ` Tomasz Figa
2013-05-21 11:27 ` Linus Walleij
2013-05-21 11:27 ` Linus Walleij
2013-05-17 16:24 ` [PATCH 3/6] ARM: SAMSUNG: pm: Adjust for pinctrl- and DT-enabled platforms Tomasz Figa
2013-05-17 16:24 ` Tomasz Figa
2013-05-17 19:24 ` Doug Anderson
2013-05-17 19:24 ` Doug Anderson
2013-05-17 20:23 ` Tomasz Figa [this message]
2013-05-17 20:23 ` Tomasz Figa
2013-05-17 20:56 ` Doug Anderson
2013-05-17 20:56 ` Doug Anderson
2013-05-17 21:07 ` Tomasz Figa
2013-05-17 21:07 ` Tomasz Figa
2013-05-21 11:29 ` Linus Walleij
2013-05-21 11:29 ` Linus Walleij
2013-05-21 13:15 ` Tomasz Figa
2013-05-21 13:15 ` Tomasz Figa
2013-05-21 17:06 ` Tomasz Figa
2013-05-21 17:06 ` Tomasz Figa
2013-06-10 14:45 ` Tomasz Figa
2013-06-10 14:45 ` Tomasz Figa
2013-06-10 16:13 ` Linus Walleij
2013-06-10 16:13 ` Linus Walleij
2013-06-11 7:45 ` Olof Johansson
2013-06-11 7:45 ` Olof Johansson
2013-06-11 8:21 ` Olof Johansson
2013-06-11 8:21 ` Olof Johansson
2013-06-12 0:15 ` Tomasz Figa
2013-06-12 0:15 ` Tomasz Figa
2013-06-12 0:20 ` Olof Johansson
2013-06-12 0:20 ` Olof Johansson
2013-05-17 16:24 ` [PATCH 4/6] pinctrl: samsung: Add support for SoC-specific suspend/resume callbacks Tomasz Figa
2013-05-17 16:24 ` Tomasz Figa
2013-05-17 19:24 ` Doug Anderson
2013-05-17 19:24 ` Doug Anderson
2013-05-17 20:51 ` Tomasz Figa
2013-05-17 20:51 ` Tomasz Figa
2013-05-24 9:07 ` Linus Walleij
2013-05-24 9:07 ` Linus Walleij
2013-05-24 9:20 ` Tomasz Figa
2013-05-24 9:20 ` Tomasz Figa
2013-05-17 16:24 ` [PATCH 5/6] pinctrl: samsung: Allow per-bank SoC-specific private data Tomasz Figa
2013-05-17 16:24 ` Tomasz Figa
2013-05-17 19:24 ` Doug Anderson
2013-05-17 19:24 ` Doug Anderson
2013-05-24 9:09 ` Linus Walleij
2013-05-24 9:09 ` Linus Walleij
2013-05-17 16:24 ` [PATCH 6/6] pinctrl: exynos: Handle suspend/resume of GPIO EINT registers Tomasz Figa
2013-05-17 16:24 ` Tomasz Figa
2013-05-17 19:25 ` Doug Anderson
2013-05-17 19:25 ` Doug Anderson
2013-05-17 20:34 ` Tomasz Figa
2013-05-17 20:34 ` Tomasz Figa
2013-05-17 21:18 ` Doug Anderson
2013-05-17 21:18 ` Doug Anderson
2013-05-21 17:05 ` [PATCH v2 " Tomasz Figa
2013-05-21 17:05 ` Tomasz Figa
2013-05-22 4:46 ` Doug Anderson
2013-05-22 4:46 ` Doug Anderson
2013-05-22 13:32 ` Tomasz Figa
2013-05-22 13:32 ` Tomasz Figa
2013-05-22 14:03 ` [PATCH v3 " Tomasz Figa
2013-05-22 14:03 ` Tomasz Figa
2013-05-22 15:57 ` Doug Anderson
2013-05-22 15:57 ` Doug Anderson
2013-05-24 9:12 ` Linus Walleij
2013-05-24 9:12 ` Linus Walleij
2013-05-24 9:23 ` Tomasz Figa
2013-05-24 9:23 ` Tomasz Figa
2013-05-20 9:35 ` [PATCH 0/6] Fix suspend/resume issues created by pinmux on exynos, part 2 Tushar Behera
2013-05-20 9:35 ` Tushar Behera
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=4241187.TFCdy2kUT6@flatron \
--to=tomasz.figa@gmail.com \
--cc=arnd@arndb.de \
--cc=dianders@chromium.org \
--cc=heiko@sntech.de \
--cc=kgene.kim@samsung.com \
--cc=kyungmin.park@samsung.com \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=olof@lixom.net \
--cc=prathyush.k@samsung.com \
--cc=swarren@wwwdotorg.org \
--cc=t.figa@samsung.com \
--cc=thomas.abraham@linaro.org \
/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.