mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/8] arm64: dts: qcom: Add t-power-on-us property for PCIe root ports
@ 2026-09-11  6:50 Krishna Chaitanya Chundru
  2026-09-11  6:50 ` [PATCH 1/8] arm64: dts: qcom: kodiak: " Krishna Chaitanya Chundru
                   ` (8 more replies)
  0 siblings, 9 replies; 15+ messages in thread
From: Krishna Chaitanya Chundru @ 2026-09-11  6:50 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, mani, Krishna Chaitanya Chundru

The Qualcomm PCIe host controller driver added support for parsing the
-power-on-us property[1] from each Root Port node and programming it as
art of host initialization (PCI: qcom: Program T_POWER_ON) [2]. Prior to
this, T_POWER_ON was expected to be programmed correctly in hardware or
by the bootloader, but not all targets support this, which can lead to an
incorrectly calculated LTR_L1.2_THRESHOLD in aspm.c and improper L1.2 exit
behavior.

This series adds the t-power-on-us = <80>; property to the PCIe root
port node(s) on the following targets, so the controller programs the
correct T_POWER_ON value instead of relying on the (currently incorrect)
hardware default:

- kodiak
- lemans
- monaco
- hamoa
- glymur
- talos
- sm8750
- kaanapali

[1] https://lore.kernel.org/all/20260205093346.667898-1-krishna.chundru@oss.qualcomm.com/
[2] https://lore.kernel.org/all/20260428-t_power_on_fux-v5-0-f1ef926a91ff@oss.qualcomm.com/

Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
---
Krishna Chaitanya Chundru (8):
      arm64: dts: qcom: kodiak: Add t-power-on-us property for PCIe root ports
      arm64: dts: qcom: lemans: Add t-power-on-us property for PCIe root ports
      arm64: dts: qcom: monaco: Add t-power-on-us property for PCIe root ports
      arm64: dts: qcom: hamoa: Add t-power-on-us property for PCIe root ports
      arm64: dts: qcom: glymur: Add t-power-on-us property for PCIe root ports
      arm64: dts: qcom: talos: Add t-power-on-us property for PCIe root port
      arm64: dts: qcom: sm8750: Add t-power-on-us property for PCIe root port
      arm64: dts: qcom: kaanapali: Add t-power-on-us property for PCIe root port

 arch/arm64/boot/dts/qcom/glymur.dtsi    | 8 ++++++++
 arch/arm64/boot/dts/qcom/hamoa.dtsi     | 8 ++++++++
 arch/arm64/boot/dts/qcom/kaanapali.dtsi | 2 ++
 arch/arm64/boot/dts/qcom/kodiak.dtsi    | 4 ++++
 arch/arm64/boot/dts/qcom/lemans.dtsi    | 4 ++++
 arch/arm64/boot/dts/qcom/monaco.dtsi    | 4 ++++
 arch/arm64/boot/dts/qcom/sm8750.dtsi    | 2 ++
 arch/arm64/boot/dts/qcom/talos.dtsi     | 2 ++
 8 files changed, 34 insertions(+)
---
base-commit: 08df884136f1c1197bab2a27814404fd329d9aac
change-id: 20260911-t_pwr_on-069f454ebb23

Best regards,
--  
Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 1/8] arm64: dts: qcom: kodiak: Add t-power-on-us property for PCIe root ports
  2026-09-11  6:50 [PATCH 0/8] arm64: dts: qcom: Add t-power-on-us property for PCIe root ports Krishna Chaitanya Chundru
