Dear maintainer: I have changed the patch as your suggestion. v1->v2:make a new function for hdr info reset.
From: "feijuan.li" <feijuan...@samsung.com> Date: Fri, 18 Apr 2025 14:56:49 +0000 Subject: [PATCH v2] drm/edid: fixed the bug that hdr metadata was not reset When DP connected to a device with HDR capability, the hdr structure was filled.Then connected to another sink device without hdr capability, but the hdr info still exist. Signed-off-by: feijuan.li <feijuan...@samsung.com> --- drivers/gpu/drm/drm_edid.c 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index 13bc4c290b17..cd0e4148f6b0 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -6576,6 +6576,11 @@ static void drm_update_mso(struct drm_connector *connector, displayid_iter_end(&iter); } +static void drm_reset_hdr_sink_metadata(struct drm_connector *connector) +{ + memset(&connector->hdr_sink_metadata, 0, sizeof(connector->hdr_sink_metadata)); +} + /* A connector has no EDID information, so we've got no EDID to compute quirks from. Reset * all of the values which would have been set from EDID */ @@ -6651,6 +6656,7 @@ static void update_display_info(struct drm_connector *connector, struct drm_display_info *info = &connector->display_info; const struct edid *edid; + drm_reset_hdr_sink_metadata(connector); drm_reset_display_info(connector); clear_eld(connector); -- 2.25.1