2021-05-03 18:23:04

by Werner Sembach

[permalink] [raw]
Subject: [PATCH 2/4] Add missing check

Add a missing check that could potentially lead to an unarchivable mode being
validated.

Signed-off-by: Werner Sembach <[email protected]>
---

From 54fa706f0a5f260a32af5d18b9622ceebb94c12e Mon Sep 17 00:00:00 2001
From: Werner Sembach <[email protected]>
Date: Mon, 3 May 2021 14:42:36 +0200
Subject: [PATCH 2/4] Add missing check

---
drivers/gpu/drm/i915/display/intel_hdmi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
index 576d3d910d06..ce165ef28e88 100644
--- a/drivers/gpu/drm/i915/display/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
@@ -1913,7 +1913,7 @@ intel_hdmi_mode_valid(struct drm_connector *connector,
clock *= 2;
}

- if (drm_mode_is_420_only(&connector->display_info, mode))
+ if (connector->ycbcr_420_allowed && drm_mode_is_420_only(&connector->display_info, mode))
clock /= 2;

status = intel_hdmi_mode_clock_valid(hdmi, clock, has_hdmi_sink);
--
2.25.1


2021-05-04 09:43:49

by Ville Syrjälä

[permalink] [raw]
Subject: Re: [PATCH 2/4] Add missing check

On Mon, May 03, 2021 at 08:21:46PM +0200, Werner Sembach wrote:
> Add a missing check that could potentially lead to an unarchivable mode being
> validated.
>
> Signed-off-by: Werner Sembach <[email protected]>
> ---
>
> >From 54fa706f0a5f260a32af5d18b9622ceebb94c12e Mon Sep 17 00:00:00 2001
> From: Werner Sembach <[email protected]>
> Date: Mon, 3 May 2021 14:42:36 +0200
> Subject: [PATCH 2/4] Add missing check

I guess you did something a bit wonky with git format-patch/send-mail?

>
> ---
> drivers/gpu/drm/i915/display/intel_hdmi.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
> index 576d3d910d06..ce165ef28e88 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
> @@ -1913,7 +1913,7 @@ intel_hdmi_mode_valid(struct drm_connector *connector,
> clock *= 2;
> }
>
> - if (drm_mode_is_420_only(&connector->display_info, mode))
> + if (connector->ycbcr_420_allowed && drm_mode_is_420_only(&connector->display_info, mode))

This one shouldn't be necessary. drm_mode_validate_ycbcr420() has
already checked it for us.

> clock /= 2;
>
> status = intel_hdmi_mode_clock_valid(hdmi, clock, has_hdmi_sink);
> --
> 2.25.1

--
Ville Syrj?l?
Intel

2021-05-05 10:43:13

by Werner Sembach

[permalink] [raw]
Subject: Re: [PATCH 2/4] Add missing check

Am 04.05.21 um 11:41 schrieb Ville Syrjälä:

> On Mon, May 03, 2021 at 08:21:46PM +0200, Werner Sembach wrote:
>> Add a missing check that could potentially lead to an unarchivable mode being
>> validated.
>>
>> Signed-off-by: Werner Sembach <[email protected]>
>> ---
>>
>> >From 54fa706f0a5f260a32af5d18b9622ceebb94c12e Mon Sep 17 00:00:00 2001
>> From: Werner Sembach <[email protected]>
>> Date: Mon, 3 May 2021 14:42:36 +0200
>> Subject: [PATCH 2/4] Add missing check
> I guess you did something a bit wonky with git format-patch/send-mail?
I have no idea how that timestamp happened, I will check when sending my next patch ^^.
>> ---
>> drivers/gpu/drm/i915/display/intel_hdmi.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
>> index 576d3d910d06..ce165ef28e88 100644
>> --- a/drivers/gpu/drm/i915/display/intel_hdmi.c
>> +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
>> @@ -1913,7 +1913,7 @@ intel_hdmi_mode_valid(struct drm_connector *connector,
>> clock *= 2;
>> }
>>
>> - if (drm_mode_is_420_only(&connector->display_info, mode))
>> + if (connector->ycbcr_420_allowed && drm_mode_is_420_only(&connector->display_info, mode))
> This one shouldn't be necessary. drm_mode_validate_ycbcr420() has
> already checked it for us.
I wasn't aware of drm_mode_validate_ycbcr420, thanks for the hint. In the "420_also"-patch I change drm_mode_is_420_only to drm_mode_is_420 (helper function: _only + _also), which is not checked by drm_mode_validate_ycbcr420. I can add this check to that patch, since its only required then.
>> clock /= 2;
>>
>> status = intel_hdmi_mode_clock_valid(hdmi, clock, has_hdmi_sink);
>> --
>> 2.25.1