Re: [PATCH v9 46/61] drm/rockchip: rk3066_hdmi: Advertise HDMI 1.4 capabilities

From: Diederik de Haas

Date: Thu Jul 23 2026 - 05:02:37 EST


Hi Cristian,

On Thu Jul 23, 2026 at 3:35 AM CEST, Cristian Ciocaltea wrote:
> Bridges using DRM_BRIDGE_OP_HDMI are now expected to also provide a
> supported HDMI version. This is not yet enforced, but will become
> mandatory once the migration to the new caps-based HDMI connector
> initialization API is completed.
>
> The RK3066 HDMI TX supports HDMI 1.4a, as described in commit
> f84d3d37b7fb ("drm: rockchip: introduce rk3066 hdmi"). However, the
> driver does not currently enforce a maximum TMDS character rate, it only
> filters non-CEA modes and excludes VIC 1 (640x480) via the .mode_valid
> callback.
>
> Advertise HDMI 1.4 support for now so that modes exceeding the 340 MHz
> TMDS limit are rejected by the core.
>
> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@xxxxxxxxxxxxx>
> ---
> drivers/gpu/drm/rockchip/rk3066_hdmi.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/rockchip/rk3066_hdmi.c b/drivers/gpu/drm/rockchip/rk3066_hdmi.c
> index f28d6a883e09..c080abe676c4 100644
> --- a/drivers/gpu/drm/rockchip/rk3066_hdmi.c
> +++ b/drivers/gpu/drm/rockchip/rk3066_hdmi.c
> @@ -14,6 +14,7 @@
> #include <drm/drm_probe_helper.h>
>
> #include <linux/clk.h>
> +#include <linux/hdmi.h>
> #include <linux/mfd/syscon.h>
> #include <linux/platform_device.h>
> #include <linux/regmap.h>
> @@ -712,6 +713,7 @@ rk3066_hdmi_register(struct drm_device *drm, struct rk3066_hdmi *hdmi)
> hdmi->bridge.type = DRM_MODE_CONNECTOR_HDMIA;
> hdmi->bridge.vendor = "Rockchip";
> hdmi->bridge.product = "RK3066 HDMI";
> + hdmi->bridge.supported_hdmi_ver = HDMI_VERSION_1_3;

Is this correct or should this be HDMI_VERSION_1_4 ?
In the other 'Advertise HDMI N.M capabilities' patches, there is a (direct)
match between the version mention in the commit summary and the
supported_hdmi_ver property, but not here.

Cheers,
Diederik
>
> hdmi->bridge.ddc = rk3066_hdmi_i2c_adapter(hdmi);
> if (IS_ERR(hdmi->bridge.ddc))