public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
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

  reply	other threads:[~2013-05-17 20:23 UTC|newest]

Thread overview: 42+ 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 ` [PATCH 1/6] pinctrl: exynos: Add support for set_irq_wake of wake-up EINTs Tomasz Figa
2013-05-17 19:17   ` Doug Anderson
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 19:22   ` Doug Anderson
2013-05-17 19:49     ` Tomasz Figa
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 19:24   ` Doug Anderson
2013-05-17 20:23     ` Tomasz Figa [this message]
2013-05-17 20:56       ` Doug Anderson
2013-05-17 21:07         ` Tomasz Figa
2013-05-21 11:29           ` Linus Walleij
2013-05-21 13:15             ` Tomasz Figa
2013-05-21 17:06               ` Tomasz Figa
2013-06-10 14:45   ` Tomasz Figa
2013-06-10 16:13     ` Linus Walleij
2013-06-11  7:45       ` Olof Johansson
2013-06-11  8:21         ` Olof Johansson
2013-06-12  0:15           ` Tomasz Figa
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 19:24   ` Doug Anderson
2013-05-17 20:51     ` Tomasz Figa
2013-05-24  9:07   ` Linus Walleij
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 19:24   ` Doug Anderson
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 19:25   ` Doug Anderson
2013-05-17 20:34     ` Tomasz Figa
2013-05-17 21:18       ` Doug Anderson
2013-05-21 17:05         ` [PATCH v2 " Tomasz Figa
2013-05-22  4:46           ` Doug Anderson
2013-05-22 13:32             ` Tomasz Figa
2013-05-22 14:03             ` [PATCH v3 " Tomasz Figa
2013-05-22 15:57               ` Doug Anderson
2013-05-24  9:12               ` Linus Walleij
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

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=linux-arm-kernel@lists.infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox