[PATCH 0/4] Enable PM and PM_GENERIC_DOMAINS for SoCs with PM Domains
Simon Horman
horms at verge.net.au
Wed Feb 17 04:18:41 PST 2016
On Tue, Feb 16, 2016 at 04:31:48PM +0100, Geert Uytterhoeven wrote:
> Hi Simon, Magnus,
>
> All supported Renesas ARM SoCs (except for Emma Mobile EV2) have clock
> domains. Some SoCs also have power domains. To ensure proper operation
> of on-SoC modules, module clocks must be ungated, and power domains must
> be powered up when needed.
>
> Currently the user can choose to build a kernel with power management
> enabled or disabled:
> - If CONFIG_PM=y, power domains and/or module clocks are handled
> dynamically by Runtime PM and the generic power domain.
> - If CONFIG_PM=n, power domains are assumed to be powered up by reset
> state or by the boot loader, and module clocks are handled by the
> legacy clock domain on driver (un)bind.
> The latter is implemented using a platform bus notifier, which
> applies not only to all on-SoC devices, but to all platform devices
> present in the system.
>
> To remove the dependency on implicit assumptions, and to get rid of the
> peculiarities of the legacy clock domain, enable CONFIG_PM and
> CONFIG_PM_GENERIC_DOMAINS unconditionally, for all Renesas ARM SoCs with
> clock and/or power domains.
>
> Patches:
> - Patches 1 and 2 enable PM and PM_GENERIC_DOMAINS,
> - Patch 3 removes the now unused legacy clock domain code for Renesas
> ARM SoCs,
> - Patch 4 relieves you from maintaining drivers/sh/, which is no
> longer used on Renesas ARM SoCs, and returns it to the SuperH
> people.
>
> Notes:
> - This does cause an increase in kernel size. Given bloat-o-meter
> reports a modest increase of 26 KiB for an RZ/A1H kernel, this
> should not be a problem, even when used on RZ/A1H with XIP and
> internal RAM only.
> - Patch 3 does break booting R-Car Gen2 boards using pre-v4.3 DTSes
> that don't have power-domains properties,
> - Patch 3 may unbreak SuperH-based ARCH_SHMOBILE platforms, which were
> probably broken since v4.4 by commit 0ba58de231066e47 ("drivers: sh:
> Get rid of CONFIG_ARCH_SHMOBILE_MULTI"),
> - Currently CONFIG_PM=n doesn't work anyway on r8a7795 as "drivers:
> sh: Handle PM_GENERIC_DOMAINS_OF=n with new r8a7795 CPG/MSSR
> driver" isn't upstream.
>
> For your convenience, I've also pushed this series to
> git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git#topic/mandatory-pm-v1
>
> Thanks for your comments!
>
> Geert Uytterhoeven (4):
> ARM: shmobile: Enable PM and PM_GENERIC_DOMAINS for SoCs with PM
> Domains
> arm64: renesas: Enable PM and PM_GENERIC_DOMAINS for SoCs with PM
> Domains
Thanks, I have tentatively queued up the above two patches for v4.6.
With regards to the remaining two patches, I propose deferring them
for a few releases so that we can shake out any regressions that
may occur before making a compatibility change.
> drivers: sh: Stop using the legacy clock domain on ARM
> MAINTAINERS: Drop drivers/sh/ for Renesas ARM
>
> MAINTAINERS | 1 -
> arch/arm/mach-shmobile/Kconfig | 13 ++++++++-----
> arch/arm64/Kconfig.platforms | 3 ++-
> drivers/Makefile | 1 -
> drivers/sh/pm_runtime.c | 9 ---------
> 5 files changed, 10 insertions(+), 17 deletions(-)
More information about the linux-arm-kernel
mailing list