[PATCH v6 05/12] power-domain: Add refcounting

Francis, Neha n-francis at ti.com
Mon Apr 14 19:36:12 CEST 2025


On 4/3/2025 1:09 PM, Miquel Raynal wrote:
> It is very surprising that such an uclass, specifically designed to
> handle resources that may be shared by different devices, is not keeping
> the count of the number of times a power domain has been
> enabled/disabled to avoid shutting it down unexpectedly or disabling it
> several times.
> 
> Doing this causes troubles on eg. i.MX8MP because disabling power
> domains can be done in recursive loops were the same power domain
> disabled up to 4 times in a row. PGCs seem to have tight FSM internal
> timings to respect and it is easy to produce a race condition that puts
> the power domains in an unstable state, leading to ADB400 errors and
> later crashes in Linux.
> 
> CI tests using power domains are slightly updated to make sure the count
> of on/off calls is even and the results match what we *now* expect.
> 
> As we do not want to break existing users while stile getting
> interesting error codes, the implementation is split between:
> - a low-level helper reporting error codes if the requested transition
>   could not be operated,
> - a higher-level helper ignoring the "non error" codes, like EALREADY and
>   EBUSY.
> 
> Signed-off-by: Miquel Raynal <miquel.raynal at bootlin.com>
> ---

This commit looks to be breaking K3 platforms boot, please see "Latest Boot
Summary" [0]. Reverting the commit fixes boot.

[0] https://lcpd.itg.ti.com/upstream/k3-boot-build/main/build-trends.html

-- 
Thanking You
Neha Malcom Francis



More information about the U-Boot mailing list