Re: [PATCH] arm64: dts: ti: k3-am69-sk: remove assigned-clock-parents for unused VP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Tomi,

On 03/01/24 18:35, Tomi Valkeinen wrote:
Hi,

On 21/12/2023 13:30, Jayesh Choudhary wrote:
VP2 and VP3 are unused video ports and VP3 share the same parent
clock as VP1 causing issue with pixel clock setting for HDMI (VP1).
So remove the parent clocks for unused VPs.

Fixes: 6f8605fd7d11 ("arm64: dts: ti: k3-am69-sk: Add DP and HDMI support")
Reported-by: Nishanth Menon <nm@xxxxxx>
Closes: https://storage.kernelci.org/mainline/master/v6.7-rc6/arm64/defconfig/gcc-10/lab-ti/baseline-nfs-am69_sk-fs.txt
Signed-off-by: Jayesh Choudhary <j-choudhary@xxxxxx>
---

Local testing log for HDMI on AM69-SK:
<https://gist.github.com/Jayesh2000/517395cd85eb28d65b8ee4568cefb809>

  arch/arm64/boot/dts/ti/k3-am69-sk.dts | 8 ++------
  1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/arch/arm64/boot/dts/ti/k3-am69-sk.dts b/arch/arm64/boot/dts/ti/k3-am69-sk.dts
index 8da591579868..370980eb59b0 100644
--- a/arch/arm64/boot/dts/ti/k3-am69-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am69-sk.dts
@@ -918,13 +918,9 @@ &dss {
      pinctrl-names = "default";
      pinctrl-0 = <&dss_vout0_pins_default>;
      assigned-clocks = <&k3_clks 218 2>,
-              <&k3_clks 218 5>,
-              <&k3_clks 218 14>,
-              <&k3_clks 218 18>;
+              <&k3_clks 218 5>;
      assigned-clock-parents = <&k3_clks 218 3>,
-                 <&k3_clks 218 7>,
-                 <&k3_clks 218 16>,
-                 <&k3_clks 218 22>;
+                 <&k3_clks 218 7>;
  };
  &serdes_wiz4 {

The SK has two outputs, using VP0 and VP1, so the above kind of makes sense. Then again, setting up 4 clocks here really shouldn't break the SK, should it? The AM69 has 4 available VPs. How does one configure the clocks for a board that uses 4 VPs, or possibly a different selection of VPs?


I think the patch desc should explain why this doesn't work. Afaik, the dts is not wrong as such, but there's an underlying issue that breaks the clocking if all four clocks are set up here.


I discussed this with firmware team, there is an issue with sibling
child clocks. If parent clock is shared, DM cannot set its rate.
The determine_rate and set_rate query are behaving unexpectedly in
this case. determine_rate is returning 0 and set_rate is setting it
to 1.8G even when VP can support max 600M.

Jayesh

So, with the desc updated, as this fixes an issue and is not wrong:

Reviewed-by: Tomi Valkeinen <tomi.valkeinen@xxxxxxxxxxxxxxxx>

But I also feel this is dodging a firmware (?) issue.

  Tomi





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux