Hi, On Thu, Dec 13, 2018 at 6:46 AM Jeffrey Hugo <jhugo@xxxxxxxxxxxxxx> wrote: > > On 12/13/2018 12:55 AM, Loic Poulain wrote: > > Hi Jeffrey, > > > > > > On Wed, 12 Dec 2018 at 18:23, Jeffrey Hugo <jhugo@xxxxxxxxxxxxxx > > <mailto:jhugo@xxxxxxxxxxxxxx>> wrote: > > > > On 12/12/2018 10:13 AM, Loic Poulain wrote: > > > In the same way as for msm8974-hammerhead, l21 load, used for SDCARD > > > VMMC, needs to be increased in order to prevent any voltage drop > > issues > > > (due to limited current) happening with some SDCARDS or during > > specific > > > operations (e.g. write). > > > > > > Fixes: 660a9763c6a9 (arm64: dts: qcom: db820c: Add pm8994 > > regulator node) > > > Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxxx > > <mailto:loic.poulain@xxxxxxxxxx>> > > > --- > > > arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi | 2 ++ > > > 1 file changed, 2 insertions(+) > > > > > > diff --git a/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi > > b/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi > > > index 104cad9..c15e2c0 100644 > > > --- a/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi > > > +++ b/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi > > > @@ -634,6 +634,8 @@ > > > l21 { > > > regulator-min-microvolt = > > <2950000>; > > > regulator-max-microvolt = > > <2950000>; > > > + regulator-allow-set-load; > > > + regulator-system-load = > > <200000>; > > > }; > > > l22 { > > > regulator-min-microvolt = > > <3300000>; > > > > > > > I'm curious, why not update sdhci-msm to set the load on the regulator? > > > > > > Yes you're right, and I saw that there is ongoing work: > > https://patchwork.kernel.org/patch/10630731/ > > > > Howerver I thought this change would be a quicker fix and easier to > > backport in stable trees. > > I assume all the device-tree vmmc loads will be removed at some point > > when driven from sdhci. > > > > I hadn't seen that. Ok, seems good to me. NOTE: I'm personally not convinced that adding the "set_load" calls into the SDHCI driver actually makes any sense. I believe it adds complexity for no benefit. The only time you ever need to should ever be fiddling with "set_load" calls is if the rail you're controlling has some hope of being able to run at a lower power mode. If there's no hope of it being at a lower power mode then the constraints on the rail should just force it to high power mode and be done with it. The patch here (using regulator-system-load) is one way to force it to a high power mode and seems fine, but there are other ways. See a previous discussion [1]. NOTE: IIRC the "ongoing work" patch you pointed at always sets the load to a fixed level to turn it to "high power mode" when the regulator is turned on and undoes that set_load when the regulator is turned off. That's no longer needed as of commit 5451781dadf8 ("regulator: core: Only count load for enabled consumers"). If someone comes up with a case where it's useful to keep the SD card rail turned on but in "low power mode" _then_ we should actually consider adding set_load to the SD card driver. [1] https://lkml.kernel.org/r/CAD=FV=V4WFYoKLQ72pico4HCGgLDTae7xougivv6VWOSoPhLpg@xxxxxxxxxxxxxx -Doug