OpenCloudOS-Kernel/drivers/soc/renesas
Geert Uytterhoeven 44b5100f7b soc: renesas: rcar-sysc: Prepare for fixing power request conflicts
Recent R-Car Gen3 SoCs added an External Request Mask Register to the
System Controller (SYSC).  This register allows to mask external power
requests for CPU or 3DG domains, to prevent conflicts between powering
off CPU cores or the 3D Graphics Engine, and changing the state of
another power domain through SYSC, which could lead to CPG state machine
lock-ups.

Add support for making use of this register.  Take into account that the
register is optional, and that its location and contents are
SoC-specific.

Note that the issue fixed by this cannot happen in the upstream kernel,
as upstream has no support for graphics acceleration yet.  SoCs lacking
the External Request Mask Register may need a different mitigation in
the future.

Inspired by a patch in the BSP by Dien Pham <dien.pham.ry@renesas.com>.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
Link: https://lore.kernel.org/r/20190828113618.6672-2-geert+renesas@glider.be
2019-10-01 10:29:40 +02:00
..
Kconfig soc: renesas: Enable ARM_ERRATA_754322 for affected Cortex-A9 2019-08-23 10:33:31 +02:00
Makefile ARM: shmobile: R-Mobile: Move pm-rmobile to drivers/soc/renesas/ 2018-11-30 11:29:11 +01:00
r8a774a1-sysc.c soc: renesas: rcar-sysc: Add r8a774a1 support 2018-09-12 10:19:06 +02:00
r8a774c0-sysc.c soc: renesas: r8a774c0-sysc: Fix initialization order of 3DG-{A,B} 2019-01-07 14:51:51 +01:00
r8a7743-sysc.c soc: renesas: convert to SPDX identifiers 2018-09-12 10:19:51 +02:00
r8a7745-sysc.c soc: renesas: convert to SPDX identifiers 2018-09-12 10:19:51 +02:00
r8a7779-sysc.c soc: renesas: convert to SPDX identifiers 2018-09-12 10:19:51 +02:00
r8a7790-sysc.c soc: renesas: convert to SPDX identifiers 2018-09-12 10:19:51 +02:00
r8a7791-sysc.c soc: renesas: convert to SPDX identifiers 2018-09-12 10:19:51 +02:00
r8a7792-sysc.c soc: renesas: convert to SPDX identifiers 2018-09-12 10:19:51 +02:00
r8a7794-sysc.c soc: renesas: convert to SPDX identifiers 2018-09-12 10:19:51 +02:00
r8a7795-sysc.c soc: renesas: convert to SPDX identifiers 2018-09-12 10:19:51 +02:00
r8a7796-sysc.c soc: renesas: convert to SPDX identifiers 2018-09-12 10:19:51 +02:00
r8a77470-sysc.c soc: renesas: rcar-sysc: Add r8a77470 support 2018-04-16 16:01:24 +02:00
r8a77965-sysc.c soc: renesas: r8a77965-sysc: Remove non-existent A3IR power domain 2018-11-30 11:22:29 +01:00
r8a77970-sysc.c soc: renesas: r8a77970-sysc: Correct names of A2DP/A2CN power domains 2018-11-30 11:22:30 +01:00
r8a77980-sysc.c soc: renesas: r8a77980-sysc: Correct A3VIP[012] power domain hierarchy 2018-11-30 11:22:30 +01:00
r8a77990-sysc.c soc: renesas: r8a77990-sysc: Fix initialization order of 3DG-{A,B} 2018-12-06 12:10:08 -08:00
r8a77995-sysc.c soc: renesas: convert to SPDX identifiers 2018-09-12 10:19:51 +02:00
r9a06g032-smp.c ARM: shmobile: Add the R9A06G032 SMP enabler driver 2018-07-20 13:44:04 +02:00
rcar-rst.c soc: renesas: rcar-rst: Add support for RZ/G1N 2018-09-17 10:46:31 +02:00
rcar-sysc.c soc: renesas: rcar-sysc: Prepare for fixing power request conflicts 2019-10-01 10:29:40 +02:00
rcar-sysc.h soc: renesas: rcar-sysc: Prepare for fixing power request conflicts 2019-10-01 10:29:40 +02:00
renesas-soc.c soc: renesas: Identify R-Car M3-W ES1.3 2019-03-18 10:33:42 +01:00
rmobile-sysc.c soc: renesas: rmobile-sysc: Set GENPD_FLAG_ALWAYS_ON for always-on domain 2019-08-23 09:58:01 +02:00