2019-10-14 12:11:17

by Niklas Cassel

[permalink] [raw]
Subject: [PATCH] arm64: dts: qcom: qcs404-evb: Set vdd_apc regulator in high power mode

vdd_apc is the regulator that supplies the main CPU cluster.

At sudden CPU load changes, we have noticed invalid page faults on
addresses with all bits shifted, as well as on addresses with individual
bits flipped.

By putting the vdd_apc regulator in high power mode, the voltage drops
during sudden load changes will be less severe, and we have not been able
to reproduce the invalid page faults with the regulator in this mode.

Signed-off-by: Niklas Cassel <[email protected]>
Suggested-by: Bjorn Andersson <[email protected]>
---
arch/arm64/boot/dts/qcom/qcs404-evb.dtsi | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/arm64/boot/dts/qcom/qcs404-evb.dtsi b/arch/arm64/boot/dts/qcom/qcs404-evb.dtsi
index 501a7330dbc8..522d3ef72df5 100644
--- a/arch/arm64/boot/dts/qcom/qcs404-evb.dtsi
+++ b/arch/arm64/boot/dts/qcom/qcs404-evb.dtsi
@@ -73,6 +73,7 @@
regulator-always-on;
regulator-boot-on;
regulator-name = "vdd_apc";
+ regulator-initial-mode = <1>;
regulator-min-microvolt = <1048000>;
regulator-max-microvolt = <1384000>;
};
--
2.21.0


2019-10-16 12:52:17

by Vinod Koul

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: qcom: qcs404-evb: Set vdd_apc regulator in high power mode

On 14-10-19, 14:09, Niklas Cassel wrote:
> vdd_apc is the regulator that supplies the main CPU cluster.
>
> At sudden CPU load changes, we have noticed invalid page faults on
> addresses with all bits shifted, as well as on addresses with individual
> bits flipped.
>
> By putting the vdd_apc regulator in high power mode, the voltage drops
> during sudden load changes will be less severe, and we have not been able
> to reproduce the invalid page faults with the regulator in this mode.

Reviewed-by: Vinod Koul <[email protected]>

This seems a good bug fix, maybe CC stable?

>
> Signed-off-by: Niklas Cassel <[email protected]>
> Suggested-by: Bjorn Andersson <[email protected]>
> ---
> arch/arm64/boot/dts/qcom/qcs404-evb.dtsi | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/qcs404-evb.dtsi b/arch/arm64/boot/dts/qcom/qcs404-evb.dtsi
> index 501a7330dbc8..522d3ef72df5 100644
> --- a/arch/arm64/boot/dts/qcom/qcs404-evb.dtsi
> +++ b/arch/arm64/boot/dts/qcom/qcs404-evb.dtsi
> @@ -73,6 +73,7 @@
> regulator-always-on;
> regulator-boot-on;
> regulator-name = "vdd_apc";
> + regulator-initial-mode = <1>;
> regulator-min-microvolt = <1048000>;
> regulator-max-microvolt = <1384000>;
> };
> --
> 2.21.0

--
~Vinod