diff options
| author | Cristian Ciocaltea <cristian.ciocaltea@collabora.com> | 2026-09-01 21:50:29 +0300 |
|---|---|---|
| committer | Cristian Ciocaltea <cristian.ciocaltea@collabora.com> | 2026-09-19 23:03:43 +0300 |
| commit | cc6d8b2f87b97477ae25dcc1adb8e6e5a0088e4a (patch) | |
| tree | de774e3a517b62e434106a70def0585de1db0e26 /include | |
| parent | 400c9ede1ea4a4f26931a269b60de34cb26d51ec (diff) | |
drm/display: bridge_connector: Convert to drmm_connector_hdmi_init()
Switch drm_bridge_connector to the new drmm_connector_hdmi_init()
signature. The vendor, product, supported_formats and max_bpc values
now live in struct drm_connector_hdmi_funcs instead of being passed as
separate arguments. This allows future HDMI 2.x capabilities to be
plumbed without growing the function's argument list.
Introduce the supported_hdmi_ver field in struct drm_bridge to let
bridges declare the HDMI specification version they comply with,
as well as max_tmds_char_rate to allow them to override the limit
inferred from that version. This is particularly useful when handling
chip variants with different capabilities.
Additionally, add a warning in drm_bridge_add() if an HDMI bridge leaves
supported_hdmi_ver unset. This alerts bridge drivers setting the
DRM_BRIDGE_OP_HDMI flag that they must also declare their supported HDMI
version.
Tested-by: Maud Spierings <maud_spierings@hotmail.com>
Tested-by: Diederik de Haas <diederik@cknow-tech.com> # NanoPC-T6 LTS, Rock 5B
Reviewed-by: Maxime Ripard <mripard@kernel.org>
Tested-by: Igor Paunovic <royalnet026@gmail.com> # RK3588 Orange Pi 5 Plus, dual HDMI
Tested-by: Robin Räber <robin.raebi@gmail.com>
Link: https://patch.msgid.link/20260901-dw-hdmi-qp-scramb-v11-5-bc12954a0688@collabora.com
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Diffstat (limited to 'include')
| -rw-r--r-- | include/drm/drm_bridge.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/drm/drm_bridge.h b/include/drm/drm_bridge.h index 58fff047f43b..5a5a25995471 100644 --- a/include/drm/drm_bridge.h +++ b/include/drm/drm_bridge.h @@ -1082,6 +1082,12 @@ struct drm_bridge { const char *product; /** + * @supported_hdmi_ver: HDMI version the bridge is conformant with. + * This is only relevant if @DRM_BRIDGE_OP_HDMI is set. + */ + enum hdmi_version supported_hdmi_ver; + + /** * @supported_formats: Bitmask of @drm_output_color_format listing * supported output formats. This is only relevant if * @DRM_BRIDGE_OP_HDMI is set. @@ -1089,6 +1095,14 @@ struct drm_bridge { unsigned int supported_formats; /** + * @max_tmds_char_rate: Maximum TMDS character rate, in Hz, the HDMI + * bridge supports. A value of 0 means the core should use the default + * limit implied by @supported_hdmi_ver. This is only relevant if + * @DRM_BRIDGE_OP_HDMI is set. + */ + unsigned long long max_tmds_char_rate; + + /** * @max_bpc: Maximum bits per char the HDMI bridge supports. Allowed * values are 8, 10 and 12. This is only relevant if * @DRM_BRIDGE_OP_HDMI is set. |
