[PATCH] pmdomain: bcm: bcm2835-power: Raise ASB poll timeout to 100us
Ulf Hansson
ulf.hansson at oss.qualcomm.com
Mon Jul 13 04:06:24 PDT 2026
On Sat, May 30, 2026 at 10:46 PM Maíra Canal <mcanal at igalia.com> wrote:
>
> Commit 18605b1b936b ("pmdomain: bcm: bcm2835-power: Increase ASB control
> timeout") raised the ASB handshake polling budget from 1us to 5us.
> Surveying the pmdomain subsystem, 5us is still one of the smallest polling
> budgets by a wide margin. Comparable handshakes in other drivers use:
>
> - 100us : starfive jh71xx-pmu, apple pmgr-pwrstate
> - 1ms : renesas rcar-sysc, rmobile-sysc (power-on)
> - 10ms : renesas rcar-gen4-sysc, sunxi sun55i-pck600
> - 1s : mediatek mtk-pm-domains, mtk-scpsys
>
> Raise the BCM2835 timeout to 100us, matching analogous drivers. 100us is
> still negligible relative to a power-domain transition and gives the V3D
> master ASB substantially more headroom to drain under heavy workloads,
> assuring us that the timeout is enough for any scenario.
>
> Signed-off-by: Maíra Canal <mcanal at igalia.com>
Applied for next, thanks!
Kind regards
Uffe
> ---
> drivers/pmdomain/bcm/bcm2835-power.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pmdomain/bcm/bcm2835-power.c b/drivers/pmdomain/bcm/bcm2835-power.c
> index b76d74e3849b..d507bb675e29 100644
> --- a/drivers/pmdomain/bcm/bcm2835-power.c
> +++ b/drivers/pmdomain/bcm/bcm2835-power.c
> @@ -175,7 +175,7 @@ static int bcm2835_asb_control(struct bcm2835_power *power, u32 reg, bool enable
> writel(PM_PASSWORD | val, base + reg);
>
> if (readl_poll_timeout_atomic(base + reg, val,
> - !!(val & ASB_ACK) != enable, 0, 5))
> + !!(val & ASB_ACK) != enable, 0, 100))
> return -ETIMEDOUT;
>
> return 0;
> --
> 2.54.0
>
More information about the linux-arm-kernel
mailing list