devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/4] arm64: dts: qcom: qrb5165-rb5: enable DP support
@ 2023-08-17 14:59 Dmitry Baryshkov
  2023-08-17 14:59 ` [PATCH v2 1/4] arm64: dts: qcom: sm8250: Add DisplayPort device node Dmitry Baryshkov
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: Dmitry Baryshkov @ 2023-08-17 14:59 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Konrad Dybcio, Rob Clark, Sean Paul,
	Abhinav Kumar, Marijn Suijten, Rob Herring, Krzysztof Kozlowski
  Cc: Stephen Boyd, David Airlie, Daniel Vetter, linux-arm-msm,
	devicetree, dri-devel, freedreno

Implement DisplayPort support for the Qualcomm RB5 platform.

Note: while testing this, I had link training issues with several
dongles with DP connectors. Other DisplayPort-USB-C dongles (with HDMI
or VGA connectors) work perfectly.

Dependencies: [1]
Soft-dependencies: [2], [3]

[1] https://lore.kernel.org/linux-arm-msm/20230816115151.501736-1-bryan.odonoghue@linaro.org/
[2] https://lore.kernel.org/linux-arm-msm/20230709034211.4045004-1-dmitry.baryshkov@linaro.org/
[3] https://lore.kernel.org/linux-arm-msm/20230817145516.5924-1-dmitry.baryshkov@linaro.org/

Changes since v1:
 - Rebased on v9 of Bryan's patchset
 - Dropped merged dt-bindings patch

Dmitry Baryshkov (4):
  arm64: dts: qcom: sm8250: Add DisplayPort device node
  arm64: dts: qcom: qrb5165-rb5: add onboard USB-C redriver
  arm64: dts: qcom: qrb5165-rb5: enable displayport controller
  arm64: dts: qcom: qrb5165-rb5: enable DP altmode

 arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 72 ++++++++++++++++++-
 arch/arm64/boot/dts/qcom/sm8250.dtsi     | 89 ++++++++++++++++++++++++
 2 files changed, 159 insertions(+), 2 deletions(-)

-- 
2.39.2


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

* [PATCH v2 1/4] arm64: dts: qcom: sm8250: Add DisplayPort device node
  2023-08-17 14:59 [PATCH v2 0/4] arm64: dts: qcom: qrb5165-rb5: enable DP support Dmitry Baryshkov
@ 2023-08-17 14:59 ` Dmitry Baryshkov
  2023-09-20  2:12   ` Bjorn Andersson
  2023-08-17 14:59 ` [PATCH v2 2/4] arm64: dts: qcom: qrb5165-rb5: add onboard USB-C redriver Dmitry Baryshkov
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 12+ messages in thread
From: Dmitry Baryshkov @ 2023-08-17 14:59 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Konrad Dybcio, Rob Clark, Sean Paul,
	Abhinav Kumar, Marijn Suijten, Rob Herring, Krzysztof Kozlowski
  Cc: Stephen Boyd, David Airlie, Daniel Vetter, linux-arm-msm,
	devicetree, dri-devel, freedreno

Declare the displayport controller present on the Qualcomm SM8250 SoC.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 arch/arm64/boot/dts/qcom/sm8250.dtsi | 89 ++++++++++++++++++++++++++++
 1 file changed, 89 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
index eb00bbd3e1f3..8d705a1713fb 100644
--- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
@@ -3638,6 +3638,8 @@ port@1 {
 
 				port@2 {
 					reg = <2>;
+
+					usb_1_qmpphy_dp_in: endpoint {};
 				};
 			};
 		};
@@ -4405,6 +4407,14 @@ dpu_intf2_out: endpoint {
 							remote-endpoint = <&mdss_dsi1_in>;
 						};
 					};
+
+					port@2 {
+						reg = <2>;
+
+						dpu_intf0_out: endpoint {
+							remote-endpoint = <&mdss_dp_in>;
+						};
+					};
 				};
 
 				mdp_opp_table: opp-table {
@@ -4432,6 +4442,85 @@ opp-460000000 {
 				};
 			};
 
