From: Hans de Goede <hdegoede@redhat.com>
To: Andy Shevchenko <andy.shevchenko@gmail.com>,
Sven Peter <sven@svenpeter.dev>
Cc: Linus Walleij <linus.walleij@linaro.org>,
Joey Gouly <joey.gouly@arm.com>,
Andy Shevchenko <andriy.shevchenko@intel.com>,
"open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>,
Hector Martin <marcan@marcan.st>, Marc Zyngier <maz@kernel.org>,
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>,
nd <nd@arm.com>, Stan Skowronek <stan@corellium.com>
Subject: Re: [PATCH v1 1/1] pinctrl: add pinctrl/GPIO driver for Apple SoCs
Date: Mon, 27 Sep 2021 11:27:01 +0200 [thread overview]
Message-ID: <7f8e0480-c6af-8a09-86d6-6234429ffa68@redhat.com> (raw)
In-Reply-To: <CAHp75Vc+uA-G2+aT_U10BDo8krhahYgTSWdxQt8iffn9angL_w@mail.gmail.com>
Hi,
On 9/27/21 11:00 AM, Andy Shevchenko wrote:
> +Cc: Hans (just for a bit offtopic comment below)
>
> On Mon, Sep 27, 2021 at 8:46 AM Sven Peter <sven@svenpeter.dev> wrote:
>> On Sun, Sep 26, 2021, at 18:28, Andy Shevchenko wrote:
>>> On Sun, Sep 26, 2021 at 5:36 PM Sven Peter <sven@svenpeter.dev> wrote:
>>>> On Sun, Sep 26, 2021, at 15:10, Linus Walleij wrote:
>>>>> On Sun, Sep 26, 2021 at 2:56 PM Sven Peter <sven@svenpeter.dev> wrote:
>>>>>> On Sun, Sep 26, 2021, at 14:48, Linus Walleij wrote:
>
> ...
>
>>>> I'd prefer to have a single compatible and get the npins from some
>>>> property and I don't think that's necessarily over-generalizing.
>>>> AFAICT Apple has been using the exact same MMIO interface for years
>>>> and I'd expect them to continue using it in the future. The only thing
>>>> that seems to change is the number of pins available and their assignment.
>>>> If we just have a single compatible we can likely support the M1X/2 or
>>>> however Apple calls the next SoCs with just a simple DTB change without
>>>> touching any driver code.
>>>
>>> Hmm... Dunno the details, but at least AOP GPIO is definitely ca[able
>>> of waking a system from a deep sleep (that's what SUS == suspend do on
>>> Intel). Haven't checked if you implemented ->irq_set_wake() callbacks,
>>> though.
>>
>> I don't think Joey implemented the set_wake callback because we didn't
>> even consider that the AOP GPIOs might be able to wake the system from
>> deep sleep. I'll see if I can figure out some details about that though.
>
> I have checked Intel drivers and above mentioned do not implement
> ->irq_set_wake() callback. Hmm... Maybe Hans can share his thoughts
> why it's so
> (note, the Skylake and newest are all based on pinctrl-intel.c which
> implements it. So does Merrifield) and if we also need to consider
> adding it.
Bay Trail and Cherry Trail always use suspend2idle, which means any
IRQ is a wake IRQ, since the CPU is in a S0ix (deep-idle, rather
then full suspended) state.
Drivers still need to make irq_set_irq_wake() calls
though, to avoid the IRQ code disabling the IRQ on suspend.
To allow those calls to succeed the baytrail and cherryview
pinctrl drivers set IRQCHIP_SKIP_SET_WAKE in their irqchip.flags.
There are also some more standard (non tablet targetting)
CPUs which are using the same GPIO IP block, e.g.
the Celeron N2840 uses the pinctrl-baytrail.c code but
laptops using this will typically use normal S3 suspend.
I assume that in this case configuring which IRQs are wakeup
sources is actually controlled the BIOS, since S3 suspend is
heavily BIOS assisted. I would not even be surprised if the
BIOS even completely reprograms all IRQ settings (including
IRQs left enabled) on suspend.
Regards,
Hans
next prev parent reply other threads:[~2021-09-27 9:27 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-21 22:29 [PATCH v1 0/1] pinctrl/GPIO driver for Apple SoCs Joey Gouly
2021-09-21 22:29 ` [PATCH v1 1/1] pinctrl: add " Joey Gouly
2021-09-22 7:20 ` Andy Shevchenko
2021-09-25 13:44 ` Joey Gouly
2021-09-26 5:08 ` Andy Shevchenko
2021-09-26 12:48 ` Linus Walleij
2021-09-26 12:56 ` Sven Peter
2021-09-26 13:10 ` Linus Walleij
2021-09-26 14:35 ` Sven Peter
2021-09-26 16:28 ` Andy Shevchenko
2021-09-27 5:45 ` Sven Peter
2021-09-27 9:00 ` Andy Shevchenko
2021-09-27 9:27 ` Hans de Goede [this message]
2021-09-27 9:43 ` Andy Shevchenko
2021-09-27 8:46 ` Alyssa Rosenzweig
2021-09-27 8:55 ` Andy Shevchenko
2021-09-27 23:34 ` Linus Walleij
2021-09-28 21:20 ` Joey Gouly
2021-09-28 18:21 ` Joey Gouly
2021-09-28 21:50 ` Linus Walleij
2021-09-22 13:09 ` Marc Zyngier
2021-09-22 23:58 ` Linus Walleij
2021-09-22 6:59 ` [PATCH v1 0/1] " Andy Shevchenko
2021-09-23 0:10 ` Linus Walleij
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=7f8e0480-c6af-8a09-86d6-6234429ffa68@redhat.com \
--to=hdegoede@redhat.com \
--cc=alyssa.rosenzweig@collabora.com \
--cc=andriy.shevchenko@intel.com \
--cc=andy.shevchenko@gmail.com \
--cc=joey.gouly@arm.com \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=marcan@marcan.st \
--cc=maz@kernel.org \
--cc=nd@arm.com \
--cc=stan@corellium.com \
--cc=sven@svenpeter.dev \
/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;
as well as URLs for NNTP newsgroup(s).