@ 2026-09-11  6:50 ` Krishna Chaitanya Chundru
  2026-10-16 10:32   ` Konrad Dybcio
  2026-09-11  6:50 ` [PATCH 2/8] arm64: dts: qcom: lemans: " Krishna Chaitanya Chundru
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 15+ messages in thread
From: Krishna Chaitanya Chundru @ 2026-09-11  6:50 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, mani, Krishna Chaitanya Chundru

Currently the PCIe controller is not programming the T_POWER_ON value,
which can result in improper L1.2 exit behavior. Add the
t-power-on-us property to the PCIe root ports so that this value is
correctly programmed during host initialization.

Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/kodiak.dtsi | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/kodiak.dtsi b/arch/arm64/boot/dts/qcom/kodiak.dtsi
index f2da3706d5c8..54acc7d9bdea 100644
--- a/arch/arm64/boot/dts/qcom/kodiak.dtsi
+++ b/arch/arm64/boot/dts/qcom/kodiak.dtsi
@@ -2306,6 +2306,8 @@ pcie0_port: pcie@0 {
 				#address-cells = <3>;
 				#size-cells = <2>;
 				ranges;
+
+				t-power-on-us = <80>;
 			};
 		};
 
@@ -2439,6 +2441,8 @@ pcie1_port0: pcie@0 {
 				#address-cells = <3>;
 				#size-cells = <2>;
 				ranges;
+
+				t-power-on-us = <80>;
 			};
 		};
 

-- 
2.34.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 2/8] arm64: dts: qcom: lemans: Add t-power-on-us property for PCIe root ports
  2026-09-11  6:50 [PATCH 0/8] arm64: dts: qcom: Add t-power-on-us property for PCIe root ports Krishna Chaitanya Chundru
  2026-09-11  6:50 ` [PATCH 1/8] arm64: dts: qcom: kodiak: " Krishna Chaitanya Chundru
@ 2026-09-11  6:50 ` Krishna Chaitanya Chundru
  2026-09-11  6:50 ` [PATCH 3/8] arm64: dts: qcom: monaco: " Krishna Chaitanya Chundru
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 15+ messages in thread
From: Krishna Chaitanya Chundru @ 2026-09-11  6:50 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, mani, Krishna Chaitanya Chundru

Currently the PCIe controller is not programming the T_POWER_ON value,
which can result in improper L1.2 exit behavior. Add the
t-power-on-us property to the PCIe root ports so that this value is
correctly programmed during host initialization.

Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/lemans.dtsi | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/lemans.dtsi b/arch/arm64/boot/dts/qcom/lemans.dtsi
index 695eae1b7256..615a9bfda237 100644
--- a/arch/arm64/boot/dts/qcom/lemans.dtsi
+++ b/arch/arm64/boot/dts/qcom/lemans.dtsi
@@ -2770,6 +2770,8 @@ pcieport0: pcie@0 {
 				#address-cells = <3>;
 				#size-cells = <2>;
 				ranges;
+
+				t-power-on-us = <80>;
 			};
 		};
 
@@ -2943,6 +2945,8 @@ pcie@0 {
 				#address-cells = <3>;
 				#size-cells = <2>;
 				ranges;
+
+				t-power-on-us = <80>;
 			};
 		};
 

-- 
2.34.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 3/8] arm64: dts: qcom: monaco: Add t-power-on-us property for PCIe root ports
  2026-09-11  6:50 [PATCH 0/8] arm64: dts: qcom: Add t-power-on-us property for PCIe root ports Krishna Chaitanya Chundru
  2026-09-11  6:50 ` [PATCH 1/8] arm64: dts: qcom: kodiak: " Krishna Chaitanya Chundru
  2026-09-11  6:50 ` [PATCH 2/8] arm64: dts: qcom: lemans: " Krishna Chaitanya Chundru
@ 2026-09-11  6:50 ` Krishna Chaitanya Chundru
  2026-09-11  6:50 ` [PATCH 4/8] arm64: dts: qcom: hamoa: " Krishna Chaitanya Chundru
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 15+ messages in thread
From: Krishna Chaitanya Chundru @ 2026-09-11  6:50 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, mani, Krishna Chaitanya Chundru

Currently the PCIe controller is not programming the T_POWER_ON value,
which can result in improper L1.2 exit behavior. Add the
t-power-on-us property to the PCIe root ports so that this value is
correctly programmed during host initialization.

Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/monaco.dtsi | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/monaco.dtsi b/arch/arm64/boot/dts/qcom/monaco.dtsi
index cfe39f923224..d9c3669b5e1b 100644
--- a/arch/arm64/boot/dts/qcom/monaco.dtsi
+++ b/arch/arm64/boot/dts/qcom/monaco.dtsi
@@ -2402,6 +2402,8 @@ pcieport0: pcie@0 {
 				#size-cells = <2>;
 				ranges;
 				phys = <&pcie0_phy>;
+
+				t-power-on-us = <80>;
 			};
 		};
 
