mbox series

[0/2] arm64: dts: amlogic: handle hdmi system clock

Message ID 20240626152733.1350376-1-jbrunet@baylibre.com (mailing list archive)
Headers show
Series arm64: dts: amlogic: handle hdmi system clock | expand

Message

Jerome Brunet June 26, 2024, 3:27 p.m. UTC
This patchset adds the setup of the HDMI system clock for HDMI Tx.

This is another step in cleaning HDMI Tx and its direct usage of HHI
register space. Eventually, this will help remove component usage from
the Amlogic display drivers.

Jerome Brunet (2):
  arm64: dts: amlogic: gx: correct hdmi clocks
  arm64: dts: amlogic: setup hdmi system clock

 arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 5 +++++
 arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi       | 9 +++++++--
 arch/arm64/boot/dts/amlogic/meson-gxl.dtsi        | 9 +++++++--
 3 files changed, 19 insertions(+), 4 deletions(-)

Comments

Neil Armstrong June 28, 2024, 8:10 a.m. UTC | #1
Hi,

On 26/06/2024 17:27, Jerome Brunet wrote:
> This patchset adds the setup of the HDMI system clock for HDMI Tx.
> 
> This is another step in cleaning HDMI Tx and its direct usage of HHI
> register space. Eventually, this will help remove component usage from
> the Amlogic display drivers.

Thanks,

Beware we will need to keep old DT with new kernel functional for a while,
do removal of component & HHI in meson_dw_hdmi would need to wait for multiple
kernel releases.

A migration step would be to add a phandle to hhi right now, so we can drop
components earlier, then in a second time add a proper PHY and then mark
the hhi reg as deprecated.

Neil

> 
> Jerome Brunet (2):
>    arm64: dts: amlogic: gx: correct hdmi clocks
>    arm64: dts: amlogic: setup hdmi system clock
> 
>   arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 5 +++++
>   arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi       | 9 +++++++--
>   arch/arm64/boot/dts/amlogic/meson-gxl.dtsi        | 9 +++++++--
>   3 files changed, 19 insertions(+), 4 deletions(-)
>
Neil Armstrong June 28, 2024, 8:12 a.m. UTC | #2
Hi,

On Wed, 26 Jun 2024 17:27:29 +0200, Jerome Brunet wrote:
> This patchset adds the setup of the HDMI system clock for HDMI Tx.
> 
> This is another step in cleaning HDMI Tx and its direct usage of HHI
> register space. Eventually, this will help remove component usage from
> the Amlogic display drivers.
> 
> Jerome Brunet (2):
>   arm64: dts: amlogic: gx: correct hdmi clocks
>   arm64: dts: amlogic: setup hdmi system clock
> 
> [...]

Thanks, Applied to https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux.git (v6.11/arm64-dt)

[1/2] arm64: dts: amlogic: gx: correct hdmi clocks
      https://git.kernel.org/amlogic/c/0602ba0dcd0e76067a0b7543e92b2de3fb231073
[2/2] arm64: dts: amlogic: setup hdmi system clock
      https://git.kernel.org/amlogic/c/1443b6ea806dfcdcee6c894784332c9c947ac319

These changes has been applied on the intermediate git tree [1].

The v6.11/arm64-dt branch will then be sent via a formal Pull Request to the Linux SoC maintainers
for inclusion in their intermediate git branches in order to be sent to Linus during
the next merge window, or sooner if it's a set of fixes.

In the cases of fixes, those will be merged in the current release candidate
kernel and as soon they appear on the Linux master branch they will be
backported to the previous Stable and Long-Stable kernels [2].

The intermediate git branches are merged daily in the linux-next tree [3],
people are encouraged testing these pre-release kernels and report issues on the
relevant mailing-lists.

If problems are discovered on those changes, please submit a signed-off-by revert
patch followed by a corrective changeset.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux.git
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
[3] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
Jerome Brunet June 28, 2024, 9:10 a.m. UTC | #3
On Fri 28 Jun 2024 at 10:10, Neil Armstrong <neil.armstrong@linaro.org> wrote:

> Hi,
>
> On 26/06/2024 17:27, Jerome Brunet wrote:
>> This patchset adds the setup of the HDMI system clock for HDMI Tx.
>> This is another step in cleaning HDMI Tx and its direct usage of HHI
>> register space. Eventually, this will help remove component usage from
>> the Amlogic display drivers.
>
> Thanks,
>
> Beware we will need to keep old DT with new kernel functional for a while,
> do removal of component & HHI in meson_dw_hdmi would need to wait for multiple
> kernel releases.

Oh, I'm aware of the pain DT backward compatibility will be on this one.
Situation is slightly more complex than the PWM ...

I'm not sure how keeping support both for the 'legacy HHI direct access'
and 'modern API and region' approaches will look like. It's likely to be a
mess.

What I posted so far are things I'm sure of and will not cause issue.
When I get to the controversial stuff, I'll post an RFC first.

>
> A migration step would be to add a phandle to hhi right now, so we can drop
> components earlier, then in a second time add a proper PHY and then mark
> the hhi reg as deprecated.

Giving the hhi syscon to HDMI-Tx is solving half the problem.
IMO, HDMI-TX should just get the HDMI PHY register space in HHI. Indeed
that could be added now as well, without causing issue to the existing
DTs and drivers.

The display drivers should not directly poke in the HHI bus, nor should it have
access to the whole bus.

If we are going to take the pain of fixing the DT interface, better do
it once and for all.

The 2 main HHI offenders are HDMI-Tx and vclk:
* HDMI-TX: I've got the that mostly sorted out, for an RFC at least.
* Vclk: Here it is more a matter CCF usage that HHI
  * The HDMI pll could use the regular DCO/mult-range driver from what I
    can see
  * The vclk display would need to get the DCO clock along with all the
    ODs/divider handle. Without rate propagation, it would be free to
    recreate the setups it needs. I don't have the full list and I did
    not spend much time on this yet but that's the idea.

>
> Neil
>
>> Jerome Brunet (2):
>>    arm64: dts: amlogic: gx: correct hdmi clocks
>>    arm64: dts: amlogic: setup hdmi system clock
>>   arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 5 +++++
>>   arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi       | 9 +++++++--
>>   arch/arm64/boot/dts/amlogic/meson-gxl.dtsi        | 9 +++++++--
>>   3 files changed, 19 insertions(+), 4 deletions(-)
>>