aboutsummaryrefslogtreecommitdiffstats
path: root/include/soc
diff options
context:
space:
mode:
authorGeert Uytterhoeven <geert+renesas@glider.be>2018-12-05 16:39:45 +0100
committerSimon Horman <horms+renesas@verge.net.au>2018-12-06 12:10:10 -0800
commit7fc4650cc2417d7a2907a000f6f88240baa42018 (patch)
tree3ecc27df5c1cc69c3fd7679429ca7f7b2946f258 /include/soc
parentsoc: renesas: rcar-sysc: Merge PM Domain registration and linking (diff)
downloadlinux-dev-7fc4650cc2417d7a2907a000f6f88240baa42018.tar.xz
linux-dev-7fc4650cc2417d7a2907a000f6f88240baa42018.zip
soc: renesas: rcar-sysc: Fix power domain control after system resume
To control power to a power domain, the System Controller (SYSC) needs the corresponding interrupt source to be enabled, but masked, to prevent the CPU from receiving it. Currently this is handled in the driver's probe() routine, and set up for every domain present, even if it will not be controlled directly by SYSC (CPU domains are powered through the APMU on R-Car Gen2 and later). On R-Car Gen3, PSCI powers down the SoC during system suspend, thus losing any configured interrupt state. Hence after system resume, power domains not controlled through the APMU (e.g. A3IR, A3VC, A3VP) fail to power up. Fix this by replacing the global interrupt setup in the probe() routine by a domain-specific interrupt setup in rcar_sysc_power(), where the domain's power is actually controlled. This brings the code more in line with the flowchart in the Hardware User's Manual. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Diffstat (limited to 'include/soc')
0 files changed, 0 insertions, 0 deletions