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

Message ID 20260723-dw-hdmi-qp-scramb-v9-46-4fb12ea22ac9@collabora.com (mailing list archive)
State New
Headers
Series Add HDMI 2.0 support to DW HDMI QP TX |

Commit Message

Cristian Ciocaltea July 23, 2026, 1:35 a.m. UTC
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@collabora.com>
---
 drivers/gpu/drm/rockchip/rk3066_hdmi.c | 2 ++
 1 file changed, 2 insertions(+)
  

Comments

sashiko-bot@kernel.org July 23, 2026, 1:57 a.m. UTC | #1
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The code assigns `HDMI_VERSION_1_3` instead of `HDMI_VERSION_1_4`, directly contradicting the patch's stated intent to advertise HDMI 1.4 capabilities.
--

--- Patch [46]: [PATCH v9 46/61] drm/rockchip: rk3066_hdmi: Advertise HDMI 1.4 capabilities ---
commit 8a400446251ad4e071bf0a6818a9b90370bc4528
Author: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>

drm/rockchip: rk3066_hdmi: Advertise HDMI 1.4 capabilities

This commit updates the rk3066_hdmi driver to populate the
supported_hdmi_ver field in the drm_bridge structure. The stated goal in
the commit message is to advertise HDMI 1.4 capabilities so that the core
can correctly reject modes exceeding the TMDS character rate limit.

> diff --git a/drivers/gpu/drm/rockchip/rk3066_hdmi.c b/drivers/gpu/drm/rockchip/rk3066_hdmi.c
> index f28d6a883e099..c080abe676c42 100644
> --- a/drivers/gpu/drm/rockchip/rk3066_hdmi.c
> +++ b/drivers/gpu/drm/rockchip/rk3066_hdmi.c
[ ... ]
> @@ -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;

[Severity: Medium]
The commit message states the intent is to advertise HDMI 1.4 capabilities,
but in rk3066_hdmi_register(), this line assigns HDMI_VERSION_1_3 instead.

Does this cause the bridge to unconditionally advertise HDMI 1.3 capabilities
to the DRM core during initialization, potentially disabling HDMI 1.4 features?
Should this be set to HDMI_VERSION_1_4 to match the commit description?
  

Patch

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;
 
 	hdmi->bridge.ddc = rk3066_hdmi_i2c_adapter(hdmi);
 	if (IS_ERR(hdmi->bridge.ddc))