Message ID | 20240619140849.368580-1-ulf.hansson@linaro.org |
---|---|
Headers | show |
Series | OPP/pmdomain: Assign required_devs for required OPPs through genpd | expand |
On 19.06.2024 4:08 PM, Ulf Hansson wrote: > Through dev_pm_opp_set_config() the _opp_attach_genpd() allows consumer > drivers to hook up a device to its PM domains. This works for both a single > and multiple PM domains. Their corresponding virtual devices that are > created by genpd during attach, are later being assigned as the > required_devs for the corresponding required OPPs. > > In principle this works fine, but there are some problems. Especially as > the index for a "required-opps" may not necessarily need to match the index > for the "power-domain" in DT, in which case things gets screwed up. So, is this series essentially tackling a problem like this: pdp_A: power-domain-provider@aaaaaa { [...] opp-table { pdp_A_opp0: opp-0 { opp-level = <0>; }; }; }; pdp_B: power-domain-provider@bbbbbbb { [...] opp-table { pdp_B_opp0: opp-0 { opp-level = <0>; }; }; }; nice-device@ccccccc { [...] power-domains = <&pdp_A>, <&pdp_B>; // order doesn't match /\ required-opps = <&pdp_B_opp0>, <&pdp_A_opp0>; }; ? Konrad