[PATCH v3] drm/edid: fixed the bug that hdr metadata was not reset

feijuan.li posted 1 patch 9 months ago
drivers/gpu/drm/drm_edid.c | 1 +
1 file changed, 1 insertion(+)
[PATCH v3] drm/edid: fixed the bug that hdr metadata was not reset
Posted by feijuan.li 9 months ago
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 | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 13bc4c290b17..9edb3247c767 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -6596,6 +6596,7 @@ static void drm_reset_display_info(struct drm_connector *connector)
 	info->has_hdmi_infoframe = false;
 	info->rgb_quant_range_selectable = false;
 	memset(&info->hdmi, 0, sizeof(info->hdmi));
+	memset(&connector->hdr_sink_metadata, 0, sizeof(connector->hdr_sink_metadata));
 
 	info->edid_hdmi_rgb444_dc_modes = 0;
 	info->edid_hdmi_ycbcr444_dc_modes = 0;
-- 
2.25.1
Re: [PATCH v3] drm/edid: fixed the bug that hdr metadata was not reset
Posted by Jani Nikula 9 months ago
On Wed, 14 May 2025, "feijuan.li" <feijuan.li@samsung.com> wrote:
> 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>

Reviewed-by: Jani Nikula <jani.nikula@intel.com>


> ---
>  drivers/gpu/drm/drm_edid.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 13bc4c290b17..9edb3247c767 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -6596,6 +6596,7 @@ static void drm_reset_display_info(struct drm_connector *connector)
>  	info->has_hdmi_infoframe = false;
>  	info->rgb_quant_range_selectable = false;
>  	memset(&info->hdmi, 0, sizeof(info->hdmi));
> +	memset(&connector->hdr_sink_metadata, 0, sizeof(connector->hdr_sink_metadata));
>  
>  	info->edid_hdmi_rgb444_dc_modes = 0;
>  	info->edid_hdmi_ycbcr444_dc_modes = 0;

-- 
Jani Nikula, Intel
Re: [PATCH v3] drm/edid: fixed the bug that hdr metadata was not reset
Posted by Jani Nikula 8 months, 3 weeks ago
On Wed, 14 May 2025, Jani Nikula <jani.nikula@linux.intel.com> wrote:
> On Wed, 14 May 2025, "feijuan.li" <feijuan.li@samsung.com> wrote:
>> 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>
>
> Reviewed-by: Jani Nikula <jani.nikula@intel.com>

And pushed to drm-misc-fixes, with

Fixes: e85959d6cbe0 ("drm: Parse HDR metadata info from EDID")
Cc: <stable@vger.kernel.org> # v5.3+

Thanks for the patch.

BR,
Jani.


>
>
>> ---
>>  drivers/gpu/drm/drm_edid.c | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
>> index 13bc4c290b17..9edb3247c767 100644
>> --- a/drivers/gpu/drm/drm_edid.c
>> +++ b/drivers/gpu/drm/drm_edid.c
>> @@ -6596,6 +6596,7 @@ static void drm_reset_display_info(struct drm_connector *connector)
>>  	info->has_hdmi_infoframe = false;
>>  	info->rgb_quant_range_selectable = false;
>>  	memset(&info->hdmi, 0, sizeof(info->hdmi));
>> +	memset(&connector->hdr_sink_metadata, 0, sizeof(connector->hdr_sink_metadata));
>>  
>>  	info->edid_hdmi_rgb444_dc_modes = 0;
>>  	info->edid_hdmi_ycbcr444_dc_modes = 0;

-- 
Jani Nikula, Intel