2019-10-02 19:16:33

by Jeffrey Hugo

[permalink] [raw]
Subject: [PATCH] arm64: dts: qcom: msm8998-clamshell: Remove retention idle state

The retention idle state does not appear to be supported by the firmware
present on the msm8998 laptops since the state is advertised as disabled
in ACPI, and attempting to enable the state in DT is observed to result
in boot hangs. Therefore, remove the state from use to address the
observed issues.

Fixes: 2c6d2d3a580a (arm64: dts: qcom: Add Lenovo Miix 630)
Signed-off-by: Jeffrey Hugo <[email protected]>
---
.../boot/dts/qcom/msm8998-clamshell.dtsi | 37 +++++++++++++++++++
1 file changed, 37 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8998-clamshell.dtsi b/arch/arm64/boot/dts/qcom/msm8998-clamshell.dtsi
index 9682d4dd7496..1bae90705746 100644
--- a/arch/arm64/boot/dts/qcom/msm8998-clamshell.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8998-clamshell.dtsi
@@ -23,6 +23,43 @@
};
};

+/*
+ * The laptop FW does not appear to support the retention state as it is
+ * not advertised as enabled in ACPI, and enabling it in DT can cause boot
+ * hangs.
+ */
+&CPU0 {
+ cpu-idle-states = <&LITTLE_CPU_SLEEP_1>;
+};
+
+&CPU1 {
+ cpu-idle-states = <&LITTLE_CPU_SLEEP_1>;
+};
+
+&CPU2 {
+ cpu-idle-states = <&LITTLE_CPU_SLEEP_1>;
+};
+
+&CPU3 {
+ cpu-idle-states = <&LITTLE_CPU_SLEEP_1>;
+};
+
+&CPU4 {
+ cpu-idle-states = <&BIG_CPU_SLEEP_1>;
+};
+
+&CPU5 {
+ cpu-idle-states = <&BIG_CPU_SLEEP_1>;
+};
+
+&CPU6 {
+ cpu-idle-states = <&BIG_CPU_SLEEP_1>;
+};
+
+&CPU7 {
+ cpu-idle-states = <&BIG_CPU_SLEEP_1>;
+};
+
&qusb2phy {
status = "okay";

--
2.17.1


2019-10-04 08:08:20

by Amit Kucheria

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: qcom: msm8998-clamshell: Remove retention idle state

On Thu, Oct 3, 2019 at 12:44 AM Jeffrey Hugo <[email protected]> wrote:
>
> The retention idle state does not appear to be supported by the firmware
> present on the msm8998 laptops since the state is advertised as disabled
> in ACPI, and attempting to enable the state in DT is observed to result
> in boot hangs. Therefore, remove the state from use to address the
> observed issues.
>
> Fixes: 2c6d2d3a580a (arm64: dts: qcom: Add Lenovo Miix 630)
> Signed-off-by: Jeffrey Hugo <[email protected]>

Reviewed-by: Amit Kucheria <[email protected]>

> ---
> .../boot/dts/qcom/msm8998-clamshell.dtsi | 37 +++++++++++++++++++
> 1 file changed, 37 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/msm8998-clamshell.dtsi b/arch/arm64/boot/dts/qcom/msm8998-clamshell.dtsi
> index 9682d4dd7496..1bae90705746 100644
> --- a/arch/arm64/boot/dts/qcom/msm8998-clamshell.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8998-clamshell.dtsi
> @@ -23,6 +23,43 @@
> };
> };
>
> +/*
> + * The laptop FW does not appear to support the retention state as it is
> + * not advertised as enabled in ACPI, and enabling it in DT can cause boot
> + * hangs.
> + */
> +&CPU0 {
> + cpu-idle-states = <&LITTLE_CPU_SLEEP_1>;
> +};
> +
> +&CPU1 {
> + cpu-idle-states = <&LITTLE_CPU_SLEEP_1>;
> +};
> +
> +&CPU2 {
> + cpu-idle-states = <&LITTLE_CPU_SLEEP_1>;
> +};
> +
> +&CPU3 {
> + cpu-idle-states = <&LITTLE_CPU_SLEEP_1>;
> +};
> +
> +&CPU4 {
> + cpu-idle-states = <&BIG_CPU_SLEEP_1>;
> +};
> +
> +&CPU5 {
> + cpu-idle-states = <&BIG_CPU_SLEEP_1>;
> +};
> +
> +&CPU6 {
> + cpu-idle-states = <&BIG_CPU_SLEEP_1>;
> +};
> +
> +&CPU7 {
> + cpu-idle-states = <&BIG_CPU_SLEEP_1>;
> +};
> +
> &qusb2phy {
> status = "okay";
>
> --
> 2.17.1
>