+			mdss_dp: displayport-controller@ae90000 {
+				compatible = "qcom,sm8250-dp", "qcom,sm8350-dp";
+				reg = <0 0xae90000 0 0x200>,
+				      <0 0xae90200 0 0x200>,
+				      <0 0xae90400 0 0x600>,
+				      <0 0xae91000 0 0x400>,
+				      <0 0xae91400 0 0x400>;
+				interrupt-parent = <&mdss>;
+				interrupts = <12>;
+				clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
+					 <&dispcc DISP_CC_MDSS_DP_AUX_CLK>,
+					 <&dispcc DISP_CC_MDSS_DP_LINK_CLK>,
+					 <&dispcc DISP_CC_MDSS_DP_LINK_INTF_CLK>,
+					 <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK>;
+				clock-names = "core_iface",
+					      "core_aux",
+					      "ctrl_link",
+					      "ctrl_link_iface",
+					      "stream_pixel";
+
+				assigned-clocks = <&dispcc DISP_CC_MDSS_DP_LINK_CLK_SRC>,
+						  <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK_SRC>;
+				assigned-clock-parents = <&dp_phy 0>,
+							 <&dp_phy 1>;
+
+				phys = <&dp_phy>;
+				phy-names = "dp";
+
+				#sound-dai-cells = <0>;
+
+				operating-points-v2 = <&dp_opp_table>;
+				power-domains = <&rpmhpd SM8250_MMCX>;
+
+				status = "disabled";
+
+				ports {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					port@0 {
+						reg = <0>;
+						mdss_dp_in: endpoint {
+							remote-endpoint = <&dpu_intf0_out>;
+						};
+					};
+
+					port@1 {
+						reg = <1>;
+
+						mdss_dp_out: endpoint {
+						};
+					};
+				};
+
+				dp_opp_table: opp-table {
+					compatible = "operating-points-v2";
+
+					opp-160000000 {
+						opp-hz = /bits/ 64 <160000000>;
+						required-opps = <&rpmhpd_opp_low_svs>;
+					};
+
+					opp-270000000 {
+						opp-hz = /bits/ 64 <270000000>;
+						required-opps = <&rpmhpd_opp_svs>;
+					};
+
+					opp-540000000 {
+						opp-hz = /bits/ 64 <540000000>;
+						required-opps = <&rpmhpd_opp_svs_l1>;
+					};
+
+					opp-810000000 {
+						opp-hz = /bits/ 64 <810000000>;
+						required-opps = <&rpmhpd_opp_nom>;
+					};
+				};
+			};
+
 			mdss_dsi0: dsi@ae94000 {
 				compatible = "qcom,sm8250-dsi-ctrl",
 					     "qcom,mdss-dsi-ctrl";
-- 
2.39.2


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

* [PATCH v2 2/4] arm64: dts: qcom: qrb5165-rb5: add onboard USB-C redriver
  2023-08-17 14:59 [PATCH v2 0/4] arm64: dts: qcom: qrb5165-rb5: enable DP support Dmitry Baryshkov
  2023-08-17 14:59 ` [PATCH v2 1/4] arm64: dts: qcom: sm8250: Add DisplayPort device node Dmitry Baryshkov
@ 2023-08-17 14:59 ` Dmitry Baryshkov
  2023-08-17 20:34   ` Bryan O'Donoghue
  2023-08-17 14:59 ` [PATCH v2 3/4] arm64: dts: qcom: qrb5165-rb5: enable displayport controller Dmitry Baryshkov
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 12+ messages in thread
From: Dmitry Baryshkov @ 2023-08-17 14:59 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Konrad Dybcio, Rob Clark, Sean Paul,
	Abhinav Kumar, Marijn Suijten, Rob Herring, Krzysztof Kozlowski
  Cc: Stephen Boyd, David Airlie, Daniel Vetter, linux-arm-msm,
	devicetree, dri-devel, freedreno

Add the nb7vpq904m, onboard USB-C redriver / retimer.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 52 +++++++++++++++++++++++-
 1 file changed, 50 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
index 303d07f9c6e5..a4f7a9f9c22c 100644
--- a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
+++ b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
@@ -610,6 +610,46 @@ lt9611_out: endpoint {
 /* LS-I2C1 */
 &i2c15 {
 	status = "okay";
+
+	typec-mux@1c {
+		compatible = "onnn,nb7vpq904m";
+		reg = <0x1c>;
+
+		vcc-supply = <&vreg_s4a_1p8>;
+
+		retimer-switch;
+		orientation-switch;
+
+		ports {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			port@0 {
+				reg = <0>;
+
+				redriver_usb_con_ss: endpoint {
+					remote-endpoint = <&pm8150b_typec_mux_in>;
+				};
+			};
+
+			port@1 {
+				reg = <1>;
+
+				redriver_phy_con_ss: endpoint {
+					remote-endpoint = <&usb_1_qmpphy_out>;
+					data-lanes = <0 1 2 3>;
+				};
+			};
+
+			port@2 {
+				reg = <2>;
+
+				redriver_usb_con_sbu: endpoint {
+					remote-endpoint = <&pm8150b_typec_sbu_out>;
+				};
+			};
+		};
+	};
 };
 
 &mdss {
@@ -1299,7 +1339,7 @@ &usb_1_qmpphy {
 };
 
 &usb_1_qmpphy_out {
-	remote-endpoint = <&pm8150b_typec_mux_in>;
+	remote-endpoint = <&redriver_phy_con_ss>;
 };
 
 &usb_2 {
@@ -1388,7 +1428,15 @@ pm8150b_role_switch_in: endpoint {
 			port@1 {
 				reg = <1>;
 				pm8150b_typec_mux_in: endpoint {
-					remote-endpoint = <&usb_1_qmpphy_out>;
+					remote-endpoint = <&redriver_usb_con_ss>;
+				};
+			};
+
+			port@2 {
+				reg = <2>;
+
+				pm8150b_typec_sbu_out: endpoint {
+					remote-endpoint = <&redriver_usb_con_sbu>;
 				};
 			};
 		};
-- 
2.39.2


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

* [PATCH v2 3/4] arm64: dts: qcom: qrb5165-rb5: enable displayport controller
  2023-08-17 14:59 [PATCH v2 0/4] arm64: dts: qcom: qrb5165-rb5: enable DP support Dmitry Baryshkov
  2023-08-17 14:59 ` [PATCH v2 1/4] arm64: dts: qcom: sm8250: Add DisplayPort device node Dmitry Baryshkov
  2023-08-17 14:59 ` [PATCH v2 2/4] arm64: dts: qcom: qrb5165-rb5: add onboard USB-C redriver Dmitry Baryshkov
@ 2023-08-17 14:59 ` Dmitry Baryshkov
  2023-08-26  9:31   ` Konrad Dybcio
  2023-08-17 14:59 ` [PATCH v2 4/4] arm64: dts: qcom: qrb5165-rb5: enable DP altmode Dmitry Baryshkov
  2023-09-20  2:13 ` [PATCH v2 0/4] arm64: dts: qcom: qrb5165-rb5: enable DP support Bjorn Andersson
  4 siblings, 1 reply; 12+ messages in thread
From: Dmitry Baryshkov @ 2023-08-17 14:59 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Konrad Dybcio, Rob Clark, Sean Paul,
	Abhinav Kumar, Marijn Suijten, Rob Herring, Krzysztof Kozlowski
  Cc: Stephen Boyd, David Airlie, Daniel Vetter, linux-arm-msm,
	devicetree, dri-devel, freedreno

Enable the onboard displayport controller, connect it to QMP PHY.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
index a4f7a9f9c22c..3bd0c06e7315 100644
--- a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
+++ b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
@@ -656,6 +656,15 @@ &mdss {
 	status = "okay";
 };
 
+&mdss_dp {
+	status = "okay";
+};
+
+&mdss_dp_out {
+	data-lanes = <0 1>;
+	remote-endpoint = <&usb_1_qmpphy_dp_in>;
+};
+
 &mdss_dsi0 {
 	status = "okay";
 	vdda-supply = <&vreg_l9a_1p2>;
@@ -1442,3 +1451,7 @@ pm8150b_typec_sbu_out: endpoint {
 		};
 	};
 };
+
+&usb_1_qmpphy_dp_in {
+	remote-endpoint = <&mdss_dp_out>;
+};
-- 
2.39.2


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

* [PATCH v2 4/4] arm64: dts: qcom: qrb5165-rb5: enable DP altmode
  2023-08-17 14:59 [PATCH v2 0/4] arm64: dts: qcom: qrb5165-rb5: enable DP support Dmitry Baryshkov
                   ` (2 preceding siblings ...)
  2023-08-17 14:59 ` [PATCH v2 3/4] arm64: dts: qcom: qrb5165-rb5: enable displayport controller Dmitry Baryshkov
@ 2023-08-17 14:59 ` Dmitry Baryshkov
  2023-10-13 16:05   ` Warning notice "Memory manager not clean during takedown" on RB5 runs Aishwarya TCV
  2023-09-20  2:13 ` [PATCH v2 0/4] arm64: dts: qcom: qrb5165-rb5: enable DP support Bjorn Andersson
  4 siblings, 1 reply; 12+ messages in thread
From: Dmitry Baryshkov @ 2023-08-17 14:59 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Konrad Dybcio, Rob Clark, Sean Paul,
	Abhinav Kumar, Marijn Suijten, Rob Herring, Krzysztof Kozlowski
  Cc: Stephen Boyd, David Airlie, Daniel Vetter, linux-arm-msm,
	devicetree, dri-devel, freedreno

Add displayport altmode declaration to the Type-C controller node to
enable DP altmode negotiation.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
index 3bd0c06e7315..c8cd40a462a3 100644
--- a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
+++ b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
@@ -1423,6 +1423,13 @@ PDO_FIXED_DUAL_ROLE |
 					 PDO_FIXED_USB_COMM |
 					 PDO_FIXED_DATA_SWAP)>;
 
+		altmodes {
+			displayport {
+				svid = <0xff01>;
+				vdo = <0x00001c46>;
+			};
+		};
+
 		ports {
 			#address-cells = <1>;
 			#size-cells = <0>;
-- 
2.39.2


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

* Re: [PATCH v2 2/4] arm64: dts: qcom: qrb5165-rb5: add onboard USB-C redriver
  2023-08-17 14:59 ` [PATCH v2 2/4] arm64: dts: qcom: qrb5165-rb5: add onboard USB-C redriver Dmitry Baryshkov
@ 2023-08-17 20:34   ` Bryan O'Donoghue
  0 siblings, 0 replies; 12+ messages in thread
From: Bryan O'Donoghue @ 2023-08-17 20:34 UTC (permalink / raw)
  To: Dmitry Baryshkov, Andy Gross, Bjorn Andersson, Konrad Dybcio,
	Rob Clark, Sean Paul, Abhinav Kumar, Marijn Suijten, Rob Herring,
	Krzysztof Kozlowski
  Cc: Stephen Boyd, David Airlie, Daniel Vetter, linux-arm-msm,
	devicetree, dri-devel, freedreno

On 17/08/2023 15:59, Dmitry Baryshkov wrote:
> Add the nb7vpq904m, onboard USB-C redriver / retimer.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>   arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 52 +++++++++++++++++++++++-
>   1 file changed, 50 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
> index 303d07f9c6e5..a4f7a9f9c22c 100644
> --- a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
> +++ b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
> @@ -610,6 +610,46 @@ lt9611_out: endpoint {
>   /* LS-I2C1 */
>   &i2c15 {
>   	status = "okay";
> +
> +	typec-mux@1c {
> +		compatible = "onnn,nb7vpq904m";
> +		reg = <0x1c>;
> +
> +		vcc-supply = <&vreg_s4a_1p8>;
> +
> +		retimer-switch;
> +		orientation-switch;
> +
> +		ports {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			port@0 {
> +				reg = <0>;
> +
> +				redriver_usb_con_ss: endpoint {
> +					remote-endpoint = <&pm8150b_typec_mux_in>;
> +				};
> +			};
> +
> +			port@1 {
> +				reg = <1>;
> +
> +				redriver_phy_con_ss: endpoint {
> +					remote-endpoint = <&usb_1_qmpphy_out>;
> +					data-lanes = <0 1 2 3>;
> +				};
> +			};
> +
> +			port@2 {
> +				reg = <2>;
> +
> +				redriver_usb_con_sbu: endpoint {
> +					remote-endpoint = <&pm8150b_typec_sbu_out>;
> +				};
> +			};
> +		};
> +	};
>   };
>   
>   &mdss {
> @@ -1299,7 +1339,7 @@ &usb_1_qmpphy {
>   };
>   
>   &usb_1_qmpphy_out {
> -	remote-endpoint = <&pm8150b_typec_mux_in>;
> +	remote-endpoint = <&redriver_phy_con_ss>;
>   };
>   
>   &usb_2 {
> @@ -1388,7 +1428,15 @@ pm8150b_role_switch_in: endpoint {
>   			port@1 {
>   				reg = <1>;
>   				pm8150b_typec_mux_in: endpoint {
> -					remote-endpoint = <&usb_1_qmpphy_out>;
> +					remote-endpoint = <&redriver_usb_con_ss>;
> +				};
> +			};
> +
> +			port@2 {
> +				reg = <2>;
> +
> +				pm8150b_typec_sbu_out: endpoint {
> +					remote-endpoint = <&redriver_usb_con_sbu>;
>   				};
>   			};
>   		};

LGTM

Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>

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

* Re: [PATCH v2 3/4] arm64: dts: qcom: qrb5165-rb5: enable displayport controller
  2023-08-17 14:59 ` [PATCH v2 3/4] arm64: dts: qcom: qrb5165-rb5: enable displayport controller Dmitry Baryshkov
@ 2023-08-26  9:31   ` Konrad Dybcio
  0 siblings, 0 replies; 12+ messages in thread
From: Konrad Dybcio @ 2023-08-26  9:31 UTC (permalink / raw)
  To: Dmitry Baryshkov, Andy Gross, Bjorn Andersson, Rob Clark,
	Sean Paul, Abhinav Kumar, Marijn Suijten, Rob Herring,
	Krzysztof Kozlowski
  Cc: Stephen Boyd, David Airlie, Daniel Vetter, linux-arm-msm,
	devicetree, dri-devel, freedreno

On 17.08.2023 16:59, Dmitry Baryshkov wrote:
> Enable the onboard displayport controller, connect it to QMP PHY.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>

Konrad

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

* Re: [PATCH v2 1/4] arm64: dts: qcom: sm8250: Add DisplayPort device node
  2023-08-17 14:59 ` [PATCH v2 1/4] arm64: dts: qcom: sm8250: Add DisplayPort device node Dmitry Baryshkov
@ 2023-09-20  2:12   ` Bjorn Andersson
  2023-09-20  7:27     ` Dmitry Baryshkov
  0 siblings, 1 reply; 12+ messages in thread
From: Bjorn Andersson @ 2023-09-20  2:12 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Andy Gross, Konrad Dybcio, Rob Clark, Sean Paul, Abhinav Kumar,
	Marijn Suijten, Rob Herring, Krzysztof Kozlowski, Stephen Boyd,
	David Airlie, Daniel Vetter, linux-arm-msm, devicetree, dri-devel,
	freedreno

On Thu, Aug 17, 2023 at 05:59:37PM +0300, Dmitry Baryshkov wrote:
> Declare the displayport controller present on the Qualcomm SM8250 SoC.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  arch/arm64/boot/dts/qcom/sm8250.dtsi | 89 ++++++++++++++++++++++++++++
>  1 file changed, 89 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
> index eb00bbd3e1f3..8d705a1713fb 100644
> --- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
> @@ -3638,6 +3638,8 @@ port@1 {
>  
>  				port@2 {
>  					reg = <2>;
> +
> +					usb_1_qmpphy_dp_in: endpoint {};
>  				};
>  			};
>  		};
> @@ -4405,6 +4407,14 @@ dpu_intf2_out: endpoint {
>  							remote-endpoint = <&mdss_dsi1_in>;
>  						};
>  					};
> +
> +					port@2 {
> +						reg = <2>;
> +
> +						dpu_intf0_out: endpoint {
> +							remote-endpoint = <&mdss_dp_in>;
> +						};
> +					};
>  				};
>  
>  				mdp_opp_table: opp-table {
> @@ -4432,6 +4442,85 @@ opp-460000000 {
>  				};
>  			};
>  
> +			mdss_dp: displayport-controller@ae90000 {

displayport-controller does not seem to be a valid child node of the
sm8250 mdss. Please make sure that the binding is updated, if not
already done.

Thanks,
Bjorn

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

* Re: [PATCH v2 0/4] arm64: dts: qcom: qrb5165-rb5: enable DP support
  2023-08-17 14:59 [PATCH v2 0/4] arm64: dts: qcom: qrb5165-rb5: enable DP support Dmitry Baryshkov
                   ` (3 preceding siblings ...)
  2023-08-17 14:59 ` [PATCH v2 4/4] arm64: dts: qcom: qrb5165-rb5: enable DP altmode Dmitry Baryshkov
@ 2023-09-20  2:13 ` Bjorn Andersson
  4 siblings, 0 replies; 12+ messages in thread
From: Bjorn Andersson @ 2023-09-20  2:13 UTC (permalink / raw)
  To: Andy Gross, Konrad Dybcio, Rob Clark, Sean Paul, Abhinav Kumar,
	Marijn Suijten, Rob Herring, Krzysztof Kozlowski,
	Dmitry Baryshkov
  Cc: Stephen Boyd, David Airlie, Daniel Vetter, linux-arm-msm,
	devicetree, dri-devel, freedreno


On Thu, 17 Aug 2023 17:59:36 +0300, Dmitry Baryshkov wrote:
> Implement DisplayPort support for the Qualcomm RB5 platform.
> 
> Note: while testing this, I had link training issues with several
> dongles with DP connectors. Other DisplayPort-USB-C dongles (with HDMI
> or VGA connectors) work perfectly.
> 
> Dependencies: [1]
> Soft-dependencies: [2], [3]
> 
> [...]

Applied, thanks!

[1/4] arm64: dts: qcom: sm8250: Add DisplayPort device node
      commit: 956aa24b16350a50d3a6beb9237bc35aa2f447d6
[2/4] arm64: dts: qcom: qrb5165-rb5: add onboard USB-C redriver
      commit: d342e1c993bd7589cad9d2da099c6a9c652ecb9f
[3/4] arm64: dts: qcom: qrb5165-rb5: enable displayport controller
      commit: 96387ee7534dc449be35a9bb98b7668da2bed545
[4/4] arm64: dts: qcom: qrb5165-rb5: enable DP altmode
      commit: b3dea914127e9065df003002ed13a2ef40d19877

Best regards,
-- 
Bjorn Andersson <andersson@kernel.org>

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

* Re: [PATCH v2 1/4] arm64: dts: qcom: sm8250: Add DisplayPort device node
  2023-09-20  2:12   ` Bjorn Andersson
@ 2023-09-20  7:27     ` Dmitry Baryshkov
  0 siblings, 0 replies; 12+ messages in thread
From: Dmitry Baryshkov @ 2023-09-20  7:27 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: Andy Gross, Konrad Dybcio, Rob Clark, Sean Paul, Abhinav Kumar,
	Marijn Suijten, Rob Herring, Krzysztof Kozlowski, Stephen Boyd,
	David Airlie, Daniel Vetter, linux-arm-msm, devicetree, dri-devel,
	freedreno

On Wed, 20 Sept 2023 at 05:08, Bjorn Andersson <andersson@kernel.org> wrote:
>
> On Thu, Aug 17, 2023 at 05:59:37PM +0300, Dmitry Baryshkov wrote:
> > Declare the displayport controller present on the Qualcomm SM8250 SoC.
> >
> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> > ---
> >  arch/arm64/boot/dts/qcom/sm8250.dtsi | 89 ++++++++++++++++++++++++++++
> >  1 file changed, 89 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
> > index eb00bbd3e1f3..8d705a1713fb 100644
> > --- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
> > +++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
> > @@ -3638,6 +3638,8 @@ port@1 {
> >
> >                               port@2 {
> >                                       reg = <2>;
> > +
> > +                                     usb_1_qmpphy_dp_in: endpoint {};
> >                               };
> >                       };
> >               };
> > @@ -4405,6 +4407,14 @@ dpu_intf2_out: endpoint {
> >                                                       remote-endpoint = <&mdss_dsi1_in>;
> >                                               };
> >                                       };
> > +
> > +                                     port@2 {
> > +                                             reg = <2>;
> > +
> > +                                             dpu_intf0_out: endpoint {
> > +                                                     remote-endpoint = <&mdss_dp_in>;
> > +                                             };
> > +                                     };
> >                               };
> >
> >                               mdp_opp_table: opp-table {
> > @@ -4432,6 +4442,85 @@ opp-460000000 {
> >                               };
> >                       };
> >
> > +                     mdss_dp: displayport-controller@ae90000 {
>
> displayport-controller does not seem to be a valid child node of the
> sm8250 mdss. Please make sure that the binding is updated, if not
> already done.

True. I added the compatibility string to dp-controller.yaml, but
missed the mdss schema. I'll send a fix ASAP.

>
> Thanks,
> Bjorn



-- 
With best wishes
Dmitry

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

* Warning notice "Memory manager not clean during takedown" on RB5 runs
  2023-08-17 14:59 ` [PATCH v2 4/4] arm64: dts: qcom: qrb5165-rb5: enable DP altmode Dmitry Baryshkov
@ 2023-10-13 16:05   ` Aishwarya TCV
  2023-10-13 16:30     ` Dmitry Baryshkov
  0 siblings, 1 reply; 12+ messages in thread
From: Aishwarya TCV @ 2023-10-13 16:05 UTC (permalink / raw)
  To: Dmitry Baryshkov, Andy Gross, Bjorn Andersson, Konrad Dybcio,
	Rob Clark, Sean Paul, Abhinav Kumar, Marijn Suijten, Rob Herring,
	Krzysztof Kozlowski
  Cc: Stephen Boyd, David Airlie, Daniel Vetter, linux-arm-msm,
	devicetree, dri-devel, freedreno, broonie

Hi Dmitry


On 17/08/2023 15:59, Dmitry Baryshkov wrote:
> Add displayport altmode declaration to the Type-C controller node to
> enable DP altmode negotiation.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 7 +++++++
>  1 file changed, 7 insertions(+)
> 

At present RB5 runs against next-master are consistently throwing
warning messages (attached below with call trace) on "Memory manager not
clean during takedown". I can send full logs if required. However, the
runs are booting successfully so the logs are quite big. Tried running
with older dtb built, where these
warnings was not observed.


A bisect (full log below) identified this patch as
introducing the failure.

git bisect start
# good: [8a749fd1a8720d4619c91c8b6e7528c0a355c0aa] Linux 6.6-rc4
git bisect good 8a749fd1a8720d4619c91c8b6e7528c0a355c0aa
# bad: [2a860505b617cf8fda4ebff6cf05d3f774145440] Add linux-next
specific files for 20231009
git bisect bad 2a860505b617cf8fda4ebff6cf05d3f774145440
# bad: [11a92414d65ec3ea50b86004baa9b54e03fc454a] Merge branch 'master'
of git://linuxtv.org/media_tree.git
git bisect bad 11a92414d65ec3ea50b86004baa9b54e03fc454a
# good: [d4ec2b3f0e34a40991fb8d5fb374c07382fe0892] bcachefs:
stack_trace_save_tsk() depends on CONFIG_STACKTRACE
git bisect good d4ec2b3f0e34a40991fb8d5fb374c07382fe0892
# good: [94b6eadf2db4b7ec5b6e5c4dfd3d552ea388e441] Merge branch
'for-next' of
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap.git
git bisect good 94b6eadf2db4b7ec5b6e5c4dfd3d552ea388e441
# bad: [15c1906eb69acb82e6992d701f9522216fdaf234] Merge branch
'xtensa-for-next' of git://github.com/jcmvbkbc/linux-xtensa.git
git bisect bad 15c1906eb69acb82e6992d701f9522216fdaf234
# bad: [b837ae5f505e0a05329ab9c72ed1a6c55f70456c] Merge branch
'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux.git
git bisect bad b837ae5f505e0a05329ab9c72ed1a6c55f70456c
# bad: [33e9032a1875bb1aee3c68a4540f5a577ff44130] arm64: dts: qcom:
apq8016-sbc: Add missing ADV7533 regulators
git bisect bad 33e9032a1875bb1aee3c68a4540f5a577ff44130
# bad: [a6546460ca439bade19d64eb63cee2d97c29fb72] arm64: dts: qcom:
sc8180x: switch PCIe QMP PHY to new style of bindings
git bisect bad a6546460ca439bade19d64eb63cee2d97c29fb72
# good: [4988881ec067c3e6d382de1583b7f5b1095ddea2] arm64: dts: qcom:
sm6125: Add dispcc node
git bisect good 4988881ec067c3e6d382de1583b7f5b1095ddea2
# good: [ea96b90a58cf5d2e91ac177f081118ff26b85c1d] arm64: dts: qcom:
sm8250: Define ports for qmpphy orientation-switching
git bisect good ea96b90a58cf5d2e91ac177f081118ff26b85c1d
# bad: [b3dea914127e9065df003002ed13a2ef40d19877] arm64: dts: qcom:
qrb5165-rb5: enable DP altmode
git bisect bad b3dea914127e9065df003002ed13a2ef40d19877
# good: [25defdca4d902b338c05bc01a1de1064a6d3b7f3] arm64: dts: qcom:
qrb5165-rb5: Switch on TCPM usb-role-switching for usb_1
git bisect good 25defdca4d902b338c05bc01a1de1064a6d3b7f3
# good: [956aa24b16350a50d3a6beb9237bc35aa2f447d6] arm64: dts: qcom:
sm8250: Add DisplayPort device node
git bisect good 956aa24b16350a50d3a6beb9237bc35aa2f447d6
# bad: [96387ee7534dc449be35a9bb98b7668da2bed545] arm64: dts: qcom:
qrb5165-rb5: enable displayport controller
git bisect bad 96387ee7534dc449be35a9bb98b7668da2bed545
# good: [d342e1c993bd7589cad9d2da099c6a9c652ecb9f] arm64: dts: qcom:
qrb5165-rb5: add onboard USB-C redriver
git bisect good d342e1c993bd7589cad9d2da099c6a9c652ecb9f
# first bad commit: [96387ee7534dc449be35a9bb98b7668da2bed545] arm64:
dts: qcom: qrb5165-rb5: enable displayport controller


Boot log:

<4>[   87.062915] ------------[ cut here ]------------
<4>[   87.067944] Memory manager not clean during takedown.
<4>[   87.074791] WARNING: CPU: 7 PID: 70 at
drivers/gpu/drm/drm_mm.c:999 drm_mm_takedown+0x28/0x38 [drm]
<4>[   87.084382] Modules linked in: fuse ip_tables x_tables ipv6
r8153_ecm cdc_ether snd_soc_hdmi_codec ax88179_178a venus_dec venus_enc
r8152 videobuf2_dma_contig usbnet videobuf2_memops onboard_usb_hub
mcp251xfd nb7vpq904m can_dev lontium_lt9611uxc msm leds_qcom_lpg
qcom_spmi_adc_tm5 qcom_spmi_adc5 rtc_pm8xxx led_class_multicolor ocmem
qcom_pon qcom_spmi_temp_alarm qcom_vadc_common venus_core v4l2_mem2mem
gpu_sched videobuf2_v4l2 crct10dif_ce drm_dp_aux_bus videodev
snd_soc_sm8250 snd_soc_qcom_sdw drm_display_helper videobuf2_common
snd_soc_qcom_common qrtr qcom_stats mc coresight_stm stm_core
qcom_q6v5_pas spi_geni_qcom llcc_qcom phy_qcom_qmp_combo qcom_pil_info
typec icc_bwmon i2c_qcom_geni phy_qcom_qmp_usb qcom_q6v5
coresight_replicator coresight_tmc coresight_etm4x coresight_funnel
phy_qcom_snps_femto_v2 qcom_rng qcom_sysmon snd_soc_lpass_va_macro
qcom_common lpass_gfm_sm8250 qcrypto pinctrl_sm8250_lpass_lpi
qcom_glink_smem snd_soc_lpass_macro_common coresight ufs_qcom
sha256_generic mdt_loader libsha256 qmi_helpers
<4>[   87.084435]  pinctrl_lpass_lpi soundwire_qcom soundwire_bus
authenc display_connector qcom_wdt phy_qcom_qmp_ufs
snd_soc_lpass_wsa_macro phy_qcom_qmp_pcie slimbus icc_osm_l3 libdes
drm_kms_helper drm socinfo backlight qnoc_sm8250
<4>[   87.198040] CPU: 7 PID: 70 Comm: kworker/u16:3 Tainted: G        W
         6.6.0-rc5-next-20231013 #1
<4>[   87.207857] Hardware name: Qualcomm Technologies, Inc. Robotics
RB5 (DT)
<4>[   87.215009] Workqueue: events_unbound deferred_probe_work_func
<4>[   87.221273] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS
BTYPE=--)
<4>[   87.228686] pc : drm_mm_takedown+0x28/0x38 [drm]
<4>[   87.233716] lr : drm_mm_takedown+0x28/0x38 [drm]
<4>[   87.238741] sp : ffff800080743810
<4>[   87.242416] x29: ffff800080743810 x28: ffff7824cd321880 x27:
ffff7824c36c9d40
<4>[   87.250007] x26: ffffb54fa83c71a0 x25: dead000000000100 x24:
dead000000000122
<4>[   87.257599] x23: ffff7824c3600810 x22: ffffb54f5a99b708 x21:
ffff7824c3600800
<4>[   87.265189] x20: ffff7824c4a4c600 x19: ffff7824c7752800 x18:
ffffb54f5a8e0048
<4>[   87.272779] x17: 0000000000010108 x16: 0000000000010108 x15:
0000483e088c93ae
<4>[   87.280371] x14: 00000000000002a4 x13: 00000000000002a4 x12:
0000000000000000
<4>[   87.287962] x11: 0000000000000001 x10: 0000000000000a60 x9 :
ffff800080743680
<4>[   87.295554] x8 : ffff7824c0320ac0 x7 : ffff78263efaf040 x6 :
00000000012105e7
<4>[   87.303140] x5 : 00000000410fd0d0 x4 : 0000000000f0000f x3 :
0000000000100000
<4>[   87.310730] x2 : 0000000000000000 x1 : 0000000000000000 x0 :
ffff7824c0320000
<4>[   87.318317] Call trace:
<4>[   87.321103]  drm_mm_takedown+0x28/0x38 [drm]
<4>[   87.325778]  drm_vma_offset_manager_destroy+0x14/0x20 [drm]
<4>[   87.331794]  drm_gem_init_release+0x14/0x20 [drm]
<4>[   87.336918]  drm_managed_release+0xac/0x140 [drm]
<4>[   87.342043]  drm_dev_put+0x94/0xbc [drm]
<4>[   87.346366]  msm_drm_uninit.isra.0+0x98/0xd0 [msm]
<4>[   87.351594]  msm_drm_bind+0x20c/0x3b0 [msm]
<4>[   87.356181]  try_to_bring_up_aggregate_device+0x168/0x1d4
<4>[   87.361994]  __component_add+0xa4/0x170
<4>[   87.366202]  component_add+0x14/0x20
<4>[   87.370142]  dsi_dev_attach+0x20/0x2c [msm]
<4>[   87.374731]  dsi_host_attach+0x9c/0x144 [msm]
<4>[   87.379493]  devm_mipi_dsi_attach+0x34/0xb4
<4>[   87.384064]  lt9611uxc_attach_dsi.isra.0+0x84/0xfc [lontium_lt9611uxc]
<4>[   87.391040]  lt9611uxc_probe+0x598/0x65c [lontium_lt9611uxc]
<4>[   87.397126]  i2c_device_probe+0x1a8/0x330
<4>[   87.401520]  really_probe+0x148/0x2b4
<4>[   87.405554]  __driver_probe_device+0x78/0x12c
<4>[   87.410302]  driver_probe_device+0x3c/0x15c
<4>[   87.414875]  __device_attach_driver+0xb8/0x134
<4>[   87.419710]  bus_for_each_drv+0x84/0xe0
<4>[   87.423929]  __device_attach+0xa8/0x1b0
<4>[   87.428138]  device_initial_probe+0x14/0x20
<4>[   87.432704]  bus_probe_device+0xa8/0xac
<4>[   87.436913]  deferred_probe_work_func+0x88/0xc0
<4>[   87.441829]  process_one_work+0x138/0x260
<4>[   87.446225]  worker_thread+0x32c/0x438
<4>[   87.450346]  kthread+0x118/0x11c
<4>[   87.453941]  ret_from_fork+0x10/0x20
<4>[   87.457888] ---[ end trace 0000000000000000 ]---

