On Wed, May 30, 2018 at 09:41:55AM -0700, Doug Anderson wrote: > On Wed, May 30, 2018 at 9:36 AM, Mark Brown wrote: > > Yeah, and I don't think that's unreasonable for the core to do - just > > drop the voltage to the constraint minimum after it has turned off the > > regulator, then recheck and raise if needed before it enables again. > Would it do this for all regulators, though? Most regulators are > hooked up over a slow i2c bus, so that means that every regulator > disable would now do an extra i2c transfer even though for all > regulators (other than RPMh) the voltage of a regulator doesn't matter > when it's been "disabled' (from Linux's point of view). It'd only affect regulators that can vary in voltage and actually get disabled which is a pretty small subset. Most regulators are either fixed voltage or always on. > Hrmmm, I suppose maybe it'd be OK though because for most regulators > we'd use "regcache" and most regulators that we enabled/disable a lot > are not expected to change voltage in Linux (so the regcache write > would hopefully be a noop), so maybe it wouldn't be _that_ > inefficient... Even if the regulator lacks a cache we'd at least skip out on the write when we're not changing voltage as we'd do a read/modify/update cycle and stop at the modify.