[RESEND,v2] arm64: dts: ti: k3-am69-sk: remove assigned-clock-parents for unused VP

Message ID 20240201142308.4954-1-j-choudhary@ti.com
State New
Headers
Series [RESEND,v2] arm64: dts: ti: k3-am69-sk: remove assigned-clock-parents for unused VP |

Commit Message

Jayesh Choudhary Feb. 1, 2024, 2:23 p.m. UTC
  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).
The current DM firmware does not support changing parent clock if it
is shared by another component. It returns 0 for the determine_rate
query before causing set_rate to set the clock at default maximum of
1.8GHz which is a lot more than the maximum frequency videoports can
support (600MHz) causing SYNC LOST issues.
So remove the parent clocks for unused VPs to avoid conflict.

Fixes: 6f8605fd7d11 ("arm64: dts: ti: k3-am69-sk: Add DP and HDMI support")
Reported-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
---

v1: <https://lore.kernel.org/all/20231221113042.48492-1-j-choudhary@ti.com/>

Changelog v1->v2:
- Updated commit message
- Picked up Tomi's R-by from v1
- Removed "Closes:" link since its invalid now

(NOTE: Sending again as forgot to put mailing list in cc earlier)

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

Comments

Aradhya Bhatia Feb. 2, 2024, 5:16 a.m. UTC | #1
On 01-Feb-24 19:53, 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).
> The current DM firmware does not support changing parent clock if it
> is shared by another component. It returns 0 for the determine_rate
> query before causing set_rate to set the clock at default maximum of
> 1.8GHz which is a lot more than the maximum frequency videoports can
> support (600MHz) causing SYNC LOST issues.
> So remove the parent clocks for unused VPs to avoid conflict.
> 
> Fixes: 6f8605fd7d11 ("arm64: dts: ti: k3-am69-sk: Add DP and HDMI support")
> Reported-by: Nishanth Menon <nm@ti.com>
> Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
> Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>

Reviewed-by: Aradhya Bhatia <a-bhatia1@ti.com>

Regards
Aradhya

> ---
> 
> v1: <https://lore.kernel.org/all/20231221113042.48492-1-j-choudhary@ti.com/>
> 
> Changelog v1->v2:
> - Updated commit message
> - Picked up Tomi's R-by from v1
> - Removed "Closes:" link since its invalid now
> 
> (NOTE: Sending again as forgot to put mailing list in cc earlier)
> 
>  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 {
  
Enric Balletbo i Serra Feb. 5, 2024, 5:58 p.m. UTC | #2
Hi Jayesh,

Many thanks for the patch.

On Fri, Feb 2, 2024 at 6:17 AM Aradhya Bhatia <a-bhatia1@ti.com> wrote:
>
>
>
> On 01-Feb-24 19:53, 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).
> > The current DM firmware does not support changing parent clock if it
> > is shared by another component. It returns 0 for the determine_rate
> > query before causing set_rate to set the clock at default maximum of
> > 1.8GHz which is a lot more than the maximum frequency videoports can
> > support (600MHz) causing SYNC LOST issues.
> > So remove the parent clocks for unused VPs to avoid conflict.
> >
> > Fixes: 6f8605fd7d11 ("arm64: dts: ti: k3-am69-sk: Add DP and HDMI support")
> > Reported-by: Nishanth Menon <nm@ti.com>
> > Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
> > Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
>
> Reviewed-by: Aradhya Bhatia <a-bhatia1@ti.com>
>

This patch fixes the issue I see on my AM69-SK board and after
applying it  the HDMI of the board works again so

Tested-by: Enric Balletbo i Serra <eballetbo@redhat.com>

> Regards
> Aradhya
>
> > ---
> >
> > v1: <https://lore.kernel.org/all/20231221113042.48492-1-j-choudhary@ti.com/>
> >
> > Changelog v1->v2:
> > - Updated commit message
> > - Picked up Tomi's R-by from v1
> > - Removed "Closes:" link since its invalid now
> >
> > (NOTE: Sending again as forgot to put mailing list in cc earlier)
> >
> >  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 {
>
  
Vignesh Raghavendra Feb. 6, 2024, 4:55 a.m. UTC | #3
Hi Jayesh Choudhary,

On Thu, 01 Feb 2024 19:53:08 +0530, 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).
> The current DM firmware does not support changing parent clock if it
> is shared by another component. It returns 0 for the determine_rate
> query before causing set_rate to set the clock at default maximum of
> 1.8GHz which is a lot more than the maximum frequency videoports can
> support (600MHz) causing SYNC LOST issues.
> So remove the parent clocks for unused VPs to avoid conflict.
> 
> [...]

I have applied the following to branch ti-k3-dts-next on [1].
Thank you!

[1/1] arm64: dts: ti: k3-am69-sk: remove assigned-clock-parents for unused VP
      commit: cfdb4f7ffdb855c1a3d274dc7757e780dcbf2d55

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent up the chain during
the next merge window (or sooner if it is a relevant bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux.git
--
Vignesh
  

Patch

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 {