Hi, On Wed, May 30, 2018 at 9:13 AM, Mark Brown <broonie@xxxxxxxxxx> wrote: > On Wed, May 30, 2018 at 09:09:02AM -0700, Doug Anderson wrote: >> On Wed, May 30, 2018 at 9:07 AM, Mark Brown <broonie@xxxxxxxxxx> wrote: > >> > It needs something to tell it what the new voltage to set is. > >> The regulator driver has its own cache of what voltage was most >> recently requested by Linux. It can use that, can't it? > > If we're just going to use the most recently set voltage then hopefully > the hardware already knew that, and it might not be the lowest available > voltage if the last consumer to get turned off was holding the voltage > higher. To circle back to the original point: the problem is that (IMHO) the hardware is doing the wrong thing by still counting Linux's vote for a voltage even though Linux also voted that the regulator should be disabled. So basically we're working around the hardware by pretending to vote for a dummy lower voltage whenever Linux wants the regulator disabled. From Linux's point of view everything works as normal--we just tell the hardware a falsehood so it doesn't count our vote for a voltage while the regulator is disabled. -Doug -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html