On 26-08-24 23:08:57, Jiaxing Hu wrote: > The RK3576 NPU domains need a short settle time after the idle request > is released before the registers behind the domain answer. Without it > the QoS writes that rockchip_pmu_restore_qos() issues land while the > domain is still coming up, and the NPU throws an async SError on the > first cold power-on. > > Give rockchip_domain_info an optional delay_us and wait for it between > releasing idle and restoring QoS. Rename DOMAIN_M_O_R_G to > DOMAIN_M_O_R_G_W, since the suffixes name the fields the macro sets and > this one now also carries a wakeup delay; RK3576 is its only user, so > the old spelling is not kept around. > > While the macro is being rewritten, give it the regulator argument that > DOMAIN_M_O_R and DOMAIN_M_R already take. Without .need_regulator set, > rockchip_pd_regulator_enable() returns early for every RK3576 domain, so > a domain-supply in the device tree is never looked up and never enabled. > Add a DOMAIN_RK3576_R spelling that passes true and use it for > RK3576_PD_NPU, which is the one RK3576 domain with a rail of its own; > every other domain passes false and is unchanged. > > Signed-off-by: Jiaxing Hu <[email protected]>
Reviewed-by: Abel Vesa <[email protected]>
