Skip to content

Commit 9a71cf8

Browse files
lumagmripard
authored andcommitted
drm/bridge-connector: reset the HDMI connector state
On HDMI connectors which use drm_bridge_connector and DRM_BRIDGE_OP_HDMI IGT chokes on the max_bpc property in several kms_properties tests due to the drm_bridge_connector failing to reset HDMI-related properties. Call __drm_atomic_helper_connector_hdmi_reset() if the drm_bridge_connector has bridge_hdmi. It is impossible to call this function from HDMI bridges, none of the bridge callbacks correspond to the drm_connector_funcs::reset(). Fixes: 6b4468b ("drm/bridge-connector: implement glue code for HDMI connector") Reviewed-by: Maxime Ripard <[email protected]> Acked-by: Maxime Ripard <[email protected]> Reviewed-by: Abhinav Kumar <[email protected]> Signed-off-by: Dmitry Baryshkov <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/20240903-drm-bridge-connector-fix-hdmi-reset-v5-3-daebde6d9857@linaro.org Signed-off-by: Maxime Ripard <[email protected]>
1 parent 9da7ec9 commit 9a71cf8

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

drivers/gpu/drm/display/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ if DRM_DISPLAY_HELPER
1515

1616
config DRM_BRIDGE_CONNECTOR
1717
bool
18+
select DRM_DISPLAY_HDMI_STATE_HELPER
1819
help
1920
DRM connector implementation terminating DRM bridge chains.
2021

drivers/gpu/drm/display/drm_bridge_connector.c

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,8 +216,19 @@ static void drm_bridge_connector_debugfs_init(struct drm_connector *connector,
216216
}
217217
}
218218

219+
static void drm_bridge_connector_reset(struct drm_connector *connector)
220+
{
221+
struct drm_bridge_connector *bridge_connector =
222+
to_drm_bridge_connector(connector);
223+
224+
drm_atomic_helper_connector_reset(connector);
225+
if (bridge_connector->bridge_hdmi)
226+
__drm_atomic_helper_connector_hdmi_reset(connector,
227+
connector->state);
228+
}
229+
219230
static const struct drm_connector_funcs drm_bridge_connector_funcs = {
220-
.reset = drm_atomic_helper_connector_reset,
231+
.reset = drm_bridge_connector_reset,
221232
.detect = drm_bridge_connector_detect,
222233
.fill_modes = drm_helper_probe_single_connector_modes,
223234
.atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,

0 commit comments

Comments
 (0)