Thanks,
Aishwarya

> diff --git a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
> index 3bd0c06e7315..c8cd40a462a3 100644
> --- a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
> +++ b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
> @@ -1423,6 +1423,13 @@ PDO_FIXED_DUAL_ROLE |
>  					 PDO_FIXED_USB_COMM |
>  					 PDO_FIXED_DATA_SWAP)>;
>  
> +		altmodes {
> +			displayport {
> +				svid = <0xff01>;
> +				vdo = <0x00001c46>;
> +			};
> +		};
> +
>  		ports {
>  			#address-cells = <1>;
>  			#size-cells = <0>;

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

* Re: Warning notice "Memory manager not clean during takedown" on RB5 runs
  2023-10-13 16:05   ` Warning notice "Memory manager not clean during takedown" on RB5 runs Aishwarya TCV
@ 2023-10-13 16:30     ` Dmitry Baryshkov
  0 siblings, 0 replies; 12+ messages in thread
From: Dmitry Baryshkov @ 2023-10-13 16:30 UTC (permalink / raw)
  To: Aishwarya TCV
  Cc: Andy Gross, Bjorn Andersson, Konrad Dybcio, Rob Clark, Sean Paul,
	Abhinav Kumar, Marijn Suijten, Rob Herring, Krzysztof Kozlowski,
	Stephen Boyd, David Airlie, Daniel Vetter, linux-arm-msm,
	devicetree, dri-devel, freedreno, broonie

Hello Aishwarya,

On Fri, 13 Oct 2023 at 19:05, Aishwarya TCV <aishwarya.tcv@arm.com> wrote:
>
> Hi Dmitry
>
>
> On 17/08/2023 15:59, Dmitry Baryshkov wrote:
> > Add displayport altmode declaration to the Type-C controller node to
> > enable DP altmode negotiation.
> >
> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> > ---
> >  arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 7 +++++++
> >  1 file changed, 7 insertions(+)
> >
>
> At present RB5 runs against next-master are consistently throwing
> warning messages (attached below with call trace) on "Memory manager not
> clean during takedown". I can send full logs if required. However, the
> runs are booting successfully so the logs are quite big. Tried running
> with older dtb built, where these
> warnings was not observed.

Thank you for the report. These patches should be fixed by the
patchset at https://patchwork.freedesktop.org/series/125010/

-- 
With best wishes
Dmitry

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

end of thread, other threads:[~2023-10-13 16:30 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-17 14:59 [PATCH v2 0/4] arm64: dts: qcom: qrb5165-rb5: enable DP support Dmitry Baryshkov
2023-08-17 14:59 ` [PATCH v2 1/4] arm64: dts: qcom: sm8250: Add DisplayPort device node Dmitry Baryshkov
2023-09-20  2:12   ` Bjorn Andersson
2023-09-20  7:27     ` Dmitry Baryshkov
2023-08-17 14:59 ` [PATCH v2 2/4] arm64: dts: qcom: qrb5165-rb5: add onboard USB-C redriver Dmitry Baryshkov
2023-08-17 20:34   ` Bryan O'Donoghue
2023-08-17 14:59 ` [PATCH v2 3/4] arm64: dts: qcom: qrb5165-rb5: enable displayport controller Dmitry Baryshkov
2023-08-26  9:31   ` Konrad Dybcio
2023-08-17 14:59 ` [PATCH v2 4/4] arm64: dts: qcom: qrb5165-rb5: enable DP altmode Dmitry Baryshkov
2023-10-13 16:05   ` Warning notice "Memory manager not clean during takedown" on RB5 runs Aishwarya TCV
2023-10-13 16:30     ` Dmitry Baryshkov
2023-09-20  2:13 ` [PATCH v2 0/4] arm64: dts: qcom: qrb5165-rb5: enable DP support Bjorn Andersson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).