Re: [PATCH v6 00/11] soc: renesas: Add R-Car SYSC PM Domain Support

Simon Horman
2016-04-21T03:28:14Z

On Wed, Apr 20, 2016 at 02:02:35PM +0200, Geert Uytterhoeven wrote:
> Hi Simon, Magnus,
>
> This patch series introduces a DT-based driver for the R-Car System
> Controller, as found on Renesas R-Car H1, R-Car Gen2, and R-Car Gen3
> SoCs.
>
> This is a dependency for the enablement of DU and VSP on R-Car H3, as
> the VSPs are located in a PM Domain.
>
> Changes compared to v5:
> - Add Reviewed-by,
> - Drop unneeded genpd->dev_ops.active_wakeup callback,
> - Move call to pm_genpd_init() after all local initialization,
>
> Changes compared to v4:
> - Add Reviewed-by,
> - Mask SYSC interrupts sources before enabling them (doesn't matter
> much as they're disabled at the GIC level anyway),
> - Reference r8a7791_sysc_info directly for R-Car M2-N in rcar-sysc.c,
> - Re-add explicit "always-on" power area instead of aliasing the SoC's
> Clock Domain,
> - Add "always-on" power area on R-Car H1 and Gen2 SoCs,
> - Merge the two initialization phases again,
> - Use either the cpg_mssr_*() or cpg_mstp_*() callbacks for Clock
> Domain control,
> - Drop dependency on r8a7795 of the Clock Domain handling, as this is
> used for the "always-on" PM Domain on R-Car H1 and Gen2, too,
>
> Changes compared to v3:
> - Add Reviewed-by,
> - Make sure not to clear reserved SYSCIMR bits that were set before,
> - Make the always-on power area implicit and always present, and an
> alias of the existing SoC's Clock Domain. This makes the number of
> power areas a compile-time constant, and allows to drop PD_ALWAYS_ON
> and some checks.
> - Split initialization in two phases,
> - Remove the explicit dependency on the CPG/MSSR driver by forwarding
> the attach/detach callbacks to the parent PM Domain.
> If deemed reusable, rcar_sysc_{at,de}tach_dev() can be moved to
> common genpd code later.
> - Document that ARM cores are controlled by PSCI on R-Car Gen3
> (although the underlying CPG/APMU hardware is the same as on Gen2),
> - Drop R8A7779_PD_SH, as it's not documented in the datasheet,
> - Rename R8A779*_PD_SH to R8A779*_PD_SH_4A, and "sh" to "sh-4a" on
> R-Car Gen2,
> - Remove always-on power area from the R-Car Gen3 table, as it's now
> implicitly handled by the rcar-sysc driver,
> - Reformat tables,
> - Minor improvements (double evaluation, unused parameter, debug
> message consolidation),
> - Update MAINTAINERS.
>
> Changes compared to v2:
> - Add Reviewed-by,
> - Rename driver from pm-rcar to rcar-sysc,
> - Create PM Domains from hierarchy in C data instead of DT,
> - Add support for an "always-on" domain, which is currently used on
> R-Car H3 only (support can be added for other R-Car SoCs, preferably
> after their migration to CPG/MSSR),
> - Drop power area A3SH on R-Car H3, as it's no longer
> documented in the datasheet, and touching it seems to crash SYSC,
> - Hook up the CPG/MSSR Clock Domain attach/detach callbacks instead of
> using our own copies,
> - Initialize SYSCIER early, as SYSC needs the interrupt sources to be
> enabled to control power,
> - Mask all SYSC interrupt sources for the CPU,
> - Drop check for CONFIG_PM_GENERIC_DOMAINS, which is now always
> enabled on R-Car SoCs,
> - Use early_initcall() instead of core_initcall(),
> - Do not power up CPU power areas during initialization, as this is
> handled later (directly or indirectly) by the SMP code,
> - Extract bindings into its own series, "[PATCH v3 0/7] PM / Domains:
> Add DT bindings for the R-Car System Controller".
>
> Changes compared to v1 (more details in the individual patches):
> - Moved pm-rcar from arch/arm/mach-shmobile/ to drivers/soc/renesas/,
> - Added R-Car H3 (r8a7795) support, incl. support for devices part of
> a SYSC PM domain and the CPG/MSSR clock domain,
> - Use "renesas,<type>-sysc" instead of "renesas,sysc-<type>",
> - Added fallback compatibility strings for R-Car Gen2 and Gen3.
> - Changed one-line summary prefix to match current arm-soc practices,
> - The L2 cache-controller patches have been extracted into a separate
> series ("[PATCH v3 0/7] ARM/arm64: dts: renesas: Add/complete L2
> cache-controller nodes"),
> - Minor fixes.
>
> Dependencies:
> - clk-renesas-for-v4.7 (which now includes "[PATCH v2 0/4] clk:
> renesas: R-Car SYSC PM Domain Preparation"; pull request sent),
> - renesas-devel-20160420-v4.6-rc4 (which already contains series
> "[PATCH v5 0/7] PM / Domains: Add DT bindings for the R-Car System
> Controller").
>
> I won't be resending follow-up series "[PATCH v5 00/12] ARM/arm64: dts:
> rcar: Add SYSC PM domains" for now, as it's unchanged, except for an
> ugly rebase due to dropping the commits to reference both DMA
> controllers on R-Car Gen2.
>
> For your convenience, I've pushed this, incl. all dependencies, to the
> topic/rcar-sysc-pd-v6 branch of
> git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git.
> Integration with renesas-drivers-2016-04-12-v4.6-rc3 is available in the
> topic/gen3-latest branch.
>
> This has been tested on r8a7779/marzen, r8a7790/lager, r8a7791/koelsch,
> r8a7794/alt, and r8a7795/salvator-x.
>
> Thanks!

Thanks. I am not planning to queue these up at this point.
Let me know if that is not what you expected.