Merge "clk: qcom: gdsc-regulator: Poll PWR_ON during GDSC HW to SW mode switch"

This commit is contained in:
qctecmdr 2020-05-12 17:25:48 -07:00 • committed by Gerrit - the friendly Code Review server
commit 7d84d3968c

View file

@ -499,6 +499,20 @@ static int gdsc_set_mode(struct regulator_dev *rdev, unsigned int mode)
*/
gdsc_mb(sc);
udelay(1);
/*
* While switching from HW to SW mode, HW may be busy
* updating internal required signals. Polling for PWR_ON
* ensures that the GDSC switches to SW mode before software
* starts to use SW mode.
*/
if (sc->is_gdsc_enabled) {
ret = poll_gdsc_status(sc, ENABLED);
if (ret) {
dev_err(&rdev->dev, "%s enable timed out\n",
sc->rdesc.name);
goto done;
}
}
sc->is_gdsc_hw_ctrl_mode = false;
break;
default: