Re: [PATCH v4 0/2] phy: rockchip: inno-hdmi: Change TMDS rate handling to configure() ops
From: Diederik de Haas
Date: Fri Jul 31 2026 - 06:33:42 EST
On Mon May 18, 2026 at 8:07 PM CEST, Jonas Karlman wrote:
> This series adds support for using phy_validate() and phy_configure()
> with this HDMI PHY as an alternative to current in-tree unused way of
> using PHY bus width to configure the TMDS character rate.
>
> The only known users that calls phy_set_bus_width() on this PHY are my
> out-of-tree HDMI 2.0 patches for Rockchip RK3228/RK3328, i.e. those
> originating from LibreELEC (also carried by other distros), the
> downstream vendor kernel uses a different implementation that also calls
> phy_set_bus_width() on this PHY.
Tested-by: Diederik de Haas <diederik@xxxxxxxxxxxxxx> # Rock64
> Patch "drm/rockchip: dw_hdmi: Configure HDMI PHY in atomic_mode_set()"
> that calls phy_validate() and phy_configure() on this PHY can be found
> at [1].
>
> [1] https://lore.kernel.org/dri-devel/20260510183114.1248840-10-jonas@xxxxxxxxx/
>
> This series is part of a larger multi series effort to:
> - phy: rockchip: inno-hdmi: Change TMDS rate handling to configure() ops [v4]
> - drm/rockchip: dw_hdmi: Misc cleanup and propagate bus format [v2]
> - drm: bridge: dw_hdmi: Misc enable/disable, CEC and EDID cleanup [v7]
> - drm/bridge: dw-hdmi: Improve input/output bus format handling
> - drm/bridge: dw-hdmi: Convert to a HDMI bridge and use of bridge connector
> - drm/bridge: dw-hdmi: Add and use tmds_char_rate_valid() plat data ops
> - drm/meson: hdmi: Misc cleanup and use CEC notifier helpers [v1]
> - drm/rockchip: dw_hdmi: Enable YCbCr and Deep Color modes
> Link to snapshot: https://github.com/Kwiboo/linux-rockchip/commits/next-20260518-rk-hdmi-v5/
>
> Changes in v4:
> - Add NULL opts check in validate()
> - Only store the opts->hdmi.tmds_char_rate value for later use
> - Move comments about expected consumer usage from inline to above the
> functions
> Link to v3: https://lore.kernel.org/linux-phy/20260515195512.1757363-1-jonas@xxxxxxxxx/
>
> Changes in v3:
> - Change validate() ops to only validate tmdsclock
> - Add comments about expected consumer usage
> - Update commit message with a typical call chain
> Link to v2: https://lore.kernel.org/linux-phy/20260510095731.1222705-1-jonas@xxxxxxxxx/
>
> Changes in v2:
> - Split into two patches, one that adds new ops and a second that remove
> the old and unused workaround
> - Add validate() ops to validate that the TMDS rate is supported
> Link to v1: https://lore.kernel.org/linux-phy/20260503172936.194003-1-jonas@xxxxxxxxx/
>
> Jonas Karlman (2):
> phy: rockchip: inno-hdmi: Add configure() and validate() ops
> phy: rockchip: inno-hdmi: Remove deprecated way to configure TMDS rate
>
> drivers/phy/rockchip/phy-rockchip-inno-hdmi.c | 71 +++++++++++++++----
> 1 file changed, 58 insertions(+), 13 deletions(-)