@@ -2593,6 +2595,8 @@ pcieport1: pcie@0 {
 				#size-cells = <2>;
 				ranges;
 				phys = <&pcie1_phy>;
+
+				t-power-on-us = <80>;
 			};
 		};
 

-- 
2.34.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 4/8] arm64: dts: qcom: hamoa: Add t-power-on-us property for PCIe root ports
  2026-09-11  6:50 [PATCH 0/8] arm64: dts: qcom: Add t-power-on-us property for PCIe root ports Krishna Chaitanya Chundru
                   ` (2 preceding siblings ...)
  2026-09-11  6:50 ` [PATCH 3/8] arm64: dts: qcom: monaco: " Krishna Chaitanya Chundru
@ 2026-09-11  6:50 ` Krishna Chaitanya Chundru
  2026-09-11  6:50 ` [PATCH 5/8] arm64: dts: qcom: glymur: " Krishna Chaitanya Chundru
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 15+ messages in thread
From: Krishna Chaitanya Chundru @ 2026-09-11  6:50 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, mani, Krishna Chaitanya Chundru

Currently the PCIe controller is not programming the T_POWER_ON value,
which can result in improper L1.2 exit behavior. Add the
t-power-on-us property to the PCIe root ports so that this value is
correctly programmed during host initialization.

Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/hamoa.dtsi | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/hamoa.dtsi b/arch/arm64/boot/dts/qcom/hamoa.dtsi
index 8a96ea1bdb9c..2fbcdd4e9088 100644
--- a/arch/arm64/boot/dts/qcom/hamoa.dtsi
+++ b/arch/arm64/boot/dts/qcom/hamoa.dtsi
@@ -3374,6 +3374,8 @@ pcie3_port0: pcie@0 {
 				#address-cells = <3>;
 				#size-cells = <2>;
 				ranges;
+
+				t-power-on-us = <80>;
 			};
 		};
 
@@ -3514,6 +3516,8 @@ pcie6a_port0: pcie@0 {
 				#address-cells = <3>;
 				#size-cells = <2>;
 				ranges;
+
+				t-power-on-us = <80>;
 			};
 		};
 
@@ -3654,6 +3658,8 @@ pcie5_port0: pcie@0 {
 				#address-cells = <3>;
 				#size-cells = <2>;
 				ranges;
+
+				t-power-on-us = <80>;
 			};
 		};
 
@@ -3793,6 +3799,8 @@ pcie4_port0: pcie@0 {
 				#address-cells = <3>;
 				#size-cells = <2>;
 				ranges;
+
+				t-power-on-us = <80>;
 			};
 		};
 

-- 
2.34.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 5/8] arm64: dts: qcom: glymur: Add t-power-on-us property for PCIe root ports
  2026-09-11  6:50 [PATCH 0/8] arm64: dts: qcom: Add t-power-on-us property for PCIe root ports Krishna Chaitanya Chundru
                   ` (3 preceding siblings ...)
  2026-09-11  6:50 ` [PATCH 4/8] arm64: dts: qcom: hamoa: " Krishna Chaitanya Chundru
@ 2026-09-11  6:50 ` Krishna Chaitanya Chundru
  2026-09-11  6:50 ` [PATCH 6/8] arm64: dts: qcom: talos: Add t-power-on-us property for PCIe root port Krishna Chaitanya Chundru
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 15+ messages in thread
From: Krishna Chaitanya Chundru @ 2026-09-11  6:50 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, mani, Krishna Chaitanya Chundru

