From: Krzysztof Kozlowski <krzk@kernel.org>
To: Tomasz Figa <tomasz.figa@gmail.com>,
Sylwester Nawrocki <s.nawrocki@samsung.com>,
Linus Walleij <linus.walleij@linaro.org>,
Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Kukjin Kim <kgene@kernel.org>,
Russell King <linux@armlinux.org.uk>,
Kyungmin Park <kyungmin.park@samsung.com>,
linux-arm-kernel@lists.infradead.org,
linux-samsung-soc@vger.kernel.org, linux-gpio@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: "Paweł Chmiel" <pawel.mikolaj.chmiel@gmail.com>,
"Sylwester Nawrocki" <snawrocki@kernel.org>,
"Chanwoo Choi" <cw00.choi@samsung.com>,
"Alim Akhtar" <alim.akhtar@samsung.com>,
"Pankaj Dubey" <pankaj.dubey@samsung.com>
Subject: Re: [RFT v2 06/10] pinctrl: samsung: Write external wakeup interrupt mask
Date: Tue, 24 Jul 2018 21:41:42 +0200 [thread overview]
Message-ID: <20180724194142.22nav7lfpouzd57o@kozik-lap> (raw)
In-Reply-To: <20180723175302.22535-7-krzk@kernel.org>
On Mon, Jul 23, 2018 at 07:52:58PM +0200, Krzysztof Kozlowski wrote:
> The pinctrl driver defines an IRQ chip which handles external wakeup
> interrupts, therefore from logical point of view, it is the owner of
> external interrupt mask. The register controlling the mask belongs to
> Power Management Unit address space so it has to be accessed with PMU
> syscon regmap handle.
>
> This mask should be written to hardware during system suspend. Till now
> ARMv7 machine code was responsible for this which created a dependency
> between pin controller driver and arch/arm/mach code.
>
> Try to rework this dependency so the pinctrl driver will write external
> wakeup interrupt mask during late suspend.
>
> Impact on ARMv7 designs (S5Pv210 and Exynos)
> ============================================
> This duplicates setting mask with existing machine code
> arch/arm/mach-exynos/suspend.c and arch/arm/mach-s5pv210/pm.c but it is
> not a problem - the wakeup mask register will be written twice. The
> machine code will be cleaned up later.
>
> The difference between implementation here and ARMv7 machine code
> (arch/arm/mach-*) is the time of writing the mask:
> 1. The machine code is writing the mask quite late during system suspend
> path, after offlining secondary CPUs and just before doing actual
> suspend.
> 2. The implementation in pinctrl driver uses late suspend ops, therefore it
> will write the mask much earlier. Hopefully late enough, after all
> drivers will enable or disable its interrupt wakeup
> (enable_irq_wake() etc).
>
> Impact on ARMv8 designs (Exynos5433 and Exynos7)
> ================================================
> The Suspend to RAM was not supported and external wakeup interrupt mask
> was not written to HW. This change brings us one step closer to
> supporting Suspend to RAM.
>
> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
> Cc: Tomasz Figa <tomasz.figa@gmail.com>
> Cc: Sylwester Nawrocki <snawrocki@kernel.org>
> Acked-by: Tomasz Figa <tomasz.figa@gmail.com>
> ---
> drivers/pinctrl/samsung/pinctrl-exynos.c | 50 ++++++++++++++++++++++++++++-
> drivers/pinctrl/samsung/pinctrl-samsung.h | 3 ++
> include/linux/soc/samsung/exynos-regs-pmu.h | 2 ++
> 3 files changed, 54 insertions(+), 1 deletion(-)
Thanks, applied all previous, up to this one.
Best regards,
Krzysztof
next prev parent reply other threads:[~2018-07-24 19:41 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20180723175334epcas5p3e46820b4d356d4f1ea718ec1a6c093a6@epcas5p3.samsung.com>
2018-07-23 17:52 ` [RFT v2 00/10] pinctrl: samsung: Remove ugly hack for sharing eint_wakeup_mask Krzysztof Kozlowski
2018-07-23 17:52 ` [RFT v2 01/10] pinctrl: samsung: Define suspend and resume callbacks for all banks and SoCs Krzysztof Kozlowski
2018-07-24 19:41 ` Krzysztof Kozlowski
2018-07-23 17:52 ` [RFT v2 02/10] pinctrl: samsung: Document suspend and resume members Krzysztof Kozlowski
2018-07-23 17:52 ` [RFT v2 03/10] pinctrl: samsung: Document hidden requirement about one external wakeup Krzysztof Kozlowski
2018-07-25 17:38 ` Rob Herring
2018-07-23 17:52 ` [RFT v2 04/10] pinctrl: samsung: Add dedicated compatible for S5Pv210 wakeup interrupts Krzysztof Kozlowski
2018-07-25 17:39 ` Rob Herring
2018-07-23 17:52 ` [RFT v2 05/10] ARM: exynos: Define EINT_WAKEUP_MASK registers for S5Pv210 and Exynos5433 Krzysztof Kozlowski
2018-07-23 17:52 ` [RFT v2 06/10] pinctrl: samsung: Write external wakeup interrupt mask Krzysztof Kozlowski
2018-07-24 19:41 ` Krzysztof Kozlowski [this message]
2018-07-23 17:52 ` [RFT v2 07/10] ARM: dts: s5pv210: Switch to S5Pv210 specific pinctrl wakeup compatible Krzysztof Kozlowski
2018-07-23 17:53 ` [RFT v2 08/10] ARM: s5pv210: Remove legacy setting of external wakeup interrupts Krzysztof Kozlowski
2018-07-23 17:53 ` [RFT v2 09/10] ARM: exynos: " Krzysztof Kozlowski
2018-07-23 17:53 ` [RFT v2 10/10] pinctrl: samsung: Remove legacy API for handling external wakeup interrupts mask Krzysztof Kozlowski
2018-07-24 9:18 ` [RFT v2 00/10] pinctrl: samsung: Remove ugly hack for sharing eint_wakeup_mask Marek Szyprowski
2018-07-24 19:40 ` Krzysztof Kozlowski
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=20180724194142.22nav7lfpouzd57o@kozik-lap \
--to=krzk@kernel.org \
--cc=alim.akhtar@samsung.com \
--cc=cw00.choi@samsung.com \
--cc=devicetree@vger.kernel.org \
--cc=kgene@kernel.org \
--cc=kyungmin.park@samsung.com \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=mark.rutland@arm.com \
--cc=pankaj.dubey@samsung.com \
--cc=pawel.mikolaj.chmiel@gmail.com \
--cc=robh+dt@kernel.org \
--cc=s.nawrocki@samsung.com \
--cc=snawrocki@kernel.org \
--cc=tomasz.figa@gmail.com \
/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).