Core:
 - Log a message when unused PM domains gets disabled
 - Scale down parent/child performance states in the reverse order

Providers:
 - qcom: rpmpd: Add power domains support for MSM8974, MSM8974PRO, PMA8084
   and PM8841
 - renesas: rcar-gen4-sysc: Reduce atomic delays
 - renesas: rcar-sysc: Adjust the waiting time to cover the worst case
 - renesas: r8a779h0-sysc: Add support for the r8a779h0 PM domains
 - imx: imx8mp-blk-ctrl: Add the fdcc clock to the hdmimix domains
 - imx: imx8mp-blk-ctrl: Error out if domains are missing in DT

Improve support for multiple PM domains:
 - Add two helper functions to attach/detach multiple PM domains
 - Convert a couple of drivers to use the new helper functions
pmdomain: renesas: rcar-gen4-sysc: Reduce atomic delays

The delays used with the various atomic polling loops are already at the
maximum value of ~10µs, as documented for read_poll_timeout_atomic().
Hence reduce the delays from 10 to 1 µs.  Increase PDRESR_RETRIES
accordingly, to retain the old (generous) timeout value.

Measurements on R-Car V3U, S4, V4H, and V4M show that the first three
polling loops rarely (never?) loop, so the actual delay does not matter.
The fourth loop (for SYSCISCR in rcar_gen4_sysc_power()) typically ran
for one or two cycles with the old delay.  With the reduced delay, it
typically runs for two to 17 cycles, and finishes earlier than before,
which can reduce loop time up to a factor of three.

While at it, rename the SYSCISR_{TIMEOUT,DELAY_US} definitions to
SYSCISCR_{TIMEOUT,DELAY_US}, to match the register name they apply to.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/77f150522096d55c6da0ff983db61e0cf6309344.1709317289.git.geert+renesas@glider.be
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
1 file changed