* [PATCH v2] drm/edid: fixed the bug that hdr metadata was not cleared
[not found] <CGME20250416093607epcms5p344bcffd7430fe5e30ef9b73db73f7388@epcms5p8>
@ 2025-05-13 1:11 ` Feijuan Li
2025-05-13 8:31 ` Jani Nikula
0 siblings, 1 reply; 2+ messages in thread
From: Feijuan Li @ 2025-05-13 1:11 UTC (permalink / raw)
To: jingoohan1@gmail.com, maarten.lankhorst@linux.intel.com,
mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com,
simona@ffwll.ch, dri-devel@lists.freedesktop.org,
linux-kernel@vger.kernel.org
Cc: Hongfei Tang, Minggui Yan, Qilin Wang
Dear maintainer:
I have changed the patch as your suggestion.
v1->v2:make a new function for hdr info reset.
From: "feijuan.li" <feijuan.li@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.li@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
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v2] drm/edid: fixed the bug that hdr metadata was not cleared
2025-05-13 1:11 ` [PATCH v2] drm/edid: fixed the bug that hdr metadata was not cleared Feijuan Li
@ 2025-05-13 8:31 ` Jani Nikula
0 siblings, 0 replies; 2+ messages in thread
From: Jani Nikula @ 2025-05-13 8:31 UTC (permalink / raw)
To: feijuan.li, jingoohan1@gmail.com,
maarten.lankhorst@linux.intel.com, mripard@kernel.org,
tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch,
dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org
Cc: Hongfei Tang, Minggui Yan, Qilin Wang
On Tue, 13 May 2025, Feijuan Li <feijuan.li@samsung.com> wrote:
> Dear maintainer:
>
> I have changed the patch as your suggestion.
> v1->v2:make a new function for hdr info reset.
>
>
> From: "feijuan.li" <feijuan.li@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.li@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));
Please just put this memset inside drm_reset_display_info() right after:
memset(&info->hdmi, 0, sizeof(info->hdmi));
I have local patches to move hdr_sink_metadata as part of display info
anyway. Adding an extra function here is a bit much.
There's also something wrong with the formatting here. Please use git
send-email.
BR,
Jani.
> +}
> +
> /* 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
>
>
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-05-13 8:31 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <CGME20250416093607epcms5p344bcffd7430fe5e30ef9b73db73f7388@epcms5p8>
2025-05-13 1:11 ` [PATCH v2] drm/edid: fixed the bug that hdr metadata was not cleared Feijuan Li
2025-05-13 8:31 ` Jani Nikula
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).