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.ray...@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