Currently the PCIe controller is not programming the T_POWER_ON value,
which can result in improper L1.2 exit behavior. Add the
t-power-on-us property to the PCIe root ports so that this value is
correctly programmed during host initialization.

Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/glymur.dtsi | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/glymur.dtsi b/arch/arm64/boot/dts/qcom/glymur.dtsi
index f04058d2e089..f7d7d76830b3 100644
--- a/arch/arm64/boot/dts/qcom/glymur.dtsi
+++ b/arch/arm64/boot/dts/qcom/glymur.dtsi
@@ -3001,6 +3001,8 @@ pcie4_port0: pcie@0 {
 				#size-cells = <2>;
 				ranges;
 
+				t-power-on-us = <80>;
+
 				port {
 					pcie4_port0_ep: endpoint {
 					};
@@ -3273,6 +3275,8 @@ pcie5_port0: pcie@0 {
 				#size-cells = <2>;
 				ranges;
 
+				t-power-on-us = <80>;
+
 				port {
 					pcie5_port0_ep: endpoint {
 					};
@@ -3489,6 +3493,8 @@ pcie6_port0: pcie@0 {
 				#size-cells = <2>;
 				ranges;
 
+				t-power-on-us = <80>;
+
 				port {
 					pcie6_port0_ep: endpoint {
 					};
@@ -3759,6 +3765,8 @@ pcie3b_port0: pcie@0 {
 				#size-cells = <2>;
 				ranges;
 
+				t-power-on-us = <80>;
+
 				port {
 					pcie3b_port0_ep: endpoint {
 					};

-- 
2.34.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 6/8] arm64: dts: qcom: talos: Add t-power-on-us property for PCIe root port
  2026-09-11  6:50 [PATCH 0/8] arm64: dts: qcom: Add t-power-on-us property for PCIe root ports Krishna Chaitanya Chundru
                   ` (4 preceding siblings ...)
  2026-09-11  6:50 ` [PATCH 5/8] arm64: dts: qcom: glymur: " Krishna Chaitanya Chundru
@ 2026-09-11  6:50 ` Krishna Chaitanya Chundru
  2026-09-11  6:50 ` [PATCH 7/8] arm64: dts: qcom: sm8750: " Krishna Chaitanya Chundru
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 15+ messages in thread
From: Krishna Chaitanya Chundru @ 2026-09-11  6:50 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, mani, Krishna Chaitanya Chundru

Currently the PCIe controller is not programming the T_POWER_ON value,
which can result in improper L1.2 exit behavior. Add the
t-power-on-us property to the PCIe root port so that this value is
correctly programmed during host initialization.

Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/talos.dtsi | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/talos.dtsi b/arch/arm64/boot/dts/qcom/talos.dtsi
index eedfdce3c479..ceb1dfc5189d 100644
--- a/arch/arm64/boot/dts/qcom/talos.dtsi
+++ b/arch/arm64/boot/dts/qcom/talos.dtsi
@@ -1401,6 +1401,8 @@ pcie_port0: pcie@0 {
 				#size-cells = <2>;
 				ranges;
 				bus-range = <0x01 0xff>;
+
+				t-power-on-us = <80>;
 			};
 		};
 

-- 
2.34.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 7/8] arm64: dts: qcom: sm8750: Add t-power-on-us property for PCIe root port
  2026-09-11  6:50 [PATCH 0/8] arm64: dts: qcom: Add t-power-on-us property for PCIe root ports Krishna Chaitanya Chundru
                   ` (5 preceding siblings ...)
  2026-09-11  6:50 ` [PATCH 6/8] arm64: dts: qcom: talos: Add t-power-on-us property for PCIe root port Krishna Chaitanya Chundru
@ 2026-09-11  6:50 ` Krishna Chaitanya Chundru
  2026-09-11  6:50 ` [PATCH 8/8] arm64: dts: qcom: kaanapali: " Krishna Chaitanya Chundru
  2026-09-21  8:39 ` [PATCH 0/8] arm64: dts: qcom: Add t-power-on-us property for PCIe root ports Konrad Dybcio
  8 siblings, 0 replies; 15+ messages in thread
From: Krishna Chaitanya Chundru @ 2026-09-11  6:50 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, mani, Krishna Chaitanya Chundru

Currently the PCIe controller is not programming the T_POWER_ON value,
which can result in improper L1.2 exit behavior. Add the
t-power-on-us property to the PCIe root port so that this value is
correctly programmed during host initialization.

Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/sm8750.dtsi | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8750.dtsi b/arch/arm64/boot/dts/qcom/sm8750.dtsi
index dd738d13df8e..bb57385678f4 100644
--- a/arch/arm64/boot/dts/qcom/sm8750.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8750.dtsi
@@ -5577,6 +5577,8 @@ pcieport0: pcie@0 {
 				#size-cells = <2>;
 				ranges;
 				phys = <&pcie0_phy>;
+
+				t-power-on-us = <80>;
 			};
 		};
 

-- 
2.34.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 8/8] arm64: dts: qcom: kaanapali: Add t-power-on-us property for PCIe root port
  2026-09-11  6:50 [PATCH 0/8] arm64: dts: qcom: Add t-power-on-us property for PCIe root ports Krishna Chaitanya Chundru
                   ` (6 preceding siblings ...)
  2026-09-11  6:50 ` [PATCH 7/8] arm64: dts: qcom: sm8750: " Krishna Chaitanya Chundru
@ 2026-09-11  6:50 ` Krishna Chaitanya Chundru
  2026-09-21  8:39 ` [PATCH 0/8] arm64: dts: qcom: Add t-power-on-us property for PCIe root ports Konrad Dybcio
  8 siblings, 0 replies; 15+ messages in thread
From: Krishna Chaitanya Chundru @ 2026-09-11  6:50 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, mani, Krishna Chaitanya Chundru

Currently the PCIe controller is not programming the T_POWER_ON value,
which can result in improper L1.2 exit behavior. Add the
t-power-on-us property to the PCIe root port so that this value is
correctly programmed during host initialization.

Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/kaanapali.dtsi | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/kaanapali.dtsi b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
index 131fd2a16c54..1a47fafe7265 100644
--- a/arch/arm64/boot/dts/qcom/kaanapali.dtsi
+++ b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
@@ -2456,6 +2456,8 @@ pcie_port0: pcie@0 {
 				#size-cells = <2>;
 				ranges;
 				phys = <&pcie0_phy>;
+
+				t-power-on-us = <80>;
 			};
 		};
 

-- 
2.34.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 0/8] arm64: dts: qcom: Add t-power-on-us property for PCIe root ports
  2026-09-11  6:50 [PATCH 0/8] arm64: dts: qcom: Add t-power-on-us property for PCIe root ports Krishna Chaitanya Chundru
                   ` (7 preceding siblings ...)
  2026-09-11  6:50 ` [PATCH 8/8] arm64: dts: qcom: kaanapali: " Krishna Chaitanya Chundru
@ 2026-09-21  8:39 ` Konrad Dybcio
  2026-09-21 11:10   ` Krishna Chaitanya Chundru
  8 siblings, 1 reply; 15+ messages in thread
From: Konrad Dybcio @ 2026-09-21  8:39 UTC (permalink / raw)
  To: Krishna Chaitanya Chundru, Bjorn Andersson, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, mani

On 9/11/26 8:50 AM, Krishna Chaitanya Chundru wrote:
> The Qualcomm PCIe host controller driver added support for parsing the
> -power-on-us property[1] from each Root Port node and programming it as
> art of host initialization (PCI: qcom: Program T_POWER_ON) [2]. Prior to
> this, T_POWER_ON was expected to be programmed correctly in hardware or
> by the bootloader, but not all targets support this, which can lead to an
> incorrectly calculated LTR_L1.2_THRESHOLD in aspm.c and improper L1.2 exit
> behavior.

This is a good problem description. Does it have observable effects
that could also be mentioned here, beyond perhaps lspci reporting
an odd value?


> This series adds the t-power-on-us = <80>; property to the PCIe root
> port node(s) on the following targets, so the controller programs the
> correct T_POWER_ON value instead of relying on the (currently incorrect)
> hardware default:
> 
> - kodiak
> - lemans
> - monaco
> - hamoa
> - glymur
> - talos
> - sm8750
> - kaanapali

Because you said "currently incorrect", it clearly applies to all of
these platforms. Are other ones that we support in the tree also
affected?

Konrad

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 0/8] arm64: dts: qcom: Add t-power-on-us property for PCIe root ports
  2026-09-21  8:39 ` [PATCH 0/8] arm64: dts: qcom: Add t-power-on-us property for PCIe root ports Konrad Dybcio
@ 2026-09-21 11:10   ` Krishna Chaitanya Chundru
  2026-09-21 11:34     ` Manivannan Sadhasivam
  0 siblings, 1 reply; 15+ messages in thread
From: Krishna Chaitanya Chundru @ 2026-09-21 11:10 UTC (permalink / raw)
  To: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, mani



On 9/21/2026 2:09 PM, Konrad Dybcio wrote:
> On 9/11/26 8:50 AM, Krishna Chaitanya Chundru wrote:
>> The Qualcomm PCIe host controller driver added support for parsing the
>> -power-on-us property[1] from each Root Port node and programming it as
>> art of host initialization (PCI: qcom: Program T_POWER_ON) [2]. Prior to
>> this, T_POWER_ON was expected to be programmed correctly in hardware or
>> by the bootloader, but not all targets support this, which can lead to an
>> incorrectly calculated LTR_L1.2_THRESHOLD in aspm.c and improper L1.2 exit
>> behavior.
> This is a good problem description. Does it have observable effects
> that could also be mentioned here, beyond perhaps lspci reporting
> an odd value?
we haven't seen direct problem till now, but we might seen some issue due to
incorrect LTR_L1.2_THRESHOLD value.
>> This series adds the t-power-on-us = <80>; property to the PCIe root
>> port node(s) on the following targets, so the controller programs the
>> correct T_POWER_ON value instead of relying on the (currently incorrect)
>> hardware default:
>>
>> - kodiak
>> - lemans
>> - monaco
>> - hamoa
>> - glymur
>> - talos
>> - sm8750
>> - kaanapali
> Because you said "currently incorrect", it clearly applies to all of
> these platforms. Are other ones that we support in the tree also
> affected?
yes all targets  will be affected, not sure about ipq platforms.
I added mostly active targets which we are currently using, I can extend if
recommended.

- Krishna Chaitanya.
>
> Konrad


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 0/8] arm64: dts: qcom: Add t-power-on-us property for PCIe root ports
  2026-09-21 11:10   ` Krishna Chaitanya Chundru
@ 2026-09-21 11:34     ` Manivannan Sadhasivam
  2026-09-21 11:44       ` Konrad Dybcio
  0 siblings, 1 reply; 15+ messages in thread
From: Manivannan Sadhasivam @ 2026-09-21 11:34 UTC (permalink / raw)
  To: Krishna Chaitanya Chundru
  Cc: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
	linux-kernel

On Mon, Sep 21, 2026 at 04:40:43PM +0530, Krishna Chaitanya Chundru wrote:
> 
> 
> On 9/21/2026 2:09 PM, Konrad Dybcio wrote:
> > On 9/11/26 8:50 AM, Krishna Chaitanya Chundru wrote:
> >> The Qualcomm PCIe host controller driver added support for parsing the
> >> -power-on-us property[1] from each Root Port node and programming it as
> >> art of host initialization (PCI: qcom: Program T_POWER_ON) [2]. Prior to
> >> this, T_POWER_ON was expected to be programmed correctly in hardware or
> >> by the bootloader, but not all targets support this, which can lead to an
> >> incorrectly calculated LTR_L1.2_THRESHOLD in aspm.c and improper L1.2 exit
> >> behavior.
> > This is a good problem description. Does it have observable effects
> > that could also be mentioned here, beyond perhaps lspci reporting
> > an odd value?
> we haven't seen direct problem till now, but we might seen some issue due to
> incorrect LTR_L1.2_THRESHOLD value.

Can you specify what issue can be seen without this series? I'd assume the
link will fail to enter L1.2 and will result in slightly more power drain as
the link can only enter L1.1.

- Mani

-- 
மணிவண்ணன் சதாசிவம்

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 0/8] arm64: dts: qcom: Add t-power-on-us property for PCIe root ports
  2026-09-21 11:34     ` Manivannan Sadhasivam
@ 2026-09-21 11:44       ` Konrad Dybcio
  2026-09-21 11:54         ` Manivannan Sadhasivam
  0 siblings, 1 reply; 15+ messages in thread
From: Konrad Dybcio @ 2026-09-21 11:44 UTC (permalink / raw)
  To: Manivannan Sadhasivam, Krishna Chaitanya Chundru
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-arm-msm, devicetree, linux-kernel

On 9/21/26 1:34 PM, Manivannan Sadhasivam wrote:
> On Mon, Sep 21, 2026 at 04:40:43PM +0530, Krishna Chaitanya Chundru wrote:
>>
>>
>> On 9/21/2026 2:09 PM, Konrad Dybcio wrote:
>>> On 9/11/26 8:50 AM, Krishna Chaitanya Chundru wrote:
>>>> The Qualcomm PCIe host controller driver added support for parsing the
>>>> -power-on-us property[1] from each Root Port node and programming it as
>>>> art of host initialization (PCI: qcom: Program T_POWER_ON) [2]. Prior to
>>>> this, T_POWER_ON was expected to be programmed correctly in hardware or
>>>> by the bootloader, but not all targets support this, which can lead to an
>>>> incorrectly calculated LTR_L1.2_THRESHOLD in aspm.c and improper L1.2 exit
>>>> behavior.
>>> This is a good problem description. Does it have observable effects
>>> that could also be mentioned here, beyond perhaps lspci reporting
>>> an odd value?
>> we haven't seen direct problem till now, but we might seen some issue due to
>> incorrect LTR_L1.2_THRESHOLD value.
> 
> Can you specify what issue can be seen without this series? I'd assume the
> link will fail to enter L1.2 and will result in slightly more power drain as
> the link can only enter L1.1.

Would that produce an explicit warning message somewhere?

i.e. can I reasonably be able to tell I'm missing this change and
I need it?

(if not, this is of course not a blocker, but the answer to that
question is always worth sharing)

Konrad

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 0/8] arm64: dts: qcom: Add t-power-on-us property for PCIe root ports
  2026-09-21 11:44       ` Konrad Dybcio
@ 2026-09-21 11:54         ` Manivannan Sadhasivam
  0 siblings, 0 replies; 15+ messages in thread
From: Manivannan Sadhasivam @ 2026-09-21 11:54 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: Krishna Chaitanya Chundru, Bjorn Andersson, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-msm,
	devicetree, linux-kernel

On Mon, Sep 21, 2026 at 01:44:50PM +0200, Konrad Dybcio wrote:
> On 9/21/26 1:34 PM, Manivannan Sadhasivam wrote:
> > On Mon, Sep 21, 2026 at 04:40:43PM +0530, Krishna Chaitanya Chundru wrote:
> >>
> >>
> >> On 9/21/2026 2:09 PM, Konrad Dybcio wrote:
> >>> On 9/11/26 8:50 AM, Krishna Chaitanya Chundru wrote:
> >>>> The Qualcomm PCIe host controller driver added support for parsing the
> >>>> -power-on-us property[1] from each Root Port node and programming it as
> >>>> art of host initialization (PCI: qcom: Program T_POWER_ON) [2]. Prior to
> >>>> this, T_POWER_ON was expected to be programmed correctly in hardware or
> >>>> by the bootloader, but not all targets support this, which can lead to an
> >>>> incorrectly calculated LTR_L1.2_THRESHOLD in aspm.c and improper L1.2 exit
> >>>> behavior.
> >>> This is a good problem description. Does it have observable effects
> >>> that could also be mentioned here, beyond perhaps lspci reporting
> >>> an odd value?
> >> we haven't seen direct problem till now, but we might seen some issue due to
> >> incorrect LTR_L1.2_THRESHOLD value.
> > 
> > Can you specify what issue can be seen without this series? I'd assume the
> > link will fail to enter L1.2 and will result in slightly more power drain as
> > the link can only enter L1.1.
> 

[Correcting my own reply]

The power drain issue will only happen if the default value is higher than the
programmed one. If the default is lower, L1.2 would be entered too aggressively
and the link may fail to exit L1.2, resulting in LDn. This would be
catastrophic.

> Would that produce an explicit warning message somewhere?
> 

Nope. PCI core would happily use whatever threshold programmed in the registers.

> i.e. can I reasonably be able to tell I'm missing this change and
> I need it?
> 
> (if not, this is of course not a blocker, but the answer to that
> question is always worth sharing)
> 

We can warn in the pcie-qcom driver though as it parses this property. But we
should only do so for SoCs included in this series, selectively.

- Mani

-- 
மணிவண்ணன் சதாசிவம்

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 1/8] arm64: dts: qcom: kodiak: Add t-power-on-us property for PCIe root ports
  2026-09-11  6:50 ` [PATCH 1/8] arm64: dts: qcom: kodiak: " Krishna Chaitanya Chundru
@ 2026-10-16 10:32   ` Konrad Dybcio
  0 siblings, 0 replies; 15+ messages in thread
From: Konrad Dybcio @ 2026-10-16 10:32 UTC (permalink / raw)
  To: Krishna Chaitanya Chundru, Bjorn Andersson, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, mani

On 9/11/26 8:50 AM, Krishna Chaitanya Chundru wrote:
> Currently the PCIe controller is not programming the T_POWER_ON value,
> which can result in improper L1.2 exit behavior. Add the
> t-power-on-us property to the PCIe root ports so that this value is
> correctly programmed during host initialization.
> 
> Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
> ---
>  arch/arm64/boot/dts/qcom/kodiak.dtsi | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/kodiak.dtsi b/arch/arm64/boot/dts/qcom/kodiak.dtsi
> index f2da3706d5c8..54acc7d9bdea 100644
> --- a/arch/arm64/boot/dts/qcom/kodiak.dtsi
> +++ b/arch/arm64/boot/dts/qcom/kodiak.dtsi
> @@ -2306,6 +2306,8 @@ pcie0_port: pcie@0 {
>  				#address-cells = <3>;
>  				#size-cells = <2>;
>  				ranges;
> +
> +				t-power-on-us = <80>;

nit: please put it there in all patches:

@@ -2316,6 +2316,8 @@ pcie0_port: pcie@0 {
 
                                phys = <&pcie0_phy>;
 
+                               t-power-on-us = <80>;
+
                                #address-cells = <3>;
                                #size-cells = <2>;
                                ranges;

and re-run the list of SoCs that need it (LLM should do at least
the first part for you in ~20 seconds)

Konrad

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2026-10-16 10:32 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-11  6:50 [PATCH 0/8] arm64: dts: qcom: Add t-power-on-us property for PCIe root ports Krishna Chaitanya Chundru
2026-09-11  6:50 ` [PATCH 1/8] arm64: dts: qcom: kodiak: " Krishna Chaitanya Chundru
2026-10-16 10:32   ` Konrad Dybcio
2026-09-11  6:50 ` [PATCH 2/8] arm64: dts: qcom: lemans: " Krishna Chaitanya Chundru
2026-09-11  6:50 ` [PATCH 3/8] arm64: dts: qcom: monaco: " Krishna Chaitanya Chundru
2026-09-11  6:50 ` [PATCH 4/8] arm64: dts: qcom: hamoa: " Krishna Chaitanya Chundru
2026-09-11  6:50 ` [PATCH 5/8] arm64: dts: qcom: glymur: " Krishna Chaitanya Chundru
2026-09-11  6:50 ` [PATCH 6/8] arm64: dts: qcom: talos: Add t-power-on-us property for PCIe root port Krishna Chaitanya Chundru
2026-09-11  6:50 ` [PATCH 7/8] arm64: dts: qcom: sm8750: " Krishna Chaitanya Chundru
2026-09-11  6:50 ` [PATCH 8/8] arm64: dts: qcom: kaanapali: " Krishna Chaitanya Chundru
2026-09-21  8:39 ` [PATCH 0/8] arm64: dts: qcom: Add t-power-on-us property for PCIe root ports Konrad Dybcio
2026-09-21 11:10   ` Krishna Chaitanya Chundru
2026-09-21 11:34     ` Manivannan Sadhasivam
2026-09-21 11:44       ` Konrad Dybcio
2026-09-21 11:54         ` Manivannan Sadhasivam

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®