On Tue, Jul 05, 2022 at 09:29:13AM -0700, Kuogee Hsieh wrote: > 0) rebase on https://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy.git tree > 1) add regulator_set_load() to eDP phy > 2) add regulator_set_load() to DP phy > 3) remove vdda related function out of eDP/DP controller > > Kuogee Hsieh (3): > phy: qcom-edp: add regulator_set_load to edp phy > phy: qcom-qmp: add regulator_set_load to dp phy > drm/msm/dp: delete vdda regulator related functions from eDP/DP > controller > > drivers/gpu/drm/msm/dp/dp_parser.c | 14 ----- > drivers/gpu/drm/msm/dp/dp_parser.h | 8 --- > drivers/gpu/drm/msm/dp/dp_power.c | 95 +------------------------------ > drivers/phy/qualcomm/phy-qcom-edp.c | 12 ++++ > drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 41 ++++++++++--- > 5 files changed, 46 insertions(+), 124 deletions(-) This series breaks USB and PCIe for some SC8280XP and SA540P machines where the DP PHY regulators are shared with other PHYs whose drivers do not request a load. Specifically, the hard-coded vdda-phy load of 21.8 mA added by this series, causes several RPMh regulators to now be put in low-power mode. I found Doug's suggestion to handle situations like this in regulator core: https://lore.kernel.org/all/20180814170617.100087-1-dianders@xxxxxxxxxxxx/ but since that was rejected, how do we deal with this generally? In the above thread Doug mentioned adding support for load requests to further drivers and Bjorn mentioned working around it by adding regulator-system-load properties to DT. It seems quite likely that changes like this one affects other systems too, and the effects may be hard to debug. So a more general solution than playing whack-a-mole using DT would be good to have. Johan