All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/edid: ignore the CEA modes not defined in CEA-861-D
@ 2022-05-31 10:34 ` William Tseng
  0 siblings, 0 replies; 27+ messages in thread
From: William Tseng @ 2022-05-31 10:34 UTC (permalink / raw)
  To: dri-devel; +Cc: Lee Shawn C, Wayne Lin, William Tseng

This is a workaround for HDMI 1.4 sink which has a CEA mode with higher vic
than what is defined in CEA-861-D.

As an example, a HDMI 1.4 sink has the video format 2560x1080p to be
displayed and the video format is indicated by both SVD (with vic 90 and
pictuure aspect ratio 64:27) and DTD.  When connecting to such sink,
source can't output the video format in SVD because an error is returned by
drm_hdmi_avi_infoframe_from_display_mode(), which can't fill the infoframe
with pictuure aspect ratio 64:27 and the vic, which is originally 90 and is
changed to 0 by drm_mode_cea_vic().

To work around it, this patch ignores such CEA modes in do_cea_modes() so
the modes won't be processed in drm_hdmi_avi_infoframe_from_display_mode().
And only the video format in DTD can be dispalyed.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Wayne Lin <waynelin@amd.com>
Cc: Lee Shawn C <shawn.c.lee@intel.com>
Signed-off-by: William Tseng <william.tseng@intel.com>
---
 drivers/gpu/drm/drm_edid.c | 39 +++++++++++++++++++++++++-------------
 1 file changed, 26 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index bc43e1b32092..a93f68878bfd 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -3982,6 +3982,19 @@ drm_display_mode_from_cea_vic(struct drm_device *dev,
 }
 EXPORT_SYMBOL(drm_display_mode_from_cea_vic);
 
+static bool is_hdmi2_sink(const struct drm_connector *connector)
+{
+	/*
+	 * FIXME: sil-sii8620 doesn't have a connector around when
+	 * we need one, so we have to be prepared for a NULL connector.
+	 */
+	if (!connector)
+		return true;
+
+	return connector->display_info.hdmi.scdc.supported ||
+		connector->display_info.color_formats & DRM_COLOR_FORMAT_YCBCR420;
+}
+
 static int
 do_cea_modes(struct drm_connector *connector, const u8 *db, u8 len)
 {
@@ -3993,6 +4006,19 @@ do_cea_modes(struct drm_connector *connector, const u8 *db, u8 len)
 
 		mode = drm_display_mode_from_vic_index(connector, db, len, i);
 		if (mode) {
+			u8 vic = svd_to_vic(db[i]);
+
+			if (!drm_valid_cea_vic(vic))
+				continue;
+
+			/*
+			 * HDMI 1.4 VIC range: 1 <= VIC <= 64 (CEA-861-D) but
+			 * HDMI 2.0 VIC range: 1 <= VIC <= 107 (CEA-861-F). So we
+			 * have to make sure we dont break HDMI 1.4 sinks.
+			 */
+			if (!is_hdmi2_sink(connector) && vic > 64)
+				continue;
+
 			/*
 			 * YCBCR420 capability block contains a bitmap which
 			 * gives the index of CEA modes from CEA VDB, which
@@ -5846,19 +5872,6 @@ void drm_set_preferred_mode(struct drm_connector *connector,
 }
 EXPORT_SYMBOL(drm_set_preferred_mode);
 
-static bool is_hdmi2_sink(const struct drm_connector *connector)
-{
-	/*
-	 * FIXME: sil-sii8620 doesn't have a connector around when
-	 * we need one, so we have to be prepared for a NULL connector.
-	 */
-	if (!connector)
-		return true;
-
-	return connector->display_info.hdmi.scdc.supported ||
-		connector->display_info.color_formats & DRM_COLOR_FORMAT_YCBCR420;
-}
-
 static u8 drm_mode_hdmi_vic(const struct drm_connector *connector,
 			    const struct drm_display_mode *mode)
 {
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [Intel-gfx] [PATCH] drm/edid: ignore the CEA modes not defined in CEA-861-D
@ 2022-05-31 10:34 ` William Tseng
  0 siblings, 0 replies; 27+ messages in thread
From: William Tseng @ 2022-05-31 10:34 UTC (permalink / raw)
  To: dri-devel; +Cc: Wayne Lin, William Tseng

This is a workaround for HDMI 1.4 sink which has a CEA mode with higher vic
than what is defined in CEA-861-D.

As an example, a HDMI 1.4 sink has the video format 2560x1080p to be
displayed and the video format is indicated by both SVD (with vic 90 and
pictuure aspect ratio 64:27) and DTD.  When connecting to such sink,
source can't output the video format in SVD because an error is returned by
drm_hdmi_avi_infoframe_from_display_mode(), which can't fill the infoframe
with pictuure aspect ratio 64:27 and the vic, which is originally 90 and is
changed to 0 by drm_mode_cea_vic().

To work around it, this patch ignores such CEA modes in do_cea_modes() so
the modes won't be processed in drm_hdmi_avi_infoframe_from_display_mode().
And only the video format in DTD can be dispalyed.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Wayne Lin <waynelin@amd.com>
Cc: Lee Shawn C <shawn.c.lee@intel.com>
Signed-off-by: William Tseng <william.tseng@intel.com>
---
 drivers/gpu/drm/drm_edid.c | 39 +++++++++++++++++++++++++-------------
 1 file changed, 26 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index bc43e1b32092..a93f68878bfd 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -3982,6 +3982,19 @@ drm_display_mode_from_cea_vic(struct drm_device *dev,
 }
 EXPORT_SYMBOL(drm_display_mode_from_cea_vic);
 
+static bool is_hdmi2_sink(const struct drm_connector *connector)
+{
+	/*
+	 * FIXME: sil-sii8620 doesn't have a connector around when
+	 * we need one, so we have to be prepared for a NULL connector.
+	 */
+	if (!connector)
+		return true;
+
+	return connector->display_info.hdmi.scdc.supported ||
+		connector->display_info.color_formats & DRM_COLOR_FORMAT_YCBCR420;
+}
+
 static int
 do_cea_modes(struct drm_connector *connector, const u8 *db, u8 len)
 {
@@ -3993,6 +4006,19 @@ do_cea_modes(struct drm_connector *connector, const u8 *db, u8 len)
 
 		mode = drm_display_mode_from_vic_index(connector, db, len, i);
 		if (mode) {
+			u8 vic = svd_to_vic(db[i]);
+
+			if (!drm_valid_cea_vic(vic))
+				continue;
+
+			/*
+			 * HDMI 1.4 VIC range: 1 <= VIC <= 64 (CEA-861-D) but
+			 * HDMI 2.0 VIC range: 1 <= VIC <= 107 (CEA-861-F). So we
+			 * have to make sure we dont break HDMI 1.4 sinks.
+			 */
+			if (!is_hdmi2_sink(connector) && vic > 64)
+				continue;
+
 			/*
 			 * YCBCR420 capability block contains a bitmap which
 			 * gives the index of CEA modes from CEA VDB, which
@@ -5846,19 +5872,6 @@ void drm_set_preferred_mode(struct drm_connector *connector,
 }
 EXPORT_SYMBOL(drm_set_preferred_mode);
 
-static bool is_hdmi2_sink(const struct drm_connector *connector)
-{
-	/*
-	 * FIXME: sil-sii8620 doesn't have a connector around when
-	 * we need one, so we have to be prepared for a NULL connector.
-	 */
-	if (!connector)
-		return true;
-
-	return connector->display_info.hdmi.scdc.supported ||
-		connector->display_info.color_formats & DRM_COLOR_FORMAT_YCBCR420;
-}
-
 static u8 drm_mode_hdmi_vic(const struct drm_connector *connector,
 			    const struct drm_display_mode *mode)
 {
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* Re: [PATCH] drm/edid: ignore the CEA modes not defined in CEA-861-D
  2022-05-31 10:34 ` [Intel-gfx] " William Tseng
  (?)
@ 2022-05-31 10:56 ` Jani Nikula
  2022-05-31 11:06   ` Jani Nikula
  2022-06-01  9:42   ` Tseng, William
  -1 siblings, 2 replies; 27+ messages in thread
From: Jani Nikula @ 2022-05-31 10:56 UTC (permalink / raw)
  To: William Tseng, dri-devel; +Cc: Wayne Lin, Lee Shawn C, William Tseng

On Tue, 31 May 2022, William Tseng <william.tseng@intel.com> wrote:
> This is a workaround for HDMI 1.4 sink which has a CEA mode with higher vic
> than what is defined in CEA-861-D.
>
> As an example, a HDMI 1.4 sink has the video format 2560x1080p to be
> displayed and the video format is indicated by both SVD (with vic 90 and
> pictuure aspect ratio 64:27) and DTD.  When connecting to such sink,
> source can't output the video format in SVD because an error is returned by
> drm_hdmi_avi_infoframe_from_display_mode(), which can't fill the infoframe
> with pictuure aspect ratio 64:27 and the vic, which is originally 90 and is
> changed to 0 by drm_mode_cea_vic().
>
> To work around it, this patch ignores such CEA modes in do_cea_modes() so
> the modes won't be processed in drm_hdmi_avi_infoframe_from_display_mode().
> And only the video format in DTD can be dispalyed.
>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Wayne Lin <waynelin@amd.com>
> Cc: Lee Shawn C <shawn.c.lee@intel.com>
> Signed-off-by: William Tseng <william.tseng@intel.com>
> ---
>  drivers/gpu/drm/drm_edid.c | 39 +++++++++++++++++++++++++-------------
>  1 file changed, 26 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index bc43e1b32092..a93f68878bfd 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -3982,6 +3982,19 @@ drm_display_mode_from_cea_vic(struct drm_device *dev,
>  }
>  EXPORT_SYMBOL(drm_display_mode_from_cea_vic);
>  
> +static bool is_hdmi2_sink(const struct drm_connector *connector)
> +{
> +	/*
> +	 * FIXME: sil-sii8620 doesn't have a connector around when
> +	 * we need one, so we have to be prepared for a NULL connector.
> +	 */
> +	if (!connector)
> +		return true;
> +
> +	return connector->display_info.hdmi.scdc.supported ||
> +		connector->display_info.color_formats & DRM_COLOR_FORMAT_YCBCR420;
> +}
> +
>  static int
>  do_cea_modes(struct drm_connector *connector, const u8 *db, u8 len)
>  {
> @@ -3993,6 +4006,19 @@ do_cea_modes(struct drm_connector *connector, const u8 *db, u8 len)
>  
>  		mode = drm_display_mode_from_vic_index(connector, db, len, i);
>  		if (mode) {
> +			u8 vic = svd_to_vic(db[i]);
> +
> +			if (!drm_valid_cea_vic(vic))
> +				continue;

drm_display_mode_from_vic_index() returns NULL in this case.

> +
> +			/*
> +			 * HDMI 1.4 VIC range: 1 <= VIC <= 64 (CEA-861-D) but
> +			 * HDMI 2.0 VIC range: 1 <= VIC <= 107 (CEA-861-F). So we
> +			 * have to make sure we dont break HDMI 1.4 sinks.
> +			 */
> +			if (!is_hdmi2_sink(connector) && vic > 64)
> +				continue;

I'll need to double check if this is the right thing to do... but I
guess the question becomes if this shouldn't be within
drm_display_mode_from_vic_index().

Duplicating the condition from drm_mode_cea_vic() is probably not a good
idea.

The continues in both above branches leak the mode.


BR,
Jani.


> +
>  			/*
>  			 * YCBCR420 capability block contains a bitmap which
>  			 * gives the index of CEA modes from CEA VDB, which
> @@ -5846,19 +5872,6 @@ void drm_set_preferred_mode(struct drm_connector *connector,
>  }
>  EXPORT_SYMBOL(drm_set_preferred_mode);
>  
> -static bool is_hdmi2_sink(const struct drm_connector *connector)
> -{
> -	/*
> -	 * FIXME: sil-sii8620 doesn't have a connector around when
> -	 * we need one, so we have to be prepared for a NULL connector.
> -	 */
> -	if (!connector)
> -		return true;
> -
> -	return connector->display_info.hdmi.scdc.supported ||
> -		connector->display_info.color_formats & DRM_COLOR_FORMAT_YCBCR420;
> -}
> -
>  static u8 drm_mode_hdmi_vic(const struct drm_connector *connector,
>  			    const struct drm_display_mode *mode)
>  {

-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH] drm/edid: ignore the CEA modes not defined in CEA-861-D
  2022-05-31 10:56 ` Jani Nikula
@ 2022-05-31 11:06   ` Jani Nikula
  2022-06-01  9:43     ` Tseng, William
  2022-06-01  9:42   ` Tseng, William
  1 sibling, 1 reply; 27+ messages in thread
From: Jani Nikula @ 2022-05-31 11:06 UTC (permalink / raw)
  To: William Tseng, dri-devel; +Cc: Wayne Lin, Lee Shawn C, William Tseng

On Tue, 31 May 2022, Jani Nikula <jani.nikula@linux.intel.com> wrote:
> On Tue, 31 May 2022, William Tseng <william.tseng@intel.com> wrote:
>> This is a workaround for HDMI 1.4 sink which has a CEA mode with higher vic
>> than what is defined in CEA-861-D.
>>
>> As an example, a HDMI 1.4 sink has the video format 2560x1080p to be
>> displayed and the video format is indicated by both SVD (with vic 90 and
>> pictuure aspect ratio 64:27) and DTD.  When connecting to such sink,
>> source can't output the video format in SVD because an error is returned by
>> drm_hdmi_avi_infoframe_from_display_mode(), which can't fill the infoframe
>> with pictuure aspect ratio 64:27 and the vic, which is originally 90 and is
>> changed to 0 by drm_mode_cea_vic().
>>
>> To work around it, this patch ignores such CEA modes in do_cea_modes() so
>> the modes won't be processed in drm_hdmi_avi_infoframe_from_display_mode().
>> And only the video format in DTD can be dispalyed.

I think we should also have a bug filed on this, with the offending EDID
attached for posterity.

BR,
Jani.


>>
>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> Cc: Wayne Lin <waynelin@amd.com>
>> Cc: Lee Shawn C <shawn.c.lee@intel.com>
>> Signed-off-by: William Tseng <william.tseng@intel.com>
>> ---
>>  drivers/gpu/drm/drm_edid.c | 39 +++++++++++++++++++++++++-------------
>>  1 file changed, 26 insertions(+), 13 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
>> index bc43e1b32092..a93f68878bfd 100644
>> --- a/drivers/gpu/drm/drm_edid.c
>> +++ b/drivers/gpu/drm/drm_edid.c
>> @@ -3982,6 +3982,19 @@ drm_display_mode_from_cea_vic(struct drm_device *dev,
>>  }
>>  EXPORT_SYMBOL(drm_display_mode_from_cea_vic);
>>  
>> +static bool is_hdmi2_sink(const struct drm_connector *connector)
>> +{
>> +	/*
>> +	 * FIXME: sil-sii8620 doesn't have a connector around when
>> +	 * we need one, so we have to be prepared for a NULL connector.
>> +	 */
>> +	if (!connector)
>> +		return true;
>> +
>> +	return connector->display_info.hdmi.scdc.supported ||
>> +		connector->display_info.color_formats & DRM_COLOR_FORMAT_YCBCR420;
>> +}
>> +
>>  static int
>>  do_cea_modes(struct drm_connector *connector, const u8 *db, u8 len)
>>  {
>> @@ -3993,6 +4006,19 @@ do_cea_modes(struct drm_connector *connector, const u8 *db, u8 len)
>>  
>>  		mode = drm_display_mode_from_vic_index(connector, db, len, i);
>>  		if (mode) {
>> +			u8 vic = svd_to_vic(db[i]);
>> +
>> +			if (!drm_valid_cea_vic(vic))
>> +				continue;
>
> drm_display_mode_from_vic_index() returns NULL in this case.
>
>> +
>> +			/*
>> +			 * HDMI 1.4 VIC range: 1 <= VIC <= 64 (CEA-861-D) but
>> +			 * HDMI 2.0 VIC range: 1 <= VIC <= 107 (CEA-861-F). So we
>> +			 * have to make sure we dont break HDMI 1.4 sinks.
>> +			 */
>> +			if (!is_hdmi2_sink(connector) && vic > 64)
>> +				continue;
>
> I'll need to double check if this is the right thing to do... but I
> guess the question becomes if this shouldn't be within
> drm_display_mode_from_vic_index().
>
> Duplicating the condition from drm_mode_cea_vic() is probably not a good
> idea.
>
> The continues in both above branches leak the mode.
>
>
> BR,
> Jani.
>
>
>> +
>>  			/*
>>  			 * YCBCR420 capability block contains a bitmap which
>>  			 * gives the index of CEA modes from CEA VDB, which
>> @@ -5846,19 +5872,6 @@ void drm_set_preferred_mode(struct drm_connector *connector,
>>  }
>>  EXPORT_SYMBOL(drm_set_preferred_mode);
>>  
>> -static bool is_hdmi2_sink(const struct drm_connector *connector)
>> -{
>> -	/*
>> -	 * FIXME: sil-sii8620 doesn't have a connector around when
>> -	 * we need one, so we have to be prepared for a NULL connector.
>> -	 */
>> -	if (!connector)
>> -		return true;
>> -
>> -	return connector->display_info.hdmi.scdc.supported ||
>> -		connector->display_info.color_formats & DRM_COLOR_FORMAT_YCBCR420;
>> -}
>> -
>>  static u8 drm_mode_hdmi_vic(const struct drm_connector *connector,
>>  			    const struct drm_display_mode *mode)
>>  {

-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/edid: ignore the CEA modes not defined in CEA-861-D (rev2)
  2022-05-31 10:34 ` [Intel-gfx] " William Tseng
  (?)
  (?)
@ 2022-05-31 13:55 ` Patchwork
  -1 siblings, 0 replies; 27+ messages in thread
From: Patchwork @ 2022-05-31 13:55 UTC (permalink / raw)
  To: William Tseng; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 8272 bytes --]

== Series Details ==

Series: drm/edid: ignore the CEA modes not defined in CEA-861-D (rev2)
URL   : https://patchwork.freedesktop.org/series/104539/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_11710 -> Patchwork_104539v2
====================================================

Summary
-------

  **WARNING**

  Minor unknown changes coming with Patchwork_104539v2 need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_104539v2, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/index.html

Participating hosts (46 -> 47)
------------------------------

  Additional (2): bat-rpls-2 bat-dg2-9 
  Missing    (1): bat-dg1-5 

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_104539v2:

### IGT changes ###

#### Warnings ####

  * igt@debugfs_test@read_all_entries:
    - fi-apl-guc:         [DMESG-WARN][1] ([i915#5595]) -> [DMESG-WARN][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/fi-apl-guc/igt@debugfs_test@read_all_entries.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/fi-apl-guc/igt@debugfs_test@read_all_entries.html

  
Known issues
------------

  Here are the changes found in Patchwork_104539v2 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live@gem:
    - fi-blb-e6850:       NOTRUN -> [DMESG-FAIL][3] ([i915#4528])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/fi-blb-e6850/igt@i915_selftest@live@gem.html

  * igt@i915_selftest@live@hangcheck:
    - fi-hsw-g3258:       [PASS][4] -> [INCOMPLETE][5] ([i915#3303] / [i915#4785])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/fi-hsw-g3258/igt@i915_selftest@live@hangcheck.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/fi-hsw-g3258/igt@i915_selftest@live@hangcheck.html
    - fi-bdw-5557u:       NOTRUN -> [INCOMPLETE][6] ([i915#3921])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/fi-bdw-5557u/igt@i915_selftest@live@hangcheck.html

  * igt@i915_selftest@live@requests:
    - fi-pnv-d510:        [PASS][7] -> [DMESG-FAIL][8] ([i915#4528])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/fi-pnv-d510/igt@i915_selftest@live@requests.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/fi-pnv-d510/igt@i915_selftest@live@requests.html

  * igt@i915_suspend@basic-s2idle-without-i915:
    - bat-dg1-6:          NOTRUN -> [INCOMPLETE][9] ([i915#6011])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/bat-dg1-6/igt@i915_suspend@basic-s2idle-without-i915.html

  * igt@runner@aborted:
    - fi-pnv-d510:        NOTRUN -> [FAIL][10] ([fdo#109271] / [i915#2403] / [i915#4312])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/fi-pnv-d510/igt@runner@aborted.html
    - fi-hsw-g3258:       NOTRUN -> [FAIL][11] ([fdo#109271] / [i915#4312])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/fi-hsw-g3258/igt@runner@aborted.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@gt_engines:
    - bat-dg1-6:          [INCOMPLETE][12] ([i915#4418]) -> [PASS][13]
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/bat-dg1-6/igt@i915_selftest@live@gt_engines.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/bat-dg1-6/igt@i915_selftest@live@gt_engines.html

  * igt@i915_selftest@live@gt_pm:
    - fi-tgl-1115g4:      [DMESG-FAIL][14] ([i915#3987]) -> [PASS][15]
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/fi-tgl-1115g4/igt@i915_selftest@live@gt_pm.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/fi-tgl-1115g4/igt@i915_selftest@live@gt_pm.html

  * igt@i915_selftest@live@gt_timelines:
    - {bat-adlm-1}:       [INCOMPLETE][16] ([i915#6132]) -> [PASS][17]
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/bat-adlm-1/igt@i915_selftest@live@gt_timelines.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/bat-adlm-1/igt@i915_selftest@live@gt_timelines.html

  * igt@i915_selftest@live@mman:
    - fi-bdw-5557u:       [INCOMPLETE][18] ([i915#5704]) -> [PASS][19]
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/fi-bdw-5557u/igt@i915_selftest@live@mman.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/fi-bdw-5557u/igt@i915_selftest@live@mman.html

  * igt@i915_selftest@live@requests:
    - fi-blb-e6850:       [DMESG-FAIL][20] ([i915#4528]) -> [PASS][21]
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/fi-blb-e6850/igt@i915_selftest@live@requests.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/fi-blb-e6850/igt@i915_selftest@live@requests.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1155]: https://gitlab.freedesktop.org/drm/intel/issues/1155
  [i915#2403]: https://gitlab.freedesktop.org/drm/intel/issues/2403
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
  [i915#3303]: https://gitlab.freedesktop.org/drm/intel/issues/3303
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3595]: https://gitlab.freedesktop.org/drm/intel/issues/3595
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3921]: https://gitlab.freedesktop.org/drm/intel/issues/3921
  [i915#3987]: https://gitlab.freedesktop.org/drm/intel/issues/3987
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215
  [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#4418]: https://gitlab.freedesktop.org/drm/intel/issues/4418
  [i915#4528]: https://gitlab.freedesktop.org/drm/intel/issues/4528
  [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
  [i915#4785]: https://gitlab.freedesktop.org/drm/intel/issues/4785
  [i915#4873]: https://gitlab.freedesktop.org/drm/intel/issues/4873
  [i915#5122]: https://gitlab.freedesktop.org/drm/intel/issues/5122
  [i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190
  [i915#5274]: https://gitlab.freedesktop.org/drm/intel/issues/5274
  [i915#5595]: https://gitlab.freedesktop.org/drm/intel/issues/5595
  [i915#5704]: https://gitlab.freedesktop.org/drm/intel/issues/5704
  [i915#5763]: https://gitlab.freedesktop.org/drm/intel/issues/5763
  [i915#5885]: https://gitlab.freedesktop.org/drm/intel/issues/5885
  [i915#5999]: https://gitlab.freedesktop.org/drm/intel/issues/5999
  [i915#6011]: https://gitlab.freedesktop.org/drm/intel/issues/6011
  [i915#6132]: https://gitlab.freedesktop.org/drm/intel/issues/6132


Build changes
-------------

  * Linux: CI_DRM_11710 -> Patchwork_104539v2

  CI-20190529: 20190529
  CI_DRM_11710: d2798c4b9213f0d14080bdeef58e692a2c01a0bf @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6500: de4c6076a0f38ad3522b08931748f59d59a925ce @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_104539v2: d2798c4b9213f0d14080bdeef58e692a2c01a0bf @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

6fccaad4a171 drm/edid: ignore the CEA modes not defined in CEA-861-D

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/index.html

[-- Attachment #2: Type: text/html, Size: 7840 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Intel-gfx] ✗ Fi.CI.IGT: failure for drm/edid: ignore the CEA modes not defined in CEA-861-D (rev2)
  2022-05-31 10:34 ` [Intel-gfx] " William Tseng
                   ` (2 preceding siblings ...)
  (?)
@ 2022-05-31 16:15 ` Patchwork
  -1 siblings, 0 replies; 27+ messages in thread
From: Patchwork @ 2022-05-31 16:15 UTC (permalink / raw)
  To: William Tseng; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 38598 bytes --]

== Series Details ==

Series: drm/edid: ignore the CEA modes not defined in CEA-861-D (rev2)
URL   : https://patchwork.freedesktop.org/series/104539/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_11710_full -> Patchwork_104539v2_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_104539v2_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_104539v2_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  

Participating hosts (13 -> 13)
------------------------------

  No changes in participating hosts

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_104539v2_full:

### IGT changes ###

#### Possible regressions ####

  * igt@kms_cursor_legacy@all-pipes-torture-move:
    - shard-iclb:         [PASS][1] -> [INCOMPLETE][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-iclb1/igt@kms_cursor_legacy@all-pipes-torture-move.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-iclb4/igt@kms_cursor_legacy@all-pipes-torture-move.html

  
#### Warnings ####

  * igt@kms_cursor_crc@pipe-d-cursor-128x42-rapid-movement:
    - shard-skl:          [SKIP][3] ([fdo#109271]) -> [INCOMPLETE][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-skl6/igt@kms_cursor_crc@pipe-d-cursor-128x42-rapid-movement.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-skl3/igt@kms_cursor_crc@pipe-d-cursor-128x42-rapid-movement.html

  
New tests
---------

  New tests have been introduced between CI_DRM_11710_full and Patchwork_104539v2_full:

### New IGT tests (9) ###

  * igt@kms_flip@single-buffer-flip-vs-dpms-off-vs-modeset-interruptible@d-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [0.62] s

  * igt@kms_plane_scaling@planes-downscale-factor-0-5@pipe-a-hdmi-a-3:
    - Statuses : 1 pass(s)
    - Exec time: [0.26] s

  * igt@kms_plane_scaling@planes-downscale-factor-0-5@pipe-b-hdmi-a-3:
    - Statuses : 1 pass(s)
    - Exec time: [0.20] s

  * igt@kms_plane_scaling@planes-downscale-factor-0-5@pipe-c-hdmi-a-3:
    - Statuses : 1 pass(s)
    - Exec time: [0.20] s

  * igt@kms_plane_scaling@planes-downscale-factor-0-5@pipe-d-hdmi-a-3:
    - Statuses : 1 pass(s)
    - Exec time: [0.20] s

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-75@pipe-a-hdmi-a-3:
    - Statuses : 1 pass(s)
    - Exec time: [0.21] s

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-75@pipe-b-hdmi-a-3:
    - Statuses : 1 pass(s)
    - Exec time: [0.20] s

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-75@pipe-c-hdmi-a-3:
    - Statuses : 1 pass(s)
    - Exec time: [0.20] s

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-75@pipe-d-hdmi-a-3:
    - Statuses : 1 pass(s)
    - Exec time: [0.20] s

  

Known issues
------------

  Here are the changes found in Patchwork_104539v2_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_eio@unwedge-stress:
    - shard-skl:          NOTRUN -> [TIMEOUT][5] ([i915#3063])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-skl1/igt@gem_eio@unwedge-stress.html

  * igt@gem_exec_capture@pi@bcs0:
    - shard-iclb:         [PASS][6] -> [INCOMPLETE][7] ([i915#3371])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-iclb7/igt@gem_exec_capture@pi@bcs0.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-iclb2/igt@gem_exec_capture@pi@bcs0.html

  * igt@gem_exec_fair@basic-none@vcs0:
    - shard-apl:          [PASS][8] -> [FAIL][9] ([i915#2842])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-apl8/igt@gem_exec_fair@basic-none@vcs0.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-apl3/igt@gem_exec_fair@basic-none@vcs0.html

  * igt@gem_exec_fair@basic-pace-solo@rcs0:
    - shard-iclb:         [PASS][10] -> [FAIL][11] ([i915#2842])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-iclb5/igt@gem_exec_fair@basic-pace-solo@rcs0.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-iclb1/igt@gem_exec_fair@basic-pace-solo@rcs0.html

  * igt@gem_exec_fair@basic-pace@rcs0:
    - shard-kbl:          [PASS][12] -> [FAIL][13] ([i915#2842]) +2 similar issues
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-kbl7/igt@gem_exec_fair@basic-pace@rcs0.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-kbl7/igt@gem_exec_fair@basic-pace@rcs0.html

  * igt@gem_exec_fair@basic-pace@vcs0:
    - shard-glk:          [PASS][14] -> [FAIL][15] ([i915#2842])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-glk2/igt@gem_exec_fair@basic-pace@vcs0.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-glk4/igt@gem_exec_fair@basic-pace@vcs0.html

  * igt@gem_exec_flush@basic-uc-ro-default:
    - shard-snb:          [PASS][16] -> [SKIP][17] ([fdo#109271]) +2 similar issues
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-snb5/igt@gem_exec_flush@basic-uc-ro-default.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-snb6/igt@gem_exec_flush@basic-uc-ro-default.html

  * igt@gem_exec_whisper@basic-contexts:
    - shard-glk:          [PASS][18] -> [DMESG-WARN][19] ([i915#118])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-glk8/igt@gem_exec_whisper@basic-contexts.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-glk5/igt@gem_exec_whisper@basic-contexts.html

  * igt@gem_lmem_swapping@parallel-random-verify:
    - shard-apl:          NOTRUN -> [SKIP][20] ([fdo#109271] / [i915#4613]) +1 similar issue
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-apl1/igt@gem_lmem_swapping@parallel-random-verify.html

  * igt@gem_lmem_swapping@verify-random-ccs:
    - shard-skl:          NOTRUN -> [SKIP][21] ([fdo#109271] / [i915#4613]) +2 similar issues
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-skl7/igt@gem_lmem_swapping@verify-random-ccs.html

  * igt@gem_mmap_wc@read-write-distinct:
    - shard-skl:          NOTRUN -> [DMESG-WARN][22] ([i915#1982])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-skl2/igt@gem_mmap_wc@read-write-distinct.html

  * igt@gem_userptr_blits@input-checking:
    - shard-skl:          NOTRUN -> [DMESG-WARN][23] ([i915#4991])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-skl1/igt@gem_userptr_blits@input-checking.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
    - shard-skl:          NOTRUN -> [SKIP][24] ([fdo#109271]) +146 similar issues
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-skl2/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html

  * igt@kms_ccs@pipe-a-random-ccs-data-y_tiled_gen12_mc_ccs:
    - shard-skl:          NOTRUN -> [SKIP][25] ([fdo#109271] / [i915#3886]) +1 similar issue
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-skl2/igt@kms_ccs@pipe-a-random-ccs-data-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-c-crc-primary-basic-y_tiled_gen12_rc_ccs_cc:
    - shard-apl:          NOTRUN -> [SKIP][26] ([fdo#109271] / [i915#3886]) +3 similar issues
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-apl2/igt@kms_ccs@pipe-c-crc-primary-basic-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_chamelium@hdmi-crc-nonplanar-formats:
    - shard-apl:          NOTRUN -> [SKIP][27] ([fdo#109271] / [fdo#111827]) +3 similar issues
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-apl1/igt@kms_chamelium@hdmi-crc-nonplanar-formats.html

  * igt@kms_color_chamelium@pipe-b-ctm-0-25:
    - shard-skl:          NOTRUN -> [SKIP][28] ([fdo#109271] / [fdo#111827]) +10 similar issues
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-skl2/igt@kms_color_chamelium@pipe-b-ctm-0-25.html

  * igt@kms_cursor_crc@pipe-c-cursor-suspend:
    - shard-apl:          [PASS][29] -> [DMESG-WARN][30] ([i915#180]) +1 similar issue
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-apl3/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-apl2/igt@kms_cursor_crc@pipe-c-cursor-suspend.html

  * igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size:
    - shard-iclb:         [PASS][31] -> [FAIL][32] ([i915#5072])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-iclb5/igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-iclb7/igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
    - shard-glk:          [PASS][33] -> [FAIL][34] ([i915#2346] / [i915#533])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-glk6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-glk4/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@flip-vs-cursor-busy-crc-atomic:
    - shard-skl:          [PASS][35] -> [FAIL][36] ([i915#2346])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-skl9/igt@kms_cursor_legacy@flip-vs-cursor-busy-crc-atomic.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-skl4/igt@kms_cursor_legacy@flip-vs-cursor-busy-crc-atomic.html

  * igt@kms_cursor_legacy@flip-vs-cursor-varying-size:
    - shard-iclb:         [PASS][37] -> [FAIL][38] ([i915#2346])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-iclb5/igt@kms_cursor_legacy@flip-vs-cursor-varying-size.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-iclb7/igt@kms_cursor_legacy@flip-vs-cursor-varying-size.html

  * igt@kms_flip@flip-vs-blocking-wf-vblank@b-edp1:
    - shard-skl:          [PASS][39] -> [FAIL][40] ([i915#2122]) +1 similar issue
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-skl8/igt@kms_flip@flip-vs-blocking-wf-vblank@b-edp1.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-skl2/igt@kms_flip@flip-vs-blocking-wf-vblank@b-edp1.html

  * igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1:
    - shard-glk:          [PASS][41] -> [FAIL][42] ([i915#79])
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-glk2/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-glk8/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling:
    - shard-iclb:         [PASS][43] -> [SKIP][44] ([i915#3701]) +2 similar issues
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-iclb4/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-iclb2/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-cpu:
    - shard-glk:          [PASS][45] -> [FAIL][46] ([i915#1888] / [i915#2546])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-glk1/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-cpu.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-glk3/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-cpu.html

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-d-frame-sequence:
    - shard-skl:          NOTRUN -> [SKIP][47] ([fdo#109271] / [i915#533])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-skl7/igt@kms_pipe_crc_basic@nonblocking-crc-pipe-d-frame-sequence.html

  * igt@kms_pipe_crc_basic@read-crc-pipe-d:
    - shard-apl:          NOTRUN -> [SKIP][48] ([fdo#109271] / [i915#533])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-apl2/igt@kms_pipe_crc_basic@read-crc-pipe-d.html

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-max:
    - shard-skl:          NOTRUN -> [FAIL][49] ([fdo#108145] / [i915#265])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-skl2/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-max.html

  * igt@kms_plane_alpha_blend@pipe-c-constant-alpha-max:
    - shard-apl:          NOTRUN -> [FAIL][50] ([fdo#108145] / [i915#265])
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-apl2/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-max.html

  * igt@kms_plane_multiple@atomic-pipe-d-tiling-yf:
    - shard-apl:          NOTRUN -> [SKIP][51] ([fdo#109271]) +39 similar issues
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-apl1/igt@kms_plane_multiple@atomic-pipe-d-tiling-yf.html

  * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats@pipe-b-edp-1:
    - shard-iclb:         [PASS][52] -> [SKIP][53] ([i915#5176]) +1 similar issue
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-iclb8/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats@pipe-b-edp-1.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-iclb3/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats@pipe-b-edp-1.html

  * igt@kms_psr2_sf@cursor-plane-move-continuous-sf:
    - shard-apl:          NOTRUN -> [SKIP][54] ([fdo#109271] / [i915#658]) +1 similar issue
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-apl2/igt@kms_psr2_sf@cursor-plane-move-continuous-sf.html

  * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area:
    - shard-skl:          NOTRUN -> [SKIP][55] ([fdo#109271] / [i915#658]) +1 similar issue
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-skl1/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area.html

  * igt@kms_psr@psr2_cursor_plane_move:
    - shard-iclb:         [PASS][56] -> [SKIP][57] ([fdo#109441]) +2 similar issues
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-iclb2/igt@kms_psr@psr2_cursor_plane_move.html
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-iclb1/igt@kms_psr@psr2_cursor_plane_move.html

  * igt@kms_writeback@writeback-check-output:
    - shard-skl:          NOTRUN -> [SKIP][58] ([fdo#109271] / [i915#2437])
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-skl2/igt@kms_writeback@writeback-check-output.html

  * igt@kms_writeback@writeback-pixel-formats:
    - shard-apl:          NOTRUN -> [SKIP][59] ([fdo#109271] / [i915#2437])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-apl2/igt@kms_writeback@writeback-pixel-formats.html

  * igt@sw_sync@sync_merge_same:
    - shard-skl:          NOTRUN -> [FAIL][60] ([i915#6140])
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-skl7/igt@sw_sync@sync_merge_same.html

  * igt@sysfs_clients@busy:
    - shard-apl:          NOTRUN -> [SKIP][61] ([fdo#109271] / [i915#2994])
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-apl1/igt@sysfs_clients@busy.html

  
#### Possible fixes ####

  * igt@gem_eio@kms:
    - shard-tglb:         [FAIL][62] ([i915#5784]) -> [PASS][63]
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-tglb5/igt@gem_eio@kms.html
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-tglb7/igt@gem_eio@kms.html

  * igt@gem_exec_fair@basic-flow@rcs0:
    - shard-tglb:         [FAIL][64] ([i915#2842]) -> [PASS][65] +1 similar issue
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-tglb6/igt@gem_exec_fair@basic-flow@rcs0.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-tglb3/igt@gem_exec_fair@basic-flow@rcs0.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - {shard-tglu}:       [FAIL][66] ([i915#2842]) -> [PASS][67] +1 similar issue
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-tglu-2/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-tglu-3/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@gem_exec_fair@basic-throttle@rcs0:
    - shard-iclb:         [FAIL][68] ([i915#2849]) -> [PASS][69]
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-iclb5/igt@gem_exec_fair@basic-throttle@rcs0.html
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-iclb7/igt@gem_exec_fair@basic-throttle@rcs0.html

  * igt@gem_exec_flush@basic-uc-set-default:
    - shard-snb:          [SKIP][70] ([fdo#109271]) -> [PASS][71]
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-snb6/igt@gem_exec_flush@basic-uc-set-default.html
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-snb5/igt@gem_exec_flush@basic-uc-set-default.html

  * igt@gem_exec_whisper@basic-queues-all:
    - shard-glk:          [DMESG-WARN][72] ([i915#118]) -> [PASS][73]
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-glk2/igt@gem_exec_whisper@basic-queues-all.html
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-glk8/igt@gem_exec_whisper@basic-queues-all.html

  * igt@gem_huc_copy@huc-copy:
    - shard-tglb:         [SKIP][74] ([i915#2190]) -> [PASS][75]
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-tglb6/igt@gem_huc_copy@huc-copy.html
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-tglb3/igt@gem_huc_copy@huc-copy.html

  * igt@i915_pm_dc@dc9-dpms:
    - shard-iclb:         [SKIP][76] ([i915#4281]) -> [PASS][77]
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-iclb3/igt@i915_pm_dc@dc9-dpms.html
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-iclb5/igt@i915_pm_dc@dc9-dpms.html

  * igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a:
    - {shard-dg1}:        [SKIP][78] ([i915#1937]) -> [PASS][79]
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-dg1-18/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a.html
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-dg1-13/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a.html

  * igt@i915_pm_rpm@modeset-lpsp:
    - {shard-dg1}:        [SKIP][80] ([i915#1397]) -> [PASS][81]
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-dg1-18/igt@i915_pm_rpm@modeset-lpsp.html
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-dg1-13/igt@i915_pm_rpm@modeset-lpsp.html

  * igt@i915_suspend@sysfs-reader:
    - {shard-dg1}:        [SKIP][82] ([i915#2575]) -> [PASS][83] +22 similar issues
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-dg1-12/igt@i915_suspend@sysfs-reader.html
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-dg1-12/igt@i915_suspend@sysfs-reader.html

  * igt@kms_cursor_crc@pipe-a-cursor-256x256-random:
    - {shard-rkl}:        [SKIP][84] ([fdo#112022] / [i915#4070]) -> [PASS][85] +6 similar issues
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-rkl-5/igt@kms_cursor_crc@pipe-a-cursor-256x256-random.html
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-rkl-6/igt@kms_cursor_crc@pipe-a-cursor-256x256-random.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic:
    - shard-skl:          [FAIL][86] ([i915#2346]) -> [PASS][87]
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-skl2/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-skl8/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
    - shard-glk:          [FAIL][88] ([i915#2346]) -> [PASS][89]
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-glk4/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-glk5/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html

  * igt@kms_cursor_legacy@short-flip-after-cursor-atomic-transitions:
    - {shard-rkl}:        [SKIP][90] ([fdo#111825] / [i915#4070]) -> [PASS][91]
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-rkl-2/igt@kms_cursor_legacy@short-flip-after-cursor-atomic-transitions.html
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-rkl-6/igt@kms_cursor_legacy@short-flip-after-cursor-atomic-transitions.html

  * igt@kms_draw_crc@draw-method-xrgb8888-mmap-gtt-untiled:
    - {shard-rkl}:        [SKIP][92] ([fdo#111314] / [i915#4098] / [i915#4369]) -> [PASS][93] +4 similar issues
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-rkl-5/igt@kms_draw_crc@draw-method-xrgb8888-mmap-gtt-untiled.html
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-rkl-6/igt@kms_draw_crc@draw-method-xrgb8888-mmap-gtt-untiled.html

  * igt@kms_fbcon_fbt@fbc-suspend:
    - shard-apl:          [INCOMPLETE][94] ([i915#180] / [i915#1982]) -> [PASS][95]
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-apl6/igt@kms_fbcon_fbt@fbc-suspend.html
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-apl1/igt@kms_fbcon_fbt@fbc-suspend.html

  * igt@kms_frontbuffer_tracking@fbc-rgb565-draw-render:
    - {shard-rkl}:        [SKIP][96] ([i915#1849] / [i915#4098]) -> [PASS][97] +13 similar issues
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-rkl-2/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-render.html
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-render.html

  * igt@kms_plane_alpha_blend@pipe-b-constant-alpha-mid:
    - {shard-rkl}:        [SKIP][98] ([i915#1849] / [i915#4070] / [i915#4098]) -> [PASS][99] +3 similar issues
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-rkl-5/igt@kms_plane_alpha_blend@pipe-b-constant-alpha-mid.html
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-rkl-6/igt@kms_plane_alpha_blend@pipe-b-constant-alpha-mid.html

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-y:
    - {shard-rkl}:        [SKIP][100] ([i915#1849] / [i915#3558] / [i915#4070]) -> [PASS][101]
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-rkl-5/igt@kms_plane_multiple@atomic-pipe-b-tiling-y.html
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-rkl-6/igt@kms_plane_multiple@atomic-pipe-b-tiling-y.html

  * igt@kms_prime@basic-crc@second-to-first:
    - {shard-rkl}:        [SKIP][102] ([i915#1849]) -> [PASS][103]
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-rkl-5/igt@kms_prime@basic-crc@second-to-first.html
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-rkl-6/igt@kms_prime@basic-crc@second-to-first.html

  * igt@kms_psr@cursor_mmap_cpu:
    - {shard-rkl}:        [SKIP][104] ([i915#1072]) -> [PASS][105] +1 similar issue
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-rkl-5/igt@kms_psr@cursor_mmap_cpu.html
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-rkl-6/igt@kms_psr@cursor_mmap_cpu.html

  * igt@kms_psr@psr2_sprite_plane_move:
    - shard-iclb:         [SKIP][106] ([fdo#109441]) -> [PASS][107] +2 similar issues
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-iclb1/igt@kms_psr@psr2_sprite_plane_move.html
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html

  * igt@kms_universal_plane@universal-plane-pipe-a-sanity:
    - {shard-rkl}:        [SKIP][108] ([i915#1845] / [i915#4070] / [i915#4098]) -> [PASS][109]
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-rkl-5/igt@kms_universal_plane@universal-plane-pipe-a-sanity.html
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-rkl-6/igt@kms_universal_plane@universal-plane-pipe-a-sanity.html

  * igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend:
    - shard-snb:          [DMESG-WARN][110] ([i915#5090]) -> [PASS][111]
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-snb4/igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend.html
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-snb4/igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend.html

  * igt@kms_vblank@pipe-b-query-idle:
    - {shard-rkl}:        [SKIP][112] ([i915#1845] / [i915#4098]) -> [PASS][113] +16 similar issues
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-rkl-2/igt@kms_vblank@pipe-b-query-idle.html
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-rkl-6/igt@kms_vblank@pipe-b-query-idle.html

  * igt@perf_pmu@cpu-hotplug:
    - shard-snb:          [DMESG-WARN][114] -> [PASS][115]
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-snb4/igt@perf_pmu@cpu-hotplug.html
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-snb4/igt@perf_pmu@cpu-hotplug.html

  * igt@perf_pmu@rc6-suspend:
    - shard-apl:          [DMESG-WARN][116] ([i915#180]) -> [PASS][117]
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-apl6/igt@perf_pmu@rc6-suspend.html
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-apl2/igt@perf_pmu@rc6-suspend.html

  
#### Warnings ####

  * igt@gem_exec_fair@basic-none-rrul@rcs0:
    - shard-iclb:         [FAIL][118] ([i915#2842]) -> [FAIL][119] ([i915#2852])
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-iclb6/igt@gem_exec_fair@basic-none-rrul@rcs0.html
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-iclb4/igt@gem_exec_fair@basic-none-rrul@rcs0.html

  * igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf:
    - shard-iclb:         [SKIP][120] ([i915#2920]) -> [SKIP][121] ([i915#658])
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-iclb2/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf.html
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-iclb6/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf.html

  * igt@kms_psr2_sf@cursor-plane-move-continuous-sf:
    - shard-iclb:         [SKIP][122] ([i915#658]) -> [SKIP][123] ([i915#2920])
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-iclb7/igt@kms_psr2_sf@cursor-plane-move-continuous-sf.html
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-iclb2/igt@kms_psr2_sf@cursor-plane-move-continuous-sf.html

  * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area:
    - shard-iclb:         [SKIP][124] ([i915#2920]) -> [SKIP][125] ([fdo#111068] / [i915#658])
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-iclb2/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area.html
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-iclb1/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area.html

  * igt@runner@aborted:
    - shard-apl:          ([FAIL][126], [FAIL][127], [FAIL][128], [FAIL][129]) ([i915#180] / [i915#3002] / [i915#4312] / [i915#5257]) -> ([FAIL][130], [FAIL][131], [FAIL][132], [FAIL][133]) ([fdo#109271] / [i915#3002] / [i915#4312] / [i915#5257])
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-apl3/igt@runner@aborted.html
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-apl6/igt@runner@aborted.html
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-apl6/igt@runner@aborted.html
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/shard-apl1/igt@runner@aborted.html
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-apl2/igt@runner@aborted.html
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-apl3/igt@runner@aborted.html
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-apl2/igt@runner@aborted.html
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/shard-apl6/igt@runner@aborted.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279
  [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
  [fdo#109283]: https://bugs.freedesktop.org/show_bug.cgi?id=109283
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
  [fdo#109312]: https://bugs.freedesktop.org/show_bug.cgi?id=109312
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
  [fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111314]: https://bugs.freedesktop.org/show_bug.cgi?id=111314
  [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [fdo#112022]: https://bugs.freedesktop.org/show_bug.cgi?id=112022
  [fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054
  [i915#1063]: https://gitlab.freedesktop.org/drm/intel/issues/1063
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1149]: https://gitlab.freedesktop.org/drm/intel/issues/1149
  [i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
  [i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132
  [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
  [i915#1755]: https://gitlab.freedesktop.org/drm/intel/issues/1755
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
  [i915#1836]: https://gitlab.freedesktop.org/drm/intel/issues/1836
  [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
  [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
  [i915#1888]: https://gitlab.freedesktop.org/drm/intel/issues/1888
  [i915#1911]: https://gitlab.freedesktop.org/drm/intel/issues/1911
  [i915#1937]: https://gitlab.freedesktop.org/drm/intel/issues/1937
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#2029]: https://gitlab.freedesktop.org/drm/intel/issues/2029
  [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
  [i915#2410]: https://gitlab.freedesktop.org/drm/intel/issues/2410
  [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
  [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
  [i915#2530]: https://gitlab.freedesktop.org/drm/intel/issues/2530
  [i915#2546]: https://gitlab.freedesktop.org/drm/intel/issues/2546
  [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
  [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
  [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
  [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
  [i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658
  [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2849]: https://gitlab.freedesktop.org/drm/intel/issues/2849
  [i915#2852]: https://gitlab.freedesktop.org/drm/intel/issues/2852
  [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
  [i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
  [i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994
  [i915#3002]: https://gitlab.freedesktop.org/drm/intel/issues/3002
  [i915#3063]: https://gitlab.freedesktop.org/drm/intel/issues/3063
  [i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116
  [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299
  [i915#3319]: https://gitlab.freedesktop.org/drm/intel/issues/3319
  [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
  [i915#3371]: https://gitlab.freedesktop.org/drm/intel/issues/3371
  [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
  [i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469
  [i915#3536]: https://gitlab.freedesktop.org/drm/intel/issues/3536
  [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3558]: https://gitlab.freedesktop.org/drm/intel/issues/3558
  [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
  [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
  [i915#3701]: https://gitlab.freedesktop.org/drm/intel/issues/3701
  [i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734
  [i915#3810]: https://gitlab.freedesktop.org/drm/intel/issues/3810
  [i915#3828]: https://gitlab.freedesktop.org/drm/intel/issues/3828
  [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
  [i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
  [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#426]: https://gitlab.freedesktop.org/drm/intel/issues/426
  [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
  [i915#4278]: https://gitlab.freedesktop.org/drm/intel/issues/4278
  [i915#4281]: https://gitlab.freedesktop.org/drm/intel/issues/4281
  [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#4369]: https://gitlab.freedesktop.org/drm/intel/issues/4369
  [i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
  [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812
  [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833
  [i915#4842]: https://gitlab.freedesktop.org/drm/intel/issues/4842
  [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
  [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
  [i915#4881]: https://gitlab.freedesktop.org/drm/intel/issues/4881
  [i915#4885]: https://gitlab.freedesktop.org/drm/intel/issues/4885
  [i915#4893]: https://gitlab.freedesktop.org/drm/intel/issues/4893
  [i915#4991]: https://gitlab.freedesktop.org/drm/intel/issues/4991
  [i915#5072]: https://gitlab.freedesktop.org/drm/intel/issues/5072
  [i915#5090]: https://gitlab.freedesktop.org/drm/intel/issues/5090
  [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
  [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
  [i915#5257]: https://gitlab.freedesktop.org/drm/intel/issues/5257
  [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
  [i915#5287]: https://gitlab.freedesktop.org/drm/intel/issues/5287
  [i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288
  [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
  [i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
  [i915#5439]: https://gitlab.freedesktop.org/drm/intel/issues/5439
  [i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563
  [i915#5723]: https://gitlab.freedesktop.org/drm/intel/issues/5723
  [i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
  [i915#6011]: https://gitlab.freedesktop.org/drm/intel/issues/6011
  [i915#6022]: https://gitlab.freedesktop.org/drm/intel/issues/6022
  [i915#6076]: https://gitlab.freedesktop.org/drm/intel/issues/6076
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#6126]: https://gitlab.freedesktop.org/drm/intel/issues/6126
  [i915#6140]: https://gitlab.freedesktop.org/drm/intel/issues/6140
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79


Build changes
-------------

  * Linux: CI_DRM_11710 -> Patchwork_104539v2

  CI-20190529: 20190529
  CI_DRM_11710: d2798c4b9213f0d14080bdeef58e692a2c01a0bf @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6500: de4c6076a0f38ad3522b08931748f59d59a925ce @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_104539v2: d2798c4b9213f0d14080bdeef58e692a2c01a0bf @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v2/index.html

[-- Attachment #2: Type: text/html, Size: 40490 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH] drm/edid: ignore the CEA modes not defined in CEA-861-D
  2022-05-31 10:34 ` [Intel-gfx] " William Tseng
                   ` (3 preceding siblings ...)
  (?)
@ 2022-05-31 16:42 ` Ville Syrjälä
  2022-06-01  9:57   ` Tseng, William
  -1 siblings, 1 reply; 27+ messages in thread
From: Ville Syrjälä @ 2022-05-31 16:42 UTC (permalink / raw)
  To: William Tseng; +Cc: Lee Shawn C, Wayne Lin, dri-devel

On Tue, May 31, 2022 at 06:34:21PM +0800, William Tseng wrote:
> This is a workaround for HDMI 1.4 sink which has a CEA mode with higher vic
> than what is defined in CEA-861-D.
> 
> As an example, a HDMI 1.4 sink has the video format 2560x1080p to be
> displayed and the video format is indicated by both SVD (with vic 90 and
> pictuure aspect ratio 64:27) and DTD.  When connecting to such sink,
> source can't output the video format in SVD because an error is returned by
> drm_hdmi_avi_infoframe_from_display_mode(), which can't fill the infoframe
> with pictuure aspect ratio 64:27 and the vic, which is originally 90 and is
> changed to 0 by drm_mode_cea_vic().

Hmm. I think either we need to change the logic in
drm_hdmi_avi_infoframe_from_display_mode() somehow to accept this
or we need to strip the aspect ratio from such modes when we probe
them.

The first option might be nicer, and something like this might even work:

diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 929fc0e46751..3d5c76acf42a 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -6082,7 +6082,8 @@ static u8 drm_mode_hdmi_vic(const struct drm_connector *connector,
 }
 
 static u8 drm_mode_cea_vic(const struct drm_connector *connector,
-			   const struct drm_display_mode *mode)
+			   const struct drm_display_mode *mode,
+			   bool is_hdmi2_sink)
 {
 	u8 vic;
 
@@ -6102,7 +6103,7 @@ static u8 drm_mode_cea_vic(const struct drm_connector *connector,
 	 * HDMI 2.0 VIC range: 1 <= VIC <= 107 (CEA-861-F). So we
 	 * have to make sure we dont break HDMI 1.4 sinks.
 	 */
-	if (!is_hdmi2_sink(connector) && vic > 64)
+	if (!is_hdmi2_sink && vic > 64)
 		return 0;
 
 	return vic;
@@ -6133,7 +6134,7 @@ drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame,
 	if (mode->flags & DRM_MODE_FLAG_DBLCLK)
 		frame->pixel_repeat = 1;
 
-	vic = drm_mode_cea_vic(connector, mode);
+	vic = drm_mode_cea_vic(connector, mode, true);
 	hdmi_vic = drm_mode_hdmi_vic(connector, mode);
 
 	frame->picture_aspect = HDMI_PICTURE_ASPECT_NONE;
@@ -6177,7 +6178,7 @@ drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame,
 		picture_aspect = HDMI_PICTURE_ASPECT_NONE;
 	}
 
-	frame->video_code = vic;
+	frame->video_code = drm_mode_cea_vic(connector, mode, is_hdmi2_sink(connector));
 	frame->picture_aspect = picture_aspect;
 	frame->active_aspect = HDMI_ACTIVE_ASPECT_PICTURE;
 	frame->scan_mode = HDMI_SCAN_MODE_UNDERSCAN;

But I don't quite remember off hand how the CEA VIC vs. HDMI VIC
decision plays into this, so there might be some issues with that
approach.

-- 
Ville Syrjälä
Intel

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* RE: [PATCH] drm/edid: ignore the CEA modes not defined in CEA-861-D
  2022-05-31 10:56 ` Jani Nikula
  2022-05-31 11:06   ` Jani Nikula
@ 2022-06-01  9:42   ` Tseng, William
  1 sibling, 0 replies; 27+ messages in thread
From: Tseng, William @ 2022-06-01  9:42 UTC (permalink / raw)
  To: Jani Nikula, dri-devel; +Cc: Wayne Lin, Lee, Shawn C

Thanks, Jani.

Maybe it is better to make drm_display_mode_from_vic_index() return a mode with valid VIC.
So it ends up with that all probed modes have valid VICs for HDMI 1.4 and 2.0 respectively.


Regards
William

-----Original Message-----
From: Jani Nikula <jani.nikula@linux.intel.com> 
Sent: Tuesday, May 31, 2022 6:56 PM
To: Tseng, William <william.tseng@intel.com>; dri-devel@lists.freedesktop.org
Cc: Lee, Shawn C <shawn.c.lee@intel.com>; Wayne Lin <waynelin@amd.com>; Tseng, William <william.tseng@intel.com>
Subject: Re: [PATCH] drm/edid: ignore the CEA modes not defined in CEA-861-D

On Tue, 31 May 2022, William Tseng <william.tseng@intel.com> wrote:
> This is a workaround for HDMI 1.4 sink which has a CEA mode with 
> higher vic than what is defined in CEA-861-D.
>
> As an example, a HDMI 1.4 sink has the video format 2560x1080p to be 
> displayed and the video format is indicated by both SVD (with vic 90 
> and pictuure aspect ratio 64:27) and DTD.  When connecting to such 
> sink, source can't output the video format in SVD because an error is 
> returned by drm_hdmi_avi_infoframe_from_display_mode(), which can't 
> fill the infoframe with pictuure aspect ratio 64:27 and the vic, which 
> is originally 90 and is changed to 0 by drm_mode_cea_vic().
>
> To work around it, this patch ignores such CEA modes in do_cea_modes() 
> so the modes won't be processed in drm_hdmi_avi_infoframe_from_display_mode().
> And only the video format in DTD can be dispalyed.
>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Wayne Lin <waynelin@amd.com>
> Cc: Lee Shawn C <shawn.c.lee@intel.com>
> Signed-off-by: William Tseng <william.tseng@intel.com>
> ---
>  drivers/gpu/drm/drm_edid.c | 39 
> +++++++++++++++++++++++++-------------
>  1 file changed, 26 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c 
> index bc43e1b32092..a93f68878bfd 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -3982,6 +3982,19 @@ drm_display_mode_from_cea_vic(struct drm_device 
> *dev,  }  EXPORT_SYMBOL(drm_display_mode_from_cea_vic);
>  
> +static bool is_hdmi2_sink(const struct drm_connector *connector) {
> +	/*
> +	 * FIXME: sil-sii8620 doesn't have a connector around when
> +	 * we need one, so we have to be prepared for a NULL connector.
> +	 */
> +	if (!connector)
> +		return true;
> +
> +	return connector->display_info.hdmi.scdc.supported ||
> +		connector->display_info.color_formats & DRM_COLOR_FORMAT_YCBCR420; 
> +}
> +
>  static int
>  do_cea_modes(struct drm_connector *connector, const u8 *db, u8 len)  
> { @@ -3993,6 +4006,19 @@ do_cea_modes(struct drm_connector *connector, 
> const u8 *db, u8 len)
>  
>  		mode = drm_display_mode_from_vic_index(connector, db, len, i);
>  		if (mode) {
> +			u8 vic = svd_to_vic(db[i]);
> +
> +			if (!drm_valid_cea_vic(vic))
> +				continue;

drm_display_mode_from_vic_index() returns NULL in this case.

> +
> +			/*
> +			 * HDMI 1.4 VIC range: 1 <= VIC <= 64 (CEA-861-D) but
> +			 * HDMI 2.0 VIC range: 1 <= VIC <= 107 (CEA-861-F). So we
> +			 * have to make sure we dont break HDMI 1.4 sinks.
> +			 */
> +			if (!is_hdmi2_sink(connector) && vic > 64)
> +				continue;

I'll need to double check if this is the right thing to do... but I guess the question becomes if this shouldn't be within drm_display_mode_from_vic_index().

Duplicating the condition from drm_mode_cea_vic() is probably not a good idea.

The continues in both above branches leak the mode.


BR,
Jani.


> +
>  			/*
>  			 * YCBCR420 capability block contains a bitmap which
>  			 * gives the index of CEA modes from CEA VDB, which @@ -5846,19 
> +5872,6 @@ void drm_set_preferred_mode(struct drm_connector 
> *connector,  }  EXPORT_SYMBOL(drm_set_preferred_mode);
>  
> -static bool is_hdmi2_sink(const struct drm_connector *connector) -{
> -	/*
> -	 * FIXME: sil-sii8620 doesn't have a connector around when
> -	 * we need one, so we have to be prepared for a NULL connector.
> -	 */
> -	if (!connector)
> -		return true;
> -
> -	return connector->display_info.hdmi.scdc.supported ||
> -		connector->display_info.color_formats & DRM_COLOR_FORMAT_YCBCR420;
> -}
> -
>  static u8 drm_mode_hdmi_vic(const struct drm_connector *connector,
>  			    const struct drm_display_mode *mode)  {

-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 27+ messages in thread

* RE: [PATCH] drm/edid: ignore the CEA modes not defined in CEA-861-D
  2022-05-31 11:06   ` Jani Nikula
@ 2022-06-01  9:43     ` Tseng, William
  2022-06-01  9:56       ` Jani Nikula
  0 siblings, 1 reply; 27+ messages in thread
From: Tseng, William @ 2022-06-01  9:43 UTC (permalink / raw)
  To: Jani Nikula, dri-devel; +Cc: Wayne Lin, Lee, Shawn C

Thanks, Jani.
This is the issue ticket. https://gitlab.freedesktop.org/drm/intel/-/issues/6087#note_1400843


Regards
William

-----Original Message-----
From: Jani Nikula <jani.nikula@linux.intel.com> 
Sent: Tuesday, May 31, 2022 7:07 PM
To: Tseng, William <william.tseng@intel.com>; dri-devel@lists.freedesktop.org
Cc: Lee, Shawn C <shawn.c.lee@intel.com>; Wayne Lin <waynelin@amd.com>; Tseng, William <william.tseng@intel.com>
Subject: Re: [PATCH] drm/edid: ignore the CEA modes not defined in CEA-861-D

On Tue, 31 May 2022, Jani Nikula <jani.nikula@linux.intel.com> wrote:
> On Tue, 31 May 2022, William Tseng <william.tseng@intel.com> wrote:
>> This is a workaround for HDMI 1.4 sink which has a CEA mode with 
>> higher vic than what is defined in CEA-861-D.
>>
>> As an example, a HDMI 1.4 sink has the video format 2560x1080p to be 
>> displayed and the video format is indicated by both SVD (with vic 90 
>> and pictuure aspect ratio 64:27) and DTD.  When connecting to such 
>> sink, source can't output the video format in SVD because an error is 
>> returned by drm_hdmi_avi_infoframe_from_display_mode(), which can't 
>> fill the infoframe with pictuure aspect ratio 64:27 and the vic, 
>> which is originally 90 and is changed to 0 by drm_mode_cea_vic().
>>
>> To work around it, this patch ignores such CEA modes in 
>> do_cea_modes() so the modes won't be processed in drm_hdmi_avi_infoframe_from_display_mode().
>> And only the video format in DTD can be dispalyed.

I think we should also have a bug filed on this, with the offending EDID attached for posterity.

BR,
Jani.


>>
>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> Cc: Wayne Lin <waynelin@amd.com>
>> Cc: Lee Shawn C <shawn.c.lee@intel.com>
>> Signed-off-by: William Tseng <william.tseng@intel.com>
>> ---
>>  drivers/gpu/drm/drm_edid.c | 39 
>> +++++++++++++++++++++++++-------------
>>  1 file changed, 26 insertions(+), 13 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c 
>> index bc43e1b32092..a93f68878bfd 100644
>> --- a/drivers/gpu/drm/drm_edid.c
>> +++ b/drivers/gpu/drm/drm_edid.c
>> @@ -3982,6 +3982,19 @@ drm_display_mode_from_cea_vic(struct 
>> drm_device *dev,  }  EXPORT_SYMBOL(drm_display_mode_from_cea_vic);
>>  
>> +static bool is_hdmi2_sink(const struct drm_connector *connector) {
>> +	/*
>> +	 * FIXME: sil-sii8620 doesn't have a connector around when
>> +	 * we need one, so we have to be prepared for a NULL connector.
>> +	 */
>> +	if (!connector)
>> +		return true;
>> +
>> +	return connector->display_info.hdmi.scdc.supported ||
>> +		connector->display_info.color_formats & DRM_COLOR_FORMAT_YCBCR420; 
>> +}
>> +
>>  static int
>>  do_cea_modes(struct drm_connector *connector, const u8 *db, u8 len)  
>> { @@ -3993,6 +4006,19 @@ do_cea_modes(struct drm_connector 
>> *connector, const u8 *db, u8 len)
>>  
>>  		mode = drm_display_mode_from_vic_index(connector, db, len, i);
>>  		if (mode) {
>> +			u8 vic = svd_to_vic(db[i]);
>> +
>> +			if (!drm_valid_cea_vic(vic))
>> +				continue;
>
> drm_display_mode_from_vic_index() returns NULL in this case.
>
>> +
>> +			/*
>> +			 * HDMI 1.4 VIC range: 1 <= VIC <= 64 (CEA-861-D) but
>> +			 * HDMI 2.0 VIC range: 1 <= VIC <= 107 (CEA-861-F). So we
>> +			 * have to make sure we dont break HDMI 1.4 sinks.
>> +			 */
>> +			if (!is_hdmi2_sink(connector) && vic > 64)
>> +				continue;
>
> I'll need to double check if this is the right thing to do... but I 
> guess the question becomes if this shouldn't be within 
> drm_display_mode_from_vic_index().
>
> Duplicating the condition from drm_mode_cea_vic() is probably not a 
> good idea.
>
> The continues in both above branches leak the mode.
>
>
> BR,
> Jani.
>
>
>> +
>>  			/*
>>  			 * YCBCR420 capability block contains a bitmap which
>>  			 * gives the index of CEA modes from CEA VDB, which @@ -5846,19 
>> +5872,6 @@ void drm_set_preferred_mode(struct drm_connector 
>> *connector,  }  EXPORT_SYMBOL(drm_set_preferred_mode);
>>  
>> -static bool is_hdmi2_sink(const struct drm_connector *connector) -{
>> -	/*
>> -	 * FIXME: sil-sii8620 doesn't have a connector around when
>> -	 * we need one, so we have to be prepared for a NULL connector.
>> -	 */
>> -	if (!connector)
>> -		return true;
>> -
>> -	return connector->display_info.hdmi.scdc.supported ||
>> -		connector->display_info.color_formats & DRM_COLOR_FORMAT_YCBCR420;
>> -}
>> -
>>  static u8 drm_mode_hdmi_vic(const struct drm_connector *connector,
>>  			    const struct drm_display_mode *mode)  {

--
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 27+ messages in thread

* RE: [PATCH] drm/edid: ignore the CEA modes not defined in CEA-861-D
  2022-06-01  9:43     ` Tseng, William
@ 2022-06-01  9:56       ` Jani Nikula
  2022-06-01 10:02         ` Tseng, William
  0 siblings, 1 reply; 27+ messages in thread
From: Jani Nikula @ 2022-06-01  9:56 UTC (permalink / raw)
  To: Tseng, William, dri-devel; +Cc: Wayne Lin, Lee, Shawn C

On Wed, 01 Jun 2022, "Tseng, William" <william.tseng@intel.com> wrote:
> Thanks, Jani.
> This is the issue ticket. https://gitlab.freedesktop.org/drm/intel/-/issues/6087#note_1400843

Copy-paste fail? Does not seem right.

BR,
Jani.


PS. Also, for some reason you added this in your mail:

Reply-To: "20220531103421.11363-1-william.tseng@intel.com"
	<20220531103421.11363-1-william.tseng@intel.com>




>
>
> Regards
> William
>
> -----Original Message-----
> From: Jani Nikula <jani.nikula@linux.intel.com> 
> Sent: Tuesday, May 31, 2022 7:07 PM
> To: Tseng, William <william.tseng@intel.com>; dri-devel@lists.freedesktop.org
> Cc: Lee, Shawn C <shawn.c.lee@intel.com>; Wayne Lin <waynelin@amd.com>; Tseng, William <william.tseng@intel.com>
> Subject: Re: [PATCH] drm/edid: ignore the CEA modes not defined in CEA-861-D
>
> On Tue, 31 May 2022, Jani Nikula <jani.nikula@linux.intel.com> wrote:
>> On Tue, 31 May 2022, William Tseng <william.tseng@intel.com> wrote:
>>> This is a workaround for HDMI 1.4 sink which has a CEA mode with 
>>> higher vic than what is defined in CEA-861-D.
>>>
>>> As an example, a HDMI 1.4 sink has the video format 2560x1080p to be 
>>> displayed and the video format is indicated by both SVD (with vic 90 
>>> and pictuure aspect ratio 64:27) and DTD.  When connecting to such 
>>> sink, source can't output the video format in SVD because an error is 
>>> returned by drm_hdmi_avi_infoframe_from_display_mode(), which can't 
>>> fill the infoframe with pictuure aspect ratio 64:27 and the vic, 
>>> which is originally 90 and is changed to 0 by drm_mode_cea_vic().
>>>
>>> To work around it, this patch ignores such CEA modes in 
>>> do_cea_modes() so the modes won't be processed in drm_hdmi_avi_infoframe_from_display_mode().
>>> And only the video format in DTD can be dispalyed.
>
> I think we should also have a bug filed on this, with the offending EDID attached for posterity.
>
> BR,
> Jani.
>
>
>>>
>>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>> Cc: Wayne Lin <waynelin@amd.com>
>>> Cc: Lee Shawn C <shawn.c.lee@intel.com>
>>> Signed-off-by: William Tseng <william.tseng@intel.com>
>>> ---
>>>  drivers/gpu/drm/drm_edid.c | 39 
>>> +++++++++++++++++++++++++-------------
>>>  1 file changed, 26 insertions(+), 13 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c 
>>> index bc43e1b32092..a93f68878bfd 100644
>>> --- a/drivers/gpu/drm/drm_edid.c
>>> +++ b/drivers/gpu/drm/drm_edid.c
>>> @@ -3982,6 +3982,19 @@ drm_display_mode_from_cea_vic(struct 
>>> drm_device *dev,  }  EXPORT_SYMBOL(drm_display_mode_from_cea_vic);
>>>  
>>> +static bool is_hdmi2_sink(const struct drm_connector *connector) {
>>> +	/*
>>> +	 * FIXME: sil-sii8620 doesn't have a connector around when
>>> +	 * we need one, so we have to be prepared for a NULL connector.
>>> +	 */
>>> +	if (!connector)
>>> +		return true;
>>> +
>>> +	return connector->display_info.hdmi.scdc.supported ||
>>> +		connector->display_info.color_formats & DRM_COLOR_FORMAT_YCBCR420; 
>>> +}
>>> +
>>>  static int
>>>  do_cea_modes(struct drm_connector *connector, const u8 *db, u8 len)  
>>> { @@ -3993,6 +4006,19 @@ do_cea_modes(struct drm_connector 
>>> *connector, const u8 *db, u8 len)
>>>  
>>>  		mode = drm_display_mode_from_vic_index(connector, db, len, i);
>>>  		if (mode) {
>>> +			u8 vic = svd_to_vic(db[i]);
>>> +
>>> +			if (!drm_valid_cea_vic(vic))
>>> +				continue;
>>
>> drm_display_mode_from_vic_index() returns NULL in this case.
>>
>>> +
>>> +			/*
>>> +			 * HDMI 1.4 VIC range: 1 <= VIC <= 64 (CEA-861-D) but
>>> +			 * HDMI 2.0 VIC range: 1 <= VIC <= 107 (CEA-861-F). So we
>>> +			 * have to make sure we dont break HDMI 1.4 sinks.
>>> +			 */
>>> +			if (!is_hdmi2_sink(connector) && vic > 64)
>>> +				continue;
>>
>> I'll need to double check if this is the right thing to do... but I 
>> guess the question becomes if this shouldn't be within 
>> drm_display_mode_from_vic_index().
>>
>> Duplicating the condition from drm_mode_cea_vic() is probably not a 
>> good idea.
>>
>> The continues in both above branches leak the mode.
>>
>>
>> BR,
>> Jani.
>>
>>
>>> +
>>>  			/*
>>>  			 * YCBCR420 capability block contains a bitmap which
>>>  			 * gives the index of CEA modes from CEA VDB, which @@ -5846,19 
>>> +5872,6 @@ void drm_set_preferred_mode(struct drm_connector 
>>> *connector,  }  EXPORT_SYMBOL(drm_set_preferred_mode);
>>>  
>>> -static bool is_hdmi2_sink(const struct drm_connector *connector) -{
>>> -	/*
>>> -	 * FIXME: sil-sii8620 doesn't have a connector around when
>>> -	 * we need one, so we have to be prepared for a NULL connector.
>>> -	 */
>>> -	if (!connector)
>>> -		return true;
>>> -
>>> -	return connector->display_info.hdmi.scdc.supported ||
>>> -		connector->display_info.color_formats & DRM_COLOR_FORMAT_YCBCR420;
>>> -}
>>> -
>>>  static u8 drm_mode_hdmi_vic(const struct drm_connector *connector,
>>>  			    const struct drm_display_mode *mode)  {
>
> --
> Jani Nikula, Intel Open Source Graphics Center

-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 27+ messages in thread

* RE: [PATCH] drm/edid: ignore the CEA modes not defined in CEA-861-D
  2022-05-31 16:42 ` [PATCH] drm/edid: ignore the CEA modes not defined in CEA-861-D Ville Syrjälä
@ 2022-06-01  9:57   ` Tseng, William
  0 siblings, 0 replies; 27+ messages in thread
From: Tseng, William @ 2022-06-01  9:57 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: Lee, Shawn C, Wayne Lin, dri-devel

Thanks, Ville Syrjälä.

It seems the change regarding drm_mode_cea_vic() works for the issue.

If so, three video formats with the same resolution, say 2560x1080, may be probed; two from SAD and one from DTD.
Then, depending on which is selected, any of the three video formats may be set to the HDMI 1.4 sink.
I am wondering if this works for all the other HDMI 1.4 sinks.
What do you think of it?


Regards
William

-----Original Message-----
From: Ville Syrjälä <ville.syrjala@linux.intel.com> 
Sent: Wednesday, June 1, 2022 12:42 AM
To: Tseng, William <william.tseng@intel.com>
Cc: dri-devel@lists.freedesktop.org; Wayne Lin <waynelin@amd.com>; Lee, Shawn C <shawn.c.lee@intel.com>
Subject: Re: [PATCH] drm/edid: ignore the CEA modes not defined in CEA-861-D

On Tue, May 31, 2022 at 06:34:21PM +0800, William Tseng wrote:
> This is a workaround for HDMI 1.4 sink which has a CEA mode with 
> higher vic than what is defined in CEA-861-D.
> 
> As an example, a HDMI 1.4 sink has the video format 2560x1080p to be 
> displayed and the video format is indicated by both SVD (with vic 90 
> and pictuure aspect ratio 64:27) and DTD.  When connecting to such 
> sink, source can't output the video format in SVD because an error is 
> returned by drm_hdmi_avi_infoframe_from_display_mode(), which can't 
> fill the infoframe with pictuure aspect ratio 64:27 and the vic, which 
> is originally 90 and is changed to 0 by drm_mode_cea_vic().

Hmm. I think either we need to change the logic in
drm_hdmi_avi_infoframe_from_display_mode() somehow to accept this or we need to strip the aspect ratio from such modes when we probe them.

The first option might be nicer, and something like this might even work:

diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index 929fc0e46751..3d5c76acf42a 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -6082,7 +6082,8 @@ static u8 drm_mode_hdmi_vic(const struct drm_connector *connector,  }
 
 static u8 drm_mode_cea_vic(const struct drm_connector *connector,
-			   const struct drm_display_mode *mode)
+			   const struct drm_display_mode *mode,
+			   bool is_hdmi2_sink)
 {
 	u8 vic;
 
@@ -6102,7 +6103,7 @@ static u8 drm_mode_cea_vic(const struct drm_connector *connector,
 	 * HDMI 2.0 VIC range: 1 <= VIC <= 107 (CEA-861-F). So we
 	 * have to make sure we dont break HDMI 1.4 sinks.
 	 */
-	if (!is_hdmi2_sink(connector) && vic > 64)
+	if (!is_hdmi2_sink && vic > 64)
 		return 0;
 
 	return vic;
@@ -6133,7 +6134,7 @@ drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame,
 	if (mode->flags & DRM_MODE_FLAG_DBLCLK)
 		frame->pixel_repeat = 1;
 
-	vic = drm_mode_cea_vic(connector, mode);
+	vic = drm_mode_cea_vic(connector, mode, true);
 	hdmi_vic = drm_mode_hdmi_vic(connector, mode);
 
 	frame->picture_aspect = HDMI_PICTURE_ASPECT_NONE; @@ -6177,7 +6178,7 @@ drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame,
 		picture_aspect = HDMI_PICTURE_ASPECT_NONE;
 	}
 
-	frame->video_code = vic;
+	frame->video_code = drm_mode_cea_vic(connector, mode, 
+is_hdmi2_sink(connector));
 	frame->picture_aspect = picture_aspect;
 	frame->active_aspect = HDMI_ACTIVE_ASPECT_PICTURE;
 	frame->scan_mode = HDMI_SCAN_MODE_UNDERSCAN;

But I don't quite remember off hand how the CEA VIC vs. HDMI VIC decision plays into this, so there might be some issues with that approach.

--
Ville Syrjälä
Intel

^ permalink raw reply	[flat|nested] 27+ messages in thread

* RE: [PATCH] drm/edid: ignore the CEA modes not defined in CEA-861-D
  2022-06-01  9:56       ` Jani Nikula
@ 2022-06-01 10:02         ` Tseng, William
  2022-06-01 10:15           ` Jani Nikula
  0 siblings, 1 reply; 27+ messages in thread
From: Tseng, William @ 2022-06-01 10:02 UTC (permalink / raw)
  To: Jani Nikula, dri-devel; +Cc: Wayne Lin, Lee, Shawn C

Thanks, Jani.  This is the bug. 

https://gitlab.freedesktop.org/drm/intel/-/issues/6153

Sorry about my mistake.


Regards
William


-----Original Message-----
From: Jani Nikula <jani.nikula@linux.intel.com> 
Sent: Wednesday, June 1, 2022 5:57 PM
To: Tseng, William <william.tseng@intel.com>; dri-devel@lists.freedesktop.org
Cc: Lee, Shawn C <shawn.c.lee@intel.com>; Wayne Lin <waynelin@amd.com>
Subject: RE: [PATCH] drm/edid: ignore the CEA modes not defined in CEA-861-D

On Wed, 01 Jun 2022, "Tseng, William" <william.tseng@intel.com> wrote:
> Thanks, Jani.
> This is the issue ticket. 
> https://gitlab.freedesktop.org/drm/intel/-/issues/6087#note_1400843

Copy-paste fail? Does not seem right.

BR,
Jani.


PS. Also, for some reason you added this in your mail:

Reply-To: "20220531103421.11363-1-william.tseng@intel.com"
	<20220531103421.11363-1-william.tseng@intel.com>




>
>
> Regards
> William
>
> -----Original Message-----
> From: Jani Nikula <jani.nikula@linux.intel.com>
> Sent: Tuesday, May 31, 2022 7:07 PM
> To: Tseng, William <william.tseng@intel.com>; 
> dri-devel@lists.freedesktop.org
> Cc: Lee, Shawn C <shawn.c.lee@intel.com>; Wayne Lin 
> <waynelin@amd.com>; Tseng, William <william.tseng@intel.com>
> Subject: Re: [PATCH] drm/edid: ignore the CEA modes not defined in 
> CEA-861-D
>
> On Tue, 31 May 2022, Jani Nikula <jani.nikula@linux.intel.com> wrote:
>> On Tue, 31 May 2022, William Tseng <william.tseng@intel.com> wrote:
>>> This is a workaround for HDMI 1.4 sink which has a CEA mode with 
>>> higher vic than what is defined in CEA-861-D.
>>>
>>> As an example, a HDMI 1.4 sink has the video format 2560x1080p to be 
>>> displayed and the video format is indicated by both SVD (with vic 90 
>>> and pictuure aspect ratio 64:27) and DTD.  When connecting to such 
>>> sink, source can't output the video format in SVD because an error 
>>> is returned by drm_hdmi_avi_infoframe_from_display_mode(), which 
>>> can't fill the infoframe with pictuure aspect ratio 64:27 and the 
>>> vic, which is originally 90 and is changed to 0 by drm_mode_cea_vic().
>>>
>>> To work around it, this patch ignores such CEA modes in
>>> do_cea_modes() so the modes won't be processed in drm_hdmi_avi_infoframe_from_display_mode().
>>> And only the video format in DTD can be dispalyed.
>
> I think we should also have a bug filed on this, with the offending EDID attached for posterity.
>
> BR,
> Jani.
>
>
>>>
>>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>> Cc: Wayne Lin <waynelin@amd.com>
>>> Cc: Lee Shawn C <shawn.c.lee@intel.com>
>>> Signed-off-by: William Tseng <william.tseng@intel.com>
>>> ---
>>>  drivers/gpu/drm/drm_edid.c | 39
>>> +++++++++++++++++++++++++-------------
>>>  1 file changed, 26 insertions(+), 13 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c 
>>> index bc43e1b32092..a93f68878bfd 100644
>>> --- a/drivers/gpu/drm/drm_edid.c
>>> +++ b/drivers/gpu/drm/drm_edid.c
>>> @@ -3982,6 +3982,19 @@ drm_display_mode_from_cea_vic(struct
>>> drm_device *dev,  }  EXPORT_SYMBOL(drm_display_mode_from_cea_vic);
>>>  
>>> +static bool is_hdmi2_sink(const struct drm_connector *connector) {
>>> +	/*
>>> +	 * FIXME: sil-sii8620 doesn't have a connector around when
>>> +	 * we need one, so we have to be prepared for a NULL connector.
>>> +	 */
>>> +	if (!connector)
>>> +		return true;
>>> +
>>> +	return connector->display_info.hdmi.scdc.supported ||
>>> +		connector->display_info.color_formats & 
>>> +DRM_COLOR_FORMAT_YCBCR420; }
>>> +
>>>  static int
>>>  do_cea_modes(struct drm_connector *connector, const u8 *db, u8 len) 
>>> { @@ -3993,6 +4006,19 @@ do_cea_modes(struct drm_connector 
>>> *connector, const u8 *db, u8 len)
>>>  
>>>  		mode = drm_display_mode_from_vic_index(connector, db, len, i);
>>>  		if (mode) {
>>> +			u8 vic = svd_to_vic(db[i]);
>>> +
>>> +			if (!drm_valid_cea_vic(vic))
>>> +				continue;
>>
>> drm_display_mode_from_vic_index() returns NULL in this case.
>>
>>> +
>>> +			/*
>>> +			 * HDMI 1.4 VIC range: 1 <= VIC <= 64 (CEA-861-D) but
>>> +			 * HDMI 2.0 VIC range: 1 <= VIC <= 107 (CEA-861-F). So we
>>> +			 * have to make sure we dont break HDMI 1.4 sinks.
>>> +			 */
>>> +			if (!is_hdmi2_sink(connector) && vic > 64)
>>> +				continue;
>>
>> I'll need to double check if this is the right thing to do... but I 
>> guess the question becomes if this shouldn't be within 
>> drm_display_mode_from_vic_index().
>>
>> Duplicating the condition from drm_mode_cea_vic() is probably not a 
>> good idea.
>>
>> The continues in both above branches leak the mode.
>>
>>
>> BR,
>> Jani.
>>
>>
>>> +
>>>  			/*
>>>  			 * YCBCR420 capability block contains a bitmap which
>>>  			 * gives the index of CEA modes from CEA VDB, which @@ -5846,19
>>> +5872,6 @@ void drm_set_preferred_mode(struct drm_connector
>>> *connector,  }  EXPORT_SYMBOL(drm_set_preferred_mode);
>>>  
>>> -static bool is_hdmi2_sink(const struct drm_connector *connector) -{
>>> -	/*
>>> -	 * FIXME: sil-sii8620 doesn't have a connector around when
>>> -	 * we need one, so we have to be prepared for a NULL connector.
>>> -	 */
>>> -	if (!connector)
>>> -		return true;
>>> -
>>> -	return connector->display_info.hdmi.scdc.supported ||
>>> -		connector->display_info.color_formats & DRM_COLOR_FORMAT_YCBCR420;
>>> -}
>>> -
>>>  static u8 drm_mode_hdmi_vic(const struct drm_connector *connector,
>>>  			    const struct drm_display_mode *mode)  {
>
> --
> Jani Nikula, Intel Open Source Graphics Center

--
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 27+ messages in thread

* RE: [PATCH] drm/edid: ignore the CEA modes not defined in CEA-861-D
  2022-06-01 10:02         ` Tseng, William
@ 2022-06-01 10:15           ` Jani Nikula
  0 siblings, 0 replies; 27+ messages in thread
From: Jani Nikula @ 2022-06-01 10:15 UTC (permalink / raw)
  To: 20220531103421.11363-1-william.tseng, dri-devel; +Cc: Wayne Lin, Lee, Shawn C

On Wed, 01 Jun 2022, "Tseng, William" <william.tseng@intel.com> wrote:
> Thanks, Jani.  This is the bug. 
>
> https://gitlab.freedesktop.org/drm/intel/-/issues/6153
>
> Sorry about my mistake.

Np. Please also attach the EDID you have to the bug.

Thanks,
Jani.

>
>
> Regards
> William
>
>
> -----Original Message-----
> From: Jani Nikula <jani.nikula@linux.intel.com> 
> Sent: Wednesday, June 1, 2022 5:57 PM
> To: Tseng, William <william.tseng@intel.com>; dri-devel@lists.freedesktop.org
> Cc: Lee, Shawn C <shawn.c.lee@intel.com>; Wayne Lin <waynelin@amd.com>
> Subject: RE: [PATCH] drm/edid: ignore the CEA modes not defined in CEA-861-D
>
> On Wed, 01 Jun 2022, "Tseng, William" <william.tseng@intel.com> wrote:
>> Thanks, Jani.
>> This is the issue ticket. 
>> https://gitlab.freedesktop.org/drm/intel/-/issues/6087#note_1400843
>
> Copy-paste fail? Does not seem right.
>
> BR,
> Jani.
>
>
> PS. Also, for some reason you added this in your mail:
>
> Reply-To: "20220531103421.11363-1-william.tseng@intel.com"
> 	<20220531103421.11363-1-william.tseng@intel.com>
>
>
>
>
>>
>>
>> Regards
>> William
>>
>> -----Original Message-----
>> From: Jani Nikula <jani.nikula@linux.intel.com>
>> Sent: Tuesday, May 31, 2022 7:07 PM
>> To: Tseng, William <william.tseng@intel.com>; 
>> dri-devel@lists.freedesktop.org
>> Cc: Lee, Shawn C <shawn.c.lee@intel.com>; Wayne Lin 
>> <waynelin@amd.com>; Tseng, William <william.tseng@intel.com>
>> Subject: Re: [PATCH] drm/edid: ignore the CEA modes not defined in 
>> CEA-861-D
>>
>> On Tue, 31 May 2022, Jani Nikula <jani.nikula@linux.intel.com> wrote:
>>> On Tue, 31 May 2022, William Tseng <william.tseng@intel.com> wrote:
>>>> This is a workaround for HDMI 1.4 sink which has a CEA mode with 
>>>> higher vic than what is defined in CEA-861-D.
>>>>
>>>> As an example, a HDMI 1.4 sink has the video format 2560x1080p to be 
>>>> displayed and the video format is indicated by both SVD (with vic 90 
>>>> and pictuure aspect ratio 64:27) and DTD.  When connecting to such 
>>>> sink, source can't output the video format in SVD because an error 
>>>> is returned by drm_hdmi_avi_infoframe_from_display_mode(), which 
>>>> can't fill the infoframe with pictuure aspect ratio 64:27 and the 
>>>> vic, which is originally 90 and is changed to 0 by drm_mode_cea_vic().
>>>>
>>>> To work around it, this patch ignores such CEA modes in
>>>> do_cea_modes() so the modes won't be processed in drm_hdmi_avi_infoframe_from_display_mode().
>>>> And only the video format in DTD can be dispalyed.
>>
>> I think we should also have a bug filed on this, with the offending EDID attached for posterity.
>>
>> BR,
>> Jani.
>>
>>
>>>>
>>>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>>> Cc: Wayne Lin <waynelin@amd.com>
>>>> Cc: Lee Shawn C <shawn.c.lee@intel.com>
>>>> Signed-off-by: William Tseng <william.tseng@intel.com>
>>>> ---
>>>>  drivers/gpu/drm/drm_edid.c | 39
>>>> +++++++++++++++++++++++++-------------
>>>>  1 file changed, 26 insertions(+), 13 deletions(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c 
>>>> index bc43e1b32092..a93f68878bfd 100644
>>>> --- a/drivers/gpu/drm/drm_edid.c
>>>> +++ b/drivers/gpu/drm/drm_edid.c
>>>> @@ -3982,6 +3982,19 @@ drm_display_mode_from_cea_vic(struct
>>>> drm_device *dev,  }  EXPORT_SYMBOL(drm_display_mode_from_cea_vic);
>>>>  
>>>> +static bool is_hdmi2_sink(const struct drm_connector *connector) {
>>>> +	/*
>>>> +	 * FIXME: sil-sii8620 doesn't have a connector around when
>>>> +	 * we need one, so we have to be prepared for a NULL connector.
>>>> +	 */
>>>> +	if (!connector)
>>>> +		return true;
>>>> +
>>>> +	return connector->display_info.hdmi.scdc.supported ||
>>>> +		connector->display_info.color_formats & 
>>>> +DRM_COLOR_FORMAT_YCBCR420; }
>>>> +
>>>>  static int
>>>>  do_cea_modes(struct drm_connector *connector, const u8 *db, u8 len) 
>>>> { @@ -3993,6 +4006,19 @@ do_cea_modes(struct drm_connector 
>>>> *connector, const u8 *db, u8 len)
>>>>  
>>>>  		mode = drm_display_mode_from_vic_index(connector, db, len, i);
>>>>  		if (mode) {
>>>> +			u8 vic = svd_to_vic(db[i]);
>>>> +
>>>> +			if (!drm_valid_cea_vic(vic))
>>>> +				continue;
>>>
>>> drm_display_mode_from_vic_index() returns NULL in this case.
>>>
>>>> +
>>>> +			/*
>>>> +			 * HDMI 1.4 VIC range: 1 <= VIC <= 64 (CEA-861-D) but
>>>> +			 * HDMI 2.0 VIC range: 1 <= VIC <= 107 (CEA-861-F). So we
>>>> +			 * have to make sure we dont break HDMI 1.4 sinks.
>>>> +			 */
>>>> +			if (!is_hdmi2_sink(connector) && vic > 64)
>>>> +				continue;
>>>
>>> I'll need to double check if this is the right thing to do... but I 
>>> guess the question becomes if this shouldn't be within 
>>> drm_display_mode_from_vic_index().
>>>
>>> Duplicating the condition from drm_mode_cea_vic() is probably not a 
>>> good idea.
>>>
>>> The continues in both above branches leak the mode.
>>>
>>>
>>> BR,
>>> Jani.
>>>
>>>
>>>> +
>>>>  			/*
>>>>  			 * YCBCR420 capability block contains a bitmap which
>>>>  			 * gives the index of CEA modes from CEA VDB, which @@ -5846,19
>>>> +5872,6 @@ void drm_set_preferred_mode(struct drm_connector
>>>> *connector,  }  EXPORT_SYMBOL(drm_set_preferred_mode);
>>>>  
>>>> -static bool is_hdmi2_sink(const struct drm_connector *connector) -{
>>>> -	/*
>>>> -	 * FIXME: sil-sii8620 doesn't have a connector around when
>>>> -	 * we need one, so we have to be prepared for a NULL connector.
>>>> -	 */
>>>> -	if (!connector)
>>>> -		return true;
>>>> -
>>>> -	return connector->display_info.hdmi.scdc.supported ||
>>>> -		connector->display_info.color_formats & DRM_COLOR_FORMAT_YCBCR420;
>>>> -}
>>>> -
>>>>  static u8 drm_mode_hdmi_vic(const struct drm_connector *connector,
>>>>  			    const struct drm_display_mode *mode)  {
>>
>> --
>> Jani Nikula, Intel Open Source Graphics Center
>
> --
> Jani Nikula, Intel Open Source Graphics Center

-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [PATCH v2] drm/edid: ignore the CEA modes not defined in CEA-861-D
  2022-05-31 10:34 ` [Intel-gfx] " William Tseng
                   ` (4 preceding siblings ...)
  (?)
@ 2022-06-13  4:27 ` William Tseng
  2022-06-13  7:25   ` Lin, Wayne
  2022-06-13 12:26   ` [PATCH v3] " William Tseng
  -1 siblings, 2 replies; 27+ messages in thread
From: William Tseng @ 2022-06-13  4:27 UTC (permalink / raw)
  To: dri-devel; +Cc: Lee Shawn C, Wayne Lin, William Tseng

This is a workaround for HDMI 1.4 sink which has a CEA mode with higher vic
than what is defined in CEA-861-D.

As an example, a HDMI 1.4 sink has the video format 2560x1080p to be
displayed and the video format is indicated by both SVD (with vic 90 and
pictuure aspect ratio 64:27) and DTD.  When connecting to such sink,
source can't output the video format in SVD because an error is returned by
drm_hdmi_avi_infoframe_from_display_mode(), which can't fill the infoframe
with pictuure aspect ratio 64:27 and the vic, which is originally 90 and is
changed to 0 by drm_mode_cea_vic().

To work around it, do not set the vic 0 so the corresponding mode may be
accepted in drm_hdmi_avi_infoframe_from_display_mode() and be dispalyed.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Wayne Lin <waynelin@amd.com>
Cc: Lee Shawn C <shawn.c.lee@intel.com>
Signed-off-by: William Tseng <william.tseng@intel.com>
---
 drivers/gpu/drm/drm_edid.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index bc43e1b32092..a4582627ec9d 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -5876,7 +5876,8 @@ static u8 drm_mode_hdmi_vic(const struct drm_connector *connector,
 }
 
 static u8 drm_mode_cea_vic(const struct drm_connector *connector,
-			   const struct drm_display_mode *mode)
+			   const struct drm_display_mode *mode,
+			   bool is_hdmi2_sink)
 {
 	u8 vic;
 
@@ -5896,7 +5897,7 @@ static u8 drm_mode_cea_vic(const struct drm_connector *connector,
 	 * HDMI 2.0 VIC range: 1 <= VIC <= 107 (CEA-861-F). So we
 	 * have to make sure we dont break HDMI 1.4 sinks.
 	 */
-	if (!is_hdmi2_sink(connector) && vic > 64)
+	if (!is_hdmi2_sink && vic > 64)
 		return 0;
 
 	return vic;
@@ -5927,7 +5928,7 @@ drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame,
 	if (mode->flags & DRM_MODE_FLAG_DBLCLK)
 		frame->pixel_repeat = 1;
 
-	vic = drm_mode_cea_vic(connector, mode);
+	vic = drm_mode_cea_vic(connector, mode, true);
 	hdmi_vic = drm_mode_hdmi_vic(connector, mode);
 
 	frame->picture_aspect = HDMI_PICTURE_ASPECT_NONE;
@@ -5971,7 +5972,8 @@ drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame,
 		picture_aspect = HDMI_PICTURE_ASPECT_NONE;
 	}
 
-	frame->video_code = vic;
+	frame->video_code = drm_mode_cea_vic(connector, mode,
+						is_hdmi2_sink(connector));
 	frame->picture_aspect = picture_aspect;
 	frame->active_aspect = HDMI_ACTIVE_ASPECT_PICTURE;
 	frame->scan_mode = HDMI_SCAN_MODE_UNDERSCAN;
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* RE: [PATCH v2] drm/edid: ignore the CEA modes not defined in CEA-861-D
  2022-06-13  4:27 ` [PATCH v2] " William Tseng
@ 2022-06-13  7:25   ` Lin, Wayne
  2022-06-13  8:05     ` Tseng, William
  2022-06-13 12:22     ` Tseng, William
  2022-06-13 12:26   ` [PATCH v3] " William Tseng
  1 sibling, 2 replies; 27+ messages in thread
From: Lin, Wayne @ 2022-06-13  7:25 UTC (permalink / raw)
  To: William Tseng, dri-devel; +Cc: Lee Shawn C

[AMD Official Use Only - General]

Thanks William!

After fixing few typos below, feel free to add:

Acked-by: Wayne Lin <Wayne.Lin@amd.com>

> -----Original Message-----
> From: William Tseng <william.tseng@intel.com>
> Sent: Monday, June 13, 2022 12:27 PM
> To: dri-devel@lists.freedesktop.org
> Cc: William Tseng <william.tseng@intel.com>; Ville Syrjälä
> <ville.syrjala@linux.intel.com>; Jani Nikula <jani.nikula@linux.intel.com>; Lin,
> Wayne <Wayne.Lin@amd.com>; Lee Shawn C <shawn.c.lee@intel.com>
> Subject: [PATCH v2] drm/edid: ignore the CEA modes not defined in CEA-
> 861-D
> 
> This is a workaround for HDMI 1.4 sink which has a CEA mode with higher vic
> than what is defined in CEA-861-D.
> 
> As an example, a HDMI 1.4 sink has the video format 2560x1080p to be
> displayed and the video format is indicated by both SVD (with vic 90 and
> pictuure aspect ratio 64:27) and DTD.  When connecting to such sink, source

Typo - picture
> can't output the video format in SVD because an error is returned by
> drm_hdmi_avi_infoframe_from_display_mode(), which can't fill the
> infoframe with pictuure aspect ratio 64:27 and the vic, which is originally 90

Typo - picture
> and is changed to 0 by drm_mode_cea_vic().
> 
> To work around it, do not set the vic 0 so the corresponding mode may be
> accepted in drm_hdmi_avi_infoframe_from_display_mode() and be
> dispalyed.
> 
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> Cc: Wayne Lin <waynelin@amd.com>
> Cc: Lee Shawn C <shawn.c.lee@intel.com>
> Signed-off-by: William Tseng <william.tseng@intel.com>
> ---
>  drivers/gpu/drm/drm_edid.c | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index bc43e1b32092..a4582627ec9d 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -5876,7 +5876,8 @@ static u8 drm_mode_hdmi_vic(const struct
> drm_connector *connector,  }
> 
>  static u8 drm_mode_cea_vic(const struct drm_connector *connector,
> -			   const struct drm_display_mode *mode)
> +			   const struct drm_display_mode *mode,
> +			   bool is_hdmi2_sink)
>  {
>  	u8 vic;
> 
> @@ -5896,7 +5897,7 @@ static u8 drm_mode_cea_vic(const struct
> drm_connector *connector,
>  	 * HDMI 2.0 VIC range: 1 <= VIC <= 107 (CEA-861-F). So we
>  	 * have to make sure we dont break HDMI 1.4 sinks.
>  	 */
> -	if (!is_hdmi2_sink(connector) && vic > 64)
> +	if (!is_hdmi2_sink && vic > 64)
>  		return 0;
> 
>  	return vic;
> @@ -5927,7 +5928,7 @@
> drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe
> *frame,
>  	if (mode->flags & DRM_MODE_FLAG_DBLCLK)
>  		frame->pixel_repeat = 1;
> 
> -	vic = drm_mode_cea_vic(connector, mode);
> +	vic = drm_mode_cea_vic(connector, mode, true);
>  	hdmi_vic = drm_mode_hdmi_vic(connector, mode);
> 
>  	frame->picture_aspect = HDMI_PICTURE_ASPECT_NONE; @@ -
> 5971,7 +5972,8 @@ drm_hdmi_avi_infoframe_from_display_mode(struct
> hdmi_avi_infoframe *frame,
>  		picture_aspect = HDMI_PICTURE_ASPECT_NONE;
>  	}
> 
> -	frame->video_code = vic;
> +	frame->video_code = drm_mode_cea_vic(connector, mode,
> +						is_hdmi2_sink(connector));
>  	frame->picture_aspect = picture_aspect;
>  	frame->active_aspect = HDMI_ACTIVE_ASPECT_PICTURE;
>  	frame->scan_mode = HDMI_SCAN_MODE_UNDERSCAN;
> --
> 2.17.1

^ permalink raw reply	[flat|nested] 27+ messages in thread

* RE: [PATCH v2] drm/edid: ignore the CEA modes not defined in CEA-861-D
  2022-06-13  7:25   ` Lin, Wayne
@ 2022-06-13  8:05     ` Tseng, William
  2022-06-13  8:11       ` Lin, Wayne
  2022-06-13 12:22     ` Tseng, William
  1 sibling, 1 reply; 27+ messages in thread
From: Tseng, William @ 2022-06-13  8:05 UTC (permalink / raw)
  To: Lin, Wayne, dri-devel; +Cc: Lee, Shawn C

Thanks Wayne for the comment.
I don't quite understand what the typos are.
Could you elaborate on them?
Thank you.

-----Original Message-----
From: Lin, Wayne <Wayne.Lin@amd.com> 
Sent: Monday, June 13, 2022 3:25 PM
To: Tseng, William <william.tseng@intel.com>; dri-devel@lists.freedesktop.org
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>; Jani Nikula <jani.nikula@linux.intel.com>; Lee, Shawn C <shawn.c.lee@intel.com>
Subject: RE: [PATCH v2] drm/edid: ignore the CEA modes not defined in CEA-861-D

[AMD Official Use Only - General]

Thanks William!

After fixing few typos below, feel free to add:

Acked-by: Wayne Lin <Wayne.Lin@amd.com>

> -----Original Message-----
> From: William Tseng <william.tseng@intel.com>
> Sent: Monday, June 13, 2022 12:27 PM
> To: dri-devel@lists.freedesktop.org
> Cc: William Tseng <william.tseng@intel.com>; Ville Syrjälä 
> <ville.syrjala@linux.intel.com>; Jani Nikula 
> <jani.nikula@linux.intel.com>; Lin, Wayne <Wayne.Lin@amd.com>; Lee 
> Shawn C <shawn.c.lee@intel.com>
> Subject: [PATCH v2] drm/edid: ignore the CEA modes not defined in CEA- 
> 861-D
> 
> This is a workaround for HDMI 1.4 sink which has a CEA mode with 
> higher vic than what is defined in CEA-861-D.
> 
> As an example, a HDMI 1.4 sink has the video format 2560x1080p to be 
> displayed and the video format is indicated by both SVD (with vic 90 
> and pictuure aspect ratio 64:27) and DTD.  When connecting to such 
> sink, source

Typo - picture
> can't output the video format in SVD because an error is returned by 
> drm_hdmi_avi_infoframe_from_display_mode(), which can't fill the 
> infoframe with pictuure aspect ratio 64:27 and the vic, which is 
> originally 90

Typo - picture
> and is changed to 0 by drm_mode_cea_vic().
> 
> To work around it, do not set the vic 0 so the corresponding mode may 
> be accepted in drm_hdmi_avi_infoframe_from_display_mode() and be 
> dispalyed.
> 
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> Cc: Wayne Lin <waynelin@amd.com>
> Cc: Lee Shawn C <shawn.c.lee@intel.com>
> Signed-off-by: William Tseng <william.tseng@intel.com>
> ---
>  drivers/gpu/drm/drm_edid.c | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c 
> index bc43e1b32092..a4582627ec9d 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -5876,7 +5876,8 @@ static u8 drm_mode_hdmi_vic(const struct 
> drm_connector *connector,  }
> 
>  static u8 drm_mode_cea_vic(const struct drm_connector *connector,
> -			   const struct drm_display_mode *mode)
> +			   const struct drm_display_mode *mode,
> +			   bool is_hdmi2_sink)
>  {
>  	u8 vic;
> 
> @@ -5896,7 +5897,7 @@ static u8 drm_mode_cea_vic(const struct 
> drm_connector *connector,
>  	 * HDMI 2.0 VIC range: 1 <= VIC <= 107 (CEA-861-F). So we
>  	 * have to make sure we dont break HDMI 1.4 sinks.
>  	 */
> -	if (!is_hdmi2_sink(connector) && vic > 64)
> +	if (!is_hdmi2_sink && vic > 64)
>  		return 0;
> 
>  	return vic;
> @@ -5927,7 +5928,7 @@
> drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe 
> *frame,
>  	if (mode->flags & DRM_MODE_FLAG_DBLCLK)
>  		frame->pixel_repeat = 1;
> 
> -	vic = drm_mode_cea_vic(connector, mode);
> +	vic = drm_mode_cea_vic(connector, mode, true);
>  	hdmi_vic = drm_mode_hdmi_vic(connector, mode);
> 
>  	frame->picture_aspect = HDMI_PICTURE_ASPECT_NONE; @@ -
> 5971,7 +5972,8 @@ drm_hdmi_avi_infoframe_from_display_mode(struct
> hdmi_avi_infoframe *frame,
>  		picture_aspect = HDMI_PICTURE_ASPECT_NONE;
>  	}
> 
> -	frame->video_code = vic;
> +	frame->video_code = drm_mode_cea_vic(connector, mode,
> +						is_hdmi2_sink(connector));
>  	frame->picture_aspect = picture_aspect;
>  	frame->active_aspect = HDMI_ACTIVE_ASPECT_PICTURE;
>  	frame->scan_mode = HDMI_SCAN_MODE_UNDERSCAN;
> --
> 2.17.1

^ permalink raw reply	[flat|nested] 27+ messages in thread

* RE: [PATCH v2] drm/edid: ignore the CEA modes not defined in CEA-861-D
  2022-06-13  8:05     ` Tseng, William
@ 2022-06-13  8:11       ` Lin, Wayne
  0 siblings, 0 replies; 27+ messages in thread
From: Lin, Wayne @ 2022-06-13  8:11 UTC (permalink / raw)
  To: 20220613042707.8525-1-william.tseng, dri-devel; +Cc: Lee, Shawn C

[Public]



> -----Original Message-----
> From: Tseng, William <william.tseng@intel.com>
> Sent: Monday, June 13, 2022 4:05 PM
> To: Lin, Wayne <Wayne.Lin@amd.com>; dri-devel@lists.freedesktop.org
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>; Jani Nikula
> <jani.nikula@linux.intel.com>; Lee, Shawn C <shawn.c.lee@intel.com>
> Subject: RE: [PATCH v2] drm/edid: ignore the CEA modes not defined in CEA-
> 861-D
> 
> Thanks Wayne for the comment.
> I don't quite understand what the typos are.
> Could you elaborate on them?
> Thank you.
> 
> -----Original Message-----
> From: Lin, Wayne <Wayne.Lin@amd.com>
> Sent: Monday, June 13, 2022 3:25 PM
> To: Tseng, William <william.tseng@intel.com>; dri-
> devel@lists.freedesktop.org
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>; Jani Nikula
> <jani.nikula@linux.intel.com>; Lee, Shawn C <shawn.c.lee@intel.com>
> Subject: RE: [PATCH v2] drm/edid: ignore the CEA modes not defined in CEA-
> 861-D
> 
> [AMD Official Use Only - General]
> 
> Thanks William!
> 
> After fixing few typos below, feel free to add:
> 
> Acked-by: Wayne Lin <Wayne.Lin@amd.com>
> 
> > -----Original Message-----
> > From: William Tseng <william.tseng@intel.com>
> > Sent: Monday, June 13, 2022 12:27 PM
> > To: dri-devel@lists.freedesktop.org
> > Cc: William Tseng <william.tseng@intel.com>; Ville Syrjälä
> > <ville.syrjala@linux.intel.com>; Jani Nikula
> > <jani.nikula@linux.intel.com>; Lin, Wayne <Wayne.Lin@amd.com>; Lee
> > Shawn C <shawn.c.lee@intel.com>
> > Subject: [PATCH v2] drm/edid: ignore the CEA modes not defined in CEA-
> > 861-D
> >
> > This is a workaround for HDMI 1.4 sink which has a CEA mode with
> > higher vic than what is defined in CEA-861-D.
> >
> > As an example, a HDMI 1.4 sink has the video format 2560x1080p to be
> > displayed and the video format is indicated by both SVD (with vic 90
> > and pictuure aspect ratio 64:27) and DTD.  When connecting to such

Hi William,
Change "pictuure aspect ratio" to "picture aspect ratio ".

> > sink, source
> 
> Typo - picture
> > can't output the video format in SVD because an error is returned by
> > drm_hdmi_avi_infoframe_from_display_mode(), which can't fill the
> > infoframe with pictuure aspect ratio 64:27 and the vic, which is

Same here.

> > originally 90
> 
> Typo - picture
> > and is changed to 0 by drm_mode_cea_vic().
> >
> > To work around it, do not set the vic 0 so the corresponding mode may
> > be accepted in drm_hdmi_avi_infoframe_from_display_mode() and be
> > dispalyed.
> >
> > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > Cc: Jani Nikula <jani.nikula@linux.intel.com>
> > Cc: Wayne Lin <waynelin@amd.com>
> > Cc: Lee Shawn C <shawn.c.lee@intel.com>
> > Signed-off-by: William Tseng <william.tseng@intel.com>
> > ---
> >  drivers/gpu/drm/drm_edid.c | 10 ++++++----
> >  1 file changed, 6 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> > index bc43e1b32092..a4582627ec9d 100644
> > --- a/drivers/gpu/drm/drm_edid.c
> > +++ b/drivers/gpu/drm/drm_edid.c
> > @@ -5876,7 +5876,8 @@ static u8 drm_mode_hdmi_vic(const struct
> > drm_connector *connector,  }
> >
> >  static u8 drm_mode_cea_vic(const struct drm_connector *connector,
> > -			   const struct drm_display_mode *mode)
> > +			   const struct drm_display_mode *mode,
> > +			   bool is_hdmi2_sink)
> >  {
> >  	u8 vic;
> >
> > @@ -5896,7 +5897,7 @@ static u8 drm_mode_cea_vic(const struct
> > drm_connector *connector,
> >  	 * HDMI 2.0 VIC range: 1 <= VIC <= 107 (CEA-861-F). So we
> >  	 * have to make sure we dont break HDMI 1.4 sinks.
> >  	 */
> > -	if (!is_hdmi2_sink(connector) && vic > 64)
> > +	if (!is_hdmi2_sink && vic > 64)
> >  		return 0;
> >
> >  	return vic;
> > @@ -5927,7 +5928,7 @@
> > drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe
> > *frame,
> >  	if (mode->flags & DRM_MODE_FLAG_DBLCLK)
> >  		frame->pixel_repeat = 1;
> >
> > -	vic = drm_mode_cea_vic(connector, mode);
> > +	vic = drm_mode_cea_vic(connector, mode, true);
> >  	hdmi_vic = drm_mode_hdmi_vic(connector, mode);
> >
> >  	frame->picture_aspect = HDMI_PICTURE_ASPECT_NONE; @@ -
> > 5971,7 +5972,8 @@ drm_hdmi_avi_infoframe_from_display_mode(struct
> > hdmi_avi_infoframe *frame,
> >  		picture_aspect = HDMI_PICTURE_ASPECT_NONE;
> >  	}
> >
> > -	frame->video_code = vic;
> > +	frame->video_code = drm_mode_cea_vic(connector, mode,
> > +						is_hdmi2_sink(connector));
> >  	frame->picture_aspect = picture_aspect;
> >  	frame->active_aspect = HDMI_ACTIVE_ASPECT_PICTURE;
> >  	frame->scan_mode = HDMI_SCAN_MODE_UNDERSCAN;
> > --
> > 2.17.1
--
Regards,
Wayne Lin

^ permalink raw reply	[flat|nested] 27+ messages in thread

* RE: [PATCH v2] drm/edid: ignore the CEA modes not defined in CEA-861-D
  2022-06-13  7:25   ` Lin, Wayne
  2022-06-13  8:05     ` Tseng, William
@ 2022-06-13 12:22     ` Tseng, William
  1 sibling, 0 replies; 27+ messages in thread
From: Tseng, William @ 2022-06-13 12:22 UTC (permalink / raw)
  To: Lin, Wayne, dri-devel; +Cc: Lee, Shawn C

Thanks Wayne for clarifying.
I will correct the typos and submit the patch again.


-----Original Message-----
From: Lin, Wayne <Wayne.Lin@amd.com> 
Sent: Monday, June 13, 2022 3:25 PM
To: Tseng, William <william.tseng@intel.com>; dri-devel@lists.freedesktop.org
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>; Jani Nikula <jani.nikula@linux.intel.com>; Lee, Shawn C <shawn.c.lee@intel.com>
Subject: RE: [PATCH v2] drm/edid: ignore the CEA modes not defined in CEA-861-D

[AMD Official Use Only - General]

Thanks William!

After fixing few typos below, feel free to add:

Acked-by: Wayne Lin <Wayne.Lin@amd.com>

> -----Original Message-----
> From: William Tseng <william.tseng@intel.com>
> Sent: Monday, June 13, 2022 12:27 PM
> To: dri-devel@lists.freedesktop.org
> Cc: William Tseng <william.tseng@intel.com>; Ville Syrjälä 
> <ville.syrjala@linux.intel.com>; Jani Nikula 
> <jani.nikula@linux.intel.com>; Lin, Wayne <Wayne.Lin@amd.com>; Lee 
> Shawn C <shawn.c.lee@intel.com>
> Subject: [PATCH v2] drm/edid: ignore the CEA modes not defined in CEA- 
> 861-D
> 
> This is a workaround for HDMI 1.4 sink which has a CEA mode with 
> higher vic than what is defined in CEA-861-D.
> 
> As an example, a HDMI 1.4 sink has the video format 2560x1080p to be 
> displayed and the video format is indicated by both SVD (with vic 90 
> and pictuure aspect ratio 64:27) and DTD.  When connecting to such 
> sink, source

Typo - picture
> can't output the video format in SVD because an error is returned by 
> drm_hdmi_avi_infoframe_from_display_mode(), which can't fill the 
> infoframe with pictuure aspect ratio 64:27 and the vic, which is 
> originally 90

Typo - picture
> and is changed to 0 by drm_mode_cea_vic().
> 
> To work around it, do not set the vic 0 so the corresponding mode may 
> be accepted in drm_hdmi_avi_infoframe_from_display_mode() and be 
> dispalyed.
> 
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> Cc: Wayne Lin <waynelin@amd.com>
> Cc: Lee Shawn C <shawn.c.lee@intel.com>
> Signed-off-by: William Tseng <william.tseng@intel.com>
> ---
>  drivers/gpu/drm/drm_edid.c | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c 
> index bc43e1b32092..a4582627ec9d 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -5876,7 +5876,8 @@ static u8 drm_mode_hdmi_vic(const struct 
> drm_connector *connector,  }
> 
>  static u8 drm_mode_cea_vic(const struct drm_connector *connector,
> -			   const struct drm_display_mode *mode)
> +			   const struct drm_display_mode *mode,
> +			   bool is_hdmi2_sink)
>  {
>  	u8 vic;
> 
> @@ -5896,7 +5897,7 @@ static u8 drm_mode_cea_vic(const struct 
> drm_connector *connector,
>  	 * HDMI 2.0 VIC range: 1 <= VIC <= 107 (CEA-861-F). So we
>  	 * have to make sure we dont break HDMI 1.4 sinks.
>  	 */
> -	if (!is_hdmi2_sink(connector) && vic > 64)
> +	if (!is_hdmi2_sink && vic > 64)
>  		return 0;
> 
>  	return vic;
> @@ -5927,7 +5928,7 @@
> drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe 
> *frame,
>  	if (mode->flags & DRM_MODE_FLAG_DBLCLK)
>  		frame->pixel_repeat = 1;
> 
> -	vic = drm_mode_cea_vic(connector, mode);
> +	vic = drm_mode_cea_vic(connector, mode, true);
>  	hdmi_vic = drm_mode_hdmi_vic(connector, mode);
> 
>  	frame->picture_aspect = HDMI_PICTURE_ASPECT_NONE; @@ -
> 5971,7 +5972,8 @@ drm_hdmi_avi_infoframe_from_display_mode(struct
> hdmi_avi_infoframe *frame,
>  		picture_aspect = HDMI_PICTURE_ASPECT_NONE;
>  	}
> 
> -	frame->video_code = vic;
> +	frame->video_code = drm_mode_cea_vic(connector, mode,
> +						is_hdmi2_sink(connector));
>  	frame->picture_aspect = picture_aspect;
>  	frame->active_aspect = HDMI_ACTIVE_ASPECT_PICTURE;
>  	frame->scan_mode = HDMI_SCAN_MODE_UNDERSCAN;
> --
> 2.17.1

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [PATCH v3] drm/edid: ignore the CEA modes not defined in CEA-861-D
  2022-06-13  4:27 ` [PATCH v2] " William Tseng
  2022-06-13  7:25   ` Lin, Wayne
@ 2022-06-13 12:26   ` William Tseng
  2022-09-20  6:23       ` [Intel-gfx] " William Tseng
  1 sibling, 1 reply; 27+ messages in thread
From: William Tseng @ 2022-06-13 12:26 UTC (permalink / raw)
  To: dri-devel; +Cc: Lee Shawn C, Wayne Lin, William Tseng

This is a workaround for HDMI 1.4 sink which has a CEA mode with higher vic
than what is defined in CEA-861-D.

As an example, a HDMI 1.4 sink has the video format 2560x1080p to be
displayed and the video format is indicated by both SVD (with vic 90 and
picture aspect ratio 64:27) and DTD.  When connecting to such sink,
source can't output the video format in SVD because an error is returned by
drm_hdmi_avi_infoframe_from_display_mode(), which can't fill the infoframe
with picture aspect ratio 64:27 and the vic, which is originally 90 and is
changed to 0 by drm_mode_cea_vic().

To work around it, do not set the vic 0 so the corresponding mode may be
accepted in drm_hdmi_avi_infoframe_from_display_mode() and be dispalyed.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Wayne Lin <waynelin@amd.com>
Cc: Lee Shawn C <shawn.c.lee@intel.com>
Signed-off-by: William Tseng <william.tseng@intel.com>
---
 drivers/gpu/drm/drm_edid.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index bc43e1b32092..a4582627ec9d 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -5876,7 +5876,8 @@ static u8 drm_mode_hdmi_vic(const struct drm_connector *connector,
 }
 
 static u8 drm_mode_cea_vic(const struct drm_connector *connector,
-			   const struct drm_display_mode *mode)
+			   const struct drm_display_mode *mode,
+			   bool is_hdmi2_sink)
 {
 	u8 vic;
 
@@ -5896,7 +5897,7 @@ static u8 drm_mode_cea_vic(const struct drm_connector *connector,
 	 * HDMI 2.0 VIC range: 1 <= VIC <= 107 (CEA-861-F). So we
 	 * have to make sure we dont break HDMI 1.4 sinks.
 	 */
-	if (!is_hdmi2_sink(connector) && vic > 64)
+	if (!is_hdmi2_sink && vic > 64)
 		return 0;
 
 	return vic;
@@ -5927,7 +5928,7 @@ drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame,
 	if (mode->flags & DRM_MODE_FLAG_DBLCLK)
 		frame->pixel_repeat = 1;
 
-	vic = drm_mode_cea_vic(connector, mode);
+	vic = drm_mode_cea_vic(connector, mode, true);
 	hdmi_vic = drm_mode_hdmi_vic(connector, mode);
 
 	frame->picture_aspect = HDMI_PICTURE_ASPECT_NONE;
@@ -5971,7 +5972,8 @@ drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame,
 		picture_aspect = HDMI_PICTURE_ASPECT_NONE;
 	}
 
-	frame->video_code = vic;
+	frame->video_code = drm_mode_cea_vic(connector, mode,
+						is_hdmi2_sink(connector));
 	frame->picture_aspect = picture_aspect;
 	frame->active_aspect = HDMI_ACTIVE_ASPECT_PICTURE;
 	frame->scan_mode = HDMI_SCAN_MODE_UNDERSCAN;
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH v4] drm/edid: ignore the CEA modes not defined in CEA-861-D
  2022-06-13 12:26   ` [PATCH v3] " William Tseng
@ 2022-09-20  6:23       ` William Tseng
  0 siblings, 0 replies; 27+ messages in thread
From: William Tseng @ 2022-09-20  6:23 UTC (permalink / raw)
  To: dri-devel; +Cc: Lee Shawn C, Wayne Lin, William Tseng

This is a workaround for HDMI 1.4 sink which has a CEA mode with higher vic
than what is defined in CEA-861-D.

As an example, a HDMI 1.4 sink has the video format 2560x1080p to be
displayed and the video format is indicated by both SVD (with vic 90 and
picture aspect ratio 64:27) and DTD.  When connecting to such sink,
source can't output the video format in SVD because an error is returned by
drm_hdmi_avi_infoframe_from_display_mode(), which can't fill the infoframe
with picture aspect ratio 64:27 and the vic, which is originally 90 and is
changed to 0 by drm_mode_cea_vic().

To work around it, do not set the vic 0 so the corresponding mode may be
accepted in drm_hdmi_avi_infoframe_from_display_mode() and be dispalyed.

v1: initial version.
v2: change the logic in drm_hdmi_avi_infoframe_from_display_mode().
v3: fix typo.
v4: add revision history.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Wayne Lin <waynelin@amd.com>
Cc: Lee Shawn C <shawn.c.lee@intel.com>
Signed-off-by: William Tseng <william.tseng@intel.com>
---
 drivers/gpu/drm/drm_edid.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index eaa819381281..3c6a4e09b2d6 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -6640,7 +6640,8 @@ static u8 drm_mode_hdmi_vic(const struct drm_connector *connector,
 }
 
 static u8 drm_mode_cea_vic(const struct drm_connector *connector,
-			   const struct drm_display_mode *mode)
+			   const struct drm_display_mode *mode,
+			   bool is_hdmi2_sink)
 {
 	u8 vic;
 
@@ -6660,7 +6661,7 @@ static u8 drm_mode_cea_vic(const struct drm_connector *connector,
 	 * HDMI 2.0 VIC range: 1 <= VIC <= 107 (CEA-861-F). So we
 	 * have to make sure we dont break HDMI 1.4 sinks.
 	 */
-	if (!is_hdmi2_sink(connector) && vic > 64)
+	if (!is_hdmi2_sink && vic > 64)
 		return 0;
 
 	return vic;
@@ -6691,7 +6692,7 @@ drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame,
 	if (mode->flags & DRM_MODE_FLAG_DBLCLK)
 		frame->pixel_repeat = 1;
 
-	vic = drm_mode_cea_vic(connector, mode);
+	vic = drm_mode_cea_vic(connector, mode, true);
 	hdmi_vic = drm_mode_hdmi_vic(connector, mode);
 
 	frame->picture_aspect = HDMI_PICTURE_ASPECT_NONE;
@@ -6735,7 +6736,8 @@ drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame,
 		picture_aspect = HDMI_PICTURE_ASPECT_NONE;
 	}
 
-	frame->video_code = vic;
+	frame->video_code = drm_mode_cea_vic(connector, mode,
+						is_hdmi2_sink(connector));
 	frame->picture_aspect = picture_aspect;
 	frame->active_aspect = HDMI_ACTIVE_ASPECT_PICTURE;
 	frame->scan_mode = HDMI_SCAN_MODE_UNDERSCAN;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [Intel-gfx] [PATCH v4] drm/edid: ignore the CEA modes not defined in CEA-861-D
@ 2022-09-20  6:23       ` William Tseng
  0 siblings, 0 replies; 27+ messages in thread
From: William Tseng @ 2022-09-20  6:23 UTC (permalink / raw)
  To: dri-devel; +Cc: Wayne Lin, William Tseng

This is a workaround for HDMI 1.4 sink which has a CEA mode with higher vic
than what is defined in CEA-861-D.

As an example, a HDMI 1.4 sink has the video format 2560x1080p to be
displayed and the video format is indicated by both SVD (with vic 90 and
picture aspect ratio 64:27) and DTD.  When connecting to such sink,
source can't output the video format in SVD because an error is returned by
drm_hdmi_avi_infoframe_from_display_mode(), which can't fill the infoframe
with picture aspect ratio 64:27 and the vic, which is originally 90 and is
changed to 0 by drm_mode_cea_vic().

To work around it, do not set the vic 0 so the corresponding mode may be
accepted in drm_hdmi_avi_infoframe_from_display_mode() and be dispalyed.

v1: initial version.
v2: change the logic in drm_hdmi_avi_infoframe_from_display_mode().
v3: fix typo.
v4: add revision history.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Wayne Lin <waynelin@amd.com>
Cc: Lee Shawn C <shawn.c.lee@intel.com>
Signed-off-by: William Tseng <william.tseng@intel.com>
---
 drivers/gpu/drm/drm_edid.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index eaa819381281..3c6a4e09b2d6 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -6640,7 +6640,8 @@ static u8 drm_mode_hdmi_vic(const struct drm_connector *connector,
 }
 
 static u8 drm_mode_cea_vic(const struct drm_connector *connector,
-			   const struct drm_display_mode *mode)
+			   const struct drm_display_mode *mode,
+			   bool is_hdmi2_sink)
 {
 	u8 vic;
 
@@ -6660,7 +6661,7 @@ static u8 drm_mode_cea_vic(const struct drm_connector *connector,
 	 * HDMI 2.0 VIC range: 1 <= VIC <= 107 (CEA-861-F). So we
 	 * have to make sure we dont break HDMI 1.4 sinks.
 	 */
-	if (!is_hdmi2_sink(connector) && vic > 64)
+	if (!is_hdmi2_sink && vic > 64)
 		return 0;
 
 	return vic;
@@ -6691,7 +6692,7 @@ drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame,
 	if (mode->flags & DRM_MODE_FLAG_DBLCLK)
 		frame->pixel_repeat = 1;
 
-	vic = drm_mode_cea_vic(connector, mode);
+	vic = drm_mode_cea_vic(connector, mode, true);
 	hdmi_vic = drm_mode_hdmi_vic(connector, mode);
 
 	frame->picture_aspect = HDMI_PICTURE_ASPECT_NONE;
@@ -6735,7 +6736,8 @@ drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame,
 		picture_aspect = HDMI_PICTURE_ASPECT_NONE;
 	}
 
-	frame->video_code = vic;
+	frame->video_code = drm_mode_cea_vic(connector, mode,
+						is_hdmi2_sink(connector));
 	frame->picture_aspect = picture_aspect;
 	frame->active_aspect = HDMI_ACTIVE_ASPECT_PICTURE;
 	frame->scan_mode = HDMI_SCAN_MODE_UNDERSCAN;
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* Re: [PATCH v4] drm/edid: ignore the CEA modes not defined in CEA-861-D
  2022-09-20  6:23       ` [Intel-gfx] " William Tseng
  (?)
@ 2022-09-20  6:49       ` Jani Nikula
  2022-09-20  8:22         ` Tseng, William
  -1 siblings, 1 reply; 27+ messages in thread
From: Jani Nikula @ 2022-09-20  6:49 UTC (permalink / raw)
  To: William Tseng, dri-devel; +Cc: Lee Shawn C, Wayne Lin, William Tseng

On Tue, 20 Sep 2022, William Tseng <william.tseng@intel.com> wrote:
> This is a workaround for HDMI 1.4 sink which has a CEA mode with higher vic
> than what is defined in CEA-861-D.
>
> As an example, a HDMI 1.4 sink has the video format 2560x1080p to be
> displayed and the video format is indicated by both SVD (with vic 90 and
> picture aspect ratio 64:27) and DTD.  When connecting to such sink,
> source can't output the video format in SVD because an error is returned by
> drm_hdmi_avi_infoframe_from_display_mode(), which can't fill the infoframe
> with picture aspect ratio 64:27 and the vic, which is originally 90 and is
> changed to 0 by drm_mode_cea_vic().
>
> To work around it, do not set the vic 0 so the corresponding mode may be
> accepted in drm_hdmi_avi_infoframe_from_display_mode() and be dispalyed.
>
> v1: initial version.
> v2: change the logic in drm_hdmi_avi_infoframe_from_display_mode().
> v3: fix typo.
> v4: add revision history.
>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> Cc: Wayne Lin <waynelin@amd.com>
> Cc: Lee Shawn C <shawn.c.lee@intel.com>
> Signed-off-by: William Tseng <william.tseng@intel.com>

Please attach the offending EDID to the bug [1]. I won't ack this before
we see the EDID in question.


BR,
Jani.


[1] https://gitlab.freedesktop.org/drm/intel/-/issues/6153

> ---
>  drivers/gpu/drm/drm_edid.c | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index eaa819381281..3c6a4e09b2d6 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -6640,7 +6640,8 @@ static u8 drm_mode_hdmi_vic(const struct drm_connector *connector,
>  }
>  
>  static u8 drm_mode_cea_vic(const struct drm_connector *connector,
> -			   const struct drm_display_mode *mode)
> +			   const struct drm_display_mode *mode,
> +			   bool is_hdmi2_sink)
>  {
>  	u8 vic;
>  
> @@ -6660,7 +6661,7 @@ static u8 drm_mode_cea_vic(const struct drm_connector *connector,
>  	 * HDMI 2.0 VIC range: 1 <= VIC <= 107 (CEA-861-F). So we
>  	 * have to make sure we dont break HDMI 1.4 sinks.
>  	 */
> -	if (!is_hdmi2_sink(connector) && vic > 64)
> +	if (!is_hdmi2_sink && vic > 64)
>  		return 0;
>  
>  	return vic;
> @@ -6691,7 +6692,7 @@ drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame,
>  	if (mode->flags & DRM_MODE_FLAG_DBLCLK)
>  		frame->pixel_repeat = 1;
>  
> -	vic = drm_mode_cea_vic(connector, mode);
> +	vic = drm_mode_cea_vic(connector, mode, true);
>  	hdmi_vic = drm_mode_hdmi_vic(connector, mode);
>  
>  	frame->picture_aspect = HDMI_PICTURE_ASPECT_NONE;
> @@ -6735,7 +6736,8 @@ drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame,
>  		picture_aspect = HDMI_PICTURE_ASPECT_NONE;
>  	}
>  
> -	frame->video_code = vic;
> +	frame->video_code = drm_mode_cea_vic(connector, mode,
> +						is_hdmi2_sink(connector));
>  	frame->picture_aspect = picture_aspect;
>  	frame->active_aspect = HDMI_ACTIVE_ASPECT_PICTURE;
>  	frame->scan_mode = HDMI_SCAN_MODE_UNDERSCAN;

-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/edid: ignore the CEA modes not defined in CEA-861-D (rev3)
  2022-05-31 10:34 ` [Intel-gfx] " William Tseng
                   ` (5 preceding siblings ...)
  (?)
@ 2022-09-20  7:01 ` Patchwork
  -1 siblings, 0 replies; 27+ messages in thread
From: Patchwork @ 2022-09-20  7:01 UTC (permalink / raw)
  To: William Tseng; +Cc: intel-gfx

== Series Details ==

Series: drm/edid: ignore the CEA modes not defined in CEA-861-D (rev3)
URL   : https://patchwork.freedesktop.org/series/104539/
State : warning

== Summary ==

Error: dim checkpatch failed
894ed59a7b31 drm/edid: ignore the CEA modes not defined in CEA-861-D
-:72: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#72: FILE: drivers/gpu/drm/drm_edid.c:6790:
+	frame->video_code = drm_mode_cea_vic(connector, mode,
+						is_hdmi2_sink(connector));

total: 0 errors, 0 warnings, 1 checks, 34 lines checked



^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/edid: ignore the CEA modes not defined in CEA-861-D (rev3)
  2022-05-31 10:34 ` [Intel-gfx] " William Tseng
                   ` (6 preceding siblings ...)
  (?)
@ 2022-09-20  7:24 ` Patchwork
  -1 siblings, 0 replies; 27+ messages in thread
From: Patchwork @ 2022-09-20  7:24 UTC (permalink / raw)
  To: William Tseng; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 7040 bytes --]

== Series Details ==

Series: drm/edid: ignore the CEA modes not defined in CEA-861-D (rev3)
URL   : https://patchwork.freedesktop.org/series/104539/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_12158 -> Patchwork_104539v3
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_104539v3 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_104539v3, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v3/index.html

Participating hosts (42 -> 39)
------------------------------

  Missing    (3): fi-ctg-p8600 bat-jsl-3 bat-dg1-5 

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_104539v3:

### IGT changes ###

#### Possible regressions ####

  * igt@kms_cursor_legacy@basic-flip-before-cursor@toggle:
    - fi-bsw-kefka:       [PASS][1] -> [FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12158/fi-bsw-kefka/igt@kms_cursor_legacy@basic-flip-before-cursor@toggle.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v3/fi-bsw-kefka/igt@kms_cursor_legacy@basic-flip-before-cursor@toggle.html

  
#### Warnings ####

  * igt@runner@aborted:
    - fi-apl-guc:         [FAIL][3] ([i915#6599]) -> [FAIL][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12158/fi-apl-guc/igt@runner@aborted.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v3/fi-apl-guc/igt@runner@aborted.html
    - fi-skl-guc:         [FAIL][5] ([i915#6599]) -> [FAIL][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12158/fi-skl-guc/igt@runner@aborted.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v3/fi-skl-guc/igt@runner@aborted.html

  
Known issues
------------

  Here are the changes found in Patchwork_104539v3 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@i915_module_load@load:
    - fi-bdw-gvtdvm:      [PASS][7] -> [DMESG-WARN][8] ([i915#6540])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12158/fi-bdw-gvtdvm/igt@i915_module_load@load.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v3/fi-bdw-gvtdvm/igt@i915_module_load@load.html

  * igt@kms_chamelium@common-hpd-after-suspend:
    - fi-hsw-4770:        NOTRUN -> [SKIP][9] ([fdo#109271] / [fdo#111827])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v3/fi-hsw-4770/igt@kms_chamelium@common-hpd-after-suspend.html

  * igt@kms_force_connector_basic@force-connector-state:
    - fi-bdw-gvtdvm:      [PASS][10] -> [DMESG-WARN][11] ([i915#5922])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12158/fi-bdw-gvtdvm/igt@kms_force_connector_basic@force-connector-state.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v3/fi-bdw-gvtdvm/igt@kms_force_connector_basic@force-connector-state.html

  * igt@runner@aborted:
    - fi-bdw-gvtdvm:      NOTRUN -> [FAIL][12] ([i915#4312])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v3/fi-bdw-gvtdvm/igt@runner@aborted.html

  
#### Possible fixes ####

  * igt@fbdev@write:
    - {fi-tgl-mst}:       [SKIP][13] ([i915#2582]) -> [PASS][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12158/fi-tgl-mst/igt@fbdev@write.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v3/fi-tgl-mst/igt@fbdev@write.html

  * igt@gem_ctx_create@basic-files:
    - {fi-tgl-mst}:       [DMESG-WARN][15] -> [PASS][16]
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12158/fi-tgl-mst/igt@gem_ctx_create@basic-files.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v3/fi-tgl-mst/igt@gem_ctx_create@basic-files.html

  * igt@i915_selftest@live@hangcheck:
    - fi-hsw-4770:        [INCOMPLETE][17] ([i915#4785]) -> [PASS][18]
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12158/fi-hsw-4770/igt@i915_selftest@live@hangcheck.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v3/fi-hsw-4770/igt@i915_selftest@live@hangcheck.html

  * igt@i915_selftest@live@slpc:
    - {bat-rpls-1}:       [DMESG-FAIL][19] ([i915#6367]) -> [PASS][20]
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12158/bat-rpls-1/igt@i915_selftest@live@slpc.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v3/bat-rpls-1/igt@i915_selftest@live@slpc.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions-varying-size:
    - fi-bsw-kefka:       [FAIL][21] ([i915#6298]) -> [PASS][22]
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12158/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions-varying-size.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v3/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions-varying-size.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
  [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#4785]: https://gitlab.freedesktop.org/drm/intel/issues/4785
  [i915#5122]: https://gitlab.freedesktop.org/drm/intel/issues/5122
  [i915#5257]: https://gitlab.freedesktop.org/drm/intel/issues/5257
  [i915#5886]: https://gitlab.freedesktop.org/drm/intel/issues/5886
  [i915#5922]: https://gitlab.freedesktop.org/drm/intel/issues/5922
  [i915#6298]: https://gitlab.freedesktop.org/drm/intel/issues/6298
  [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367
  [i915#6434]: https://gitlab.freedesktop.org/drm/intel/issues/6434
  [i915#6540]: https://gitlab.freedesktop.org/drm/intel/issues/6540
  [i915#6599]: https://gitlab.freedesktop.org/drm/intel/issues/6599
  [i915#6645]: https://gitlab.freedesktop.org/drm/intel/issues/6645
  [i915#6724]: https://gitlab.freedesktop.org/drm/intel/issues/6724


Build changes
-------------

  * Linux: CI_DRM_12158 -> Patchwork_104539v3

  CI-20190529: 20190529
  CI_DRM_12158: 3bde74f15d452bf788ecab8933ee802b2ee9e673 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6656: 24100c4e181c50e3678aeca9c641b8a43555ad73 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_104539v3: 3bde74f15d452bf788ecab8933ee802b2ee9e673 @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

f9a9a3147076 drm/edid: ignore the CEA modes not defined in CEA-861-D

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_104539v3/index.html

[-- Attachment #2: Type: text/html, Size: 7553 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* RE: [PATCH v4] drm/edid: ignore the CEA modes not defined in CEA-861-D
  2022-09-20  6:49       ` Jani Nikula
@ 2022-09-20  8:22         ` Tseng, William
  2022-12-06  9:53           ` Tseng, William
  0 siblings, 1 reply; 27+ messages in thread
From: Tseng, William @ 2022-09-20  8:22 UTC (permalink / raw)
  To: Jani Nikula, dri-devel; +Cc: Lee, Shawn C, Wayne Lin

For EDID, please refer to the attachment on the link.
https://gitlab.freedesktop.org/drm/intel/-/issues/6153#note_1558419


Regards
William

-----Original Message-----
From: Jani Nikula <jani.nikula@linux.intel.com> 
Sent: Tuesday, September 20, 2022 2:49 PM
To: Tseng, William <william.tseng@intel.com>; dri-devel@lists.freedesktop.org
Cc: Tseng, William <william.tseng@intel.com>; Ville Syrjälä <ville.syrjala@linux.intel.com>; Wayne Lin <waynelin@amd.com>; Lee, Shawn C <shawn.c.lee@intel.com>
Subject: Re: [PATCH v4] drm/edid: ignore the CEA modes not defined in CEA-861-D

On Tue, 20 Sep 2022, William Tseng <william.tseng@intel.com> wrote:
> This is a workaround for HDMI 1.4 sink which has a CEA mode with 
> higher vic than what is defined in CEA-861-D.
>
> As an example, a HDMI 1.4 sink has the video format 2560x1080p to be 
> displayed and the video format is indicated by both SVD (with vic 90 
> and picture aspect ratio 64:27) and DTD.  When connecting to such 
> sink, source can't output the video format in SVD because an error is 
> returned by drm_hdmi_avi_infoframe_from_display_mode(), which can't 
> fill the infoframe with picture aspect ratio 64:27 and the vic, which 
> is originally 90 and is changed to 0 by drm_mode_cea_vic().
>
> To work around it, do not set the vic 0 so the corresponding mode may 
> be accepted in drm_hdmi_avi_infoframe_from_display_mode() and be dispalyed.
>
> v1: initial version.
> v2: change the logic in drm_hdmi_avi_infoframe_from_display_mode().
> v3: fix typo.
> v4: add revision history.
>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> Cc: Wayne Lin <waynelin@amd.com>
> Cc: Lee Shawn C <shawn.c.lee@intel.com>
> Signed-off-by: William Tseng <william.tseng@intel.com>

Please attach the offending EDID to the bug [1]. I won't ack this before we see the EDID in question.


BR,
Jani.


[1] https://gitlab.freedesktop.org/drm/intel/-/issues/6153

> ---
>  drivers/gpu/drm/drm_edid.c | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c 
> index eaa819381281..3c6a4e09b2d6 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -6640,7 +6640,8 @@ static u8 drm_mode_hdmi_vic(const struct 
> drm_connector *connector,  }
>  
>  static u8 drm_mode_cea_vic(const struct drm_connector *connector,
> -			   const struct drm_display_mode *mode)
> +			   const struct drm_display_mode *mode,
> +			   bool is_hdmi2_sink)
>  {
>  	u8 vic;
>  
> @@ -6660,7 +6661,7 @@ static u8 drm_mode_cea_vic(const struct drm_connector *connector,
>  	 * HDMI 2.0 VIC range: 1 <= VIC <= 107 (CEA-861-F). So we
>  	 * have to make sure we dont break HDMI 1.4 sinks.
>  	 */
> -	if (!is_hdmi2_sink(connector) && vic > 64)
> +	if (!is_hdmi2_sink && vic > 64)
>  		return 0;
>  
>  	return vic;
> @@ -6691,7 +6692,7 @@ drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame,
>  	if (mode->flags & DRM_MODE_FLAG_DBLCLK)
>  		frame->pixel_repeat = 1;
>  
> -	vic = drm_mode_cea_vic(connector, mode);
> +	vic = drm_mode_cea_vic(connector, mode, true);
>  	hdmi_vic = drm_mode_hdmi_vic(connector, mode);
>  
>  	frame->picture_aspect = HDMI_PICTURE_ASPECT_NONE; @@ -6735,7 +6736,8 
> @@ drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame,
>  		picture_aspect = HDMI_PICTURE_ASPECT_NONE;
>  	}
>  
> -	frame->video_code = vic;
> +	frame->video_code = drm_mode_cea_vic(connector, mode,
> +						is_hdmi2_sink(connector));
>  	frame->picture_aspect = picture_aspect;
>  	frame->active_aspect = HDMI_ACTIVE_ASPECT_PICTURE;
>  	frame->scan_mode = HDMI_SCAN_MODE_UNDERSCAN;

--
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 27+ messages in thread

* RE: [PATCH v4] drm/edid: ignore the CEA modes not defined in CEA-861-D
  2022-09-20  8:22         ` Tseng, William
@ 2022-12-06  9:53           ` Tseng, William
  2023-01-04 10:25             ` Jani Nikula
  0 siblings, 1 reply; 27+ messages in thread
From: Tseng, William @ 2022-12-06  9:53 UTC (permalink / raw)
  To: Jani Nikula, dri-devel; +Cc: Lee, Shawn C, Wayne Lin

Hi Jani

May I have your comment about this patch?
BTW, this is the link to the binary EDID,  https://gitlab.freedesktop.org/drm/intel/-/issues/6153#note_1558419.
Thank you.


Regards
William

-----Original Message-----
From: Tseng, William 
Sent: Tuesday, September 20, 2022 4:23 PM
To: Jani Nikula <jani.nikula@linux.intel.com>; dri-devel@lists.freedesktop.org
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>; Wayne Lin <waynelin@amd.com>; Lee, Shawn C <shawn.c.lee@intel.com>
Subject: RE: [PATCH v4] drm/edid: ignore the CEA modes not defined in CEA-861-D

For EDID, please refer to the attachment on the link.
https://gitlab.freedesktop.org/drm/intel/-/issues/6153#note_1558419


Regards
William

-----Original Message-----
From: Jani Nikula <jani.nikula@linux.intel.com>
Sent: Tuesday, September 20, 2022 2:49 PM
To: Tseng, William <william.tseng@intel.com>; dri-devel@lists.freedesktop.org
Cc: Tseng, William <william.tseng@intel.com>; Ville Syrjälä <ville.syrjala@linux.intel.com>; Wayne Lin <waynelin@amd.com>; Lee, Shawn C <shawn.c.lee@intel.com>
Subject: Re: [PATCH v4] drm/edid: ignore the CEA modes not defined in CEA-861-D

On Tue, 20 Sep 2022, William Tseng <william.tseng@intel.com> wrote:
> This is a workaround for HDMI 1.4 sink which has a CEA mode with 
> higher vic than what is defined in CEA-861-D.
>
> As an example, a HDMI 1.4 sink has the video format 2560x1080p to be 
> displayed and the video format is indicated by both SVD (with vic 90 
> and picture aspect ratio 64:27) and DTD.  When connecting to such 
> sink, source can't output the video format in SVD because an error is 
> returned by drm_hdmi_avi_infoframe_from_display_mode(), which can't 
> fill the infoframe with picture aspect ratio 64:27 and the vic, which 
> is originally 90 and is changed to 0 by drm_mode_cea_vic().
>
> To work around it, do not set the vic 0 so the corresponding mode may 
> be accepted in drm_hdmi_avi_infoframe_from_display_mode() and be dispalyed.
>
> v1: initial version.
> v2: change the logic in drm_hdmi_avi_infoframe_from_display_mode().
> v3: fix typo.
> v4: add revision history.
>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> Cc: Wayne Lin <waynelin@amd.com>
> Cc: Lee Shawn C <shawn.c.lee@intel.com>
> Signed-off-by: William Tseng <william.tseng@intel.com>

Please attach the offending EDID to the bug [1]. I won't ack this before we see the EDID in question.


BR,
Jani.


[1] https://gitlab.freedesktop.org/drm/intel/-/issues/6153

> ---
>  drivers/gpu/drm/drm_edid.c | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c 
> index eaa819381281..3c6a4e09b2d6 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -6640,7 +6640,8 @@ static u8 drm_mode_hdmi_vic(const struct 
> drm_connector *connector,  }
>  
>  static u8 drm_mode_cea_vic(const struct drm_connector *connector,
> -			   const struct drm_display_mode *mode)
> +			   const struct drm_display_mode *mode,
> +			   bool is_hdmi2_sink)
>  {
>  	u8 vic;
>  
> @@ -6660,7 +6661,7 @@ static u8 drm_mode_cea_vic(const struct drm_connector *connector,
>  	 * HDMI 2.0 VIC range: 1 <= VIC <= 107 (CEA-861-F). So we
>  	 * have to make sure we dont break HDMI 1.4 sinks.
>  	 */
> -	if (!is_hdmi2_sink(connector) && vic > 64)
> +	if (!is_hdmi2_sink && vic > 64)
>  		return 0;
>  
>  	return vic;
> @@ -6691,7 +6692,7 @@ drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame,
>  	if (mode->flags & DRM_MODE_FLAG_DBLCLK)
>  		frame->pixel_repeat = 1;
>  
> -	vic = drm_mode_cea_vic(connector, mode);
> +	vic = drm_mode_cea_vic(connector, mode, true);
>  	hdmi_vic = drm_mode_hdmi_vic(connector, mode);
>  
>  	frame->picture_aspect = HDMI_PICTURE_ASPECT_NONE; @@ -6735,7 +6736,8 
> @@ drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame,
>  		picture_aspect = HDMI_PICTURE_ASPECT_NONE;
>  	}
>  
> -	frame->video_code = vic;
> +	frame->video_code = drm_mode_cea_vic(connector, mode,
> +						is_hdmi2_sink(connector));
>  	frame->picture_aspect = picture_aspect;
>  	frame->active_aspect = HDMI_ACTIVE_ASPECT_PICTURE;
>  	frame->scan_mode = HDMI_SCAN_MODE_UNDERSCAN;

--
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 27+ messages in thread

* RE: [PATCH v4] drm/edid: ignore the CEA modes not defined in CEA-861-D
  2022-12-06  9:53           ` Tseng, William
@ 2023-01-04 10:25             ` Jani Nikula
  0 siblings, 0 replies; 27+ messages in thread
From: Jani Nikula @ 2023-01-04 10:25 UTC (permalink / raw)
  To: 20220920062316.43162-1-william.tseng, dri-devel; +Cc: Lee, Shawn C, Wayne Lin

On Tue, 06 Dec 2022, "Tseng, William" <william.tseng@intel.com> wrote:
> Hi Jani
>
> May I have your comment about this patch?
> BTW, this is the link to the binary EDID,  https://gitlab.freedesktop.org/drm/intel/-/issues/6153#note_1558419.
> Thank you.

I must admit I didn't initially understand what the root cause here was.

I was looking at this again in the context of other EDID parsing
changes, and took the liberty of fixing this in a slightly different,
and more compact, way [1].

Later in the same series, I also opt to send the actual VIC in the AVI
infoframe if the sink lists the VIC in the CTA VDB [2].

Testing of [1] would be appreciated, and if it isn't too much trouble,
also patches 1-5 in the series to see if [2] is a reasonable choice.

Thanks,
Jani.


[1] https://patchwork.freedesktop.org/patch/msgid/c3e78cc6d01ed237f71ad0038826b08d83d75eef.1672826282.git.jani.nikula@intel.com
[2] https://patchwork.freedesktop.org/patch/msgid/775124fd07a5b7892e869becc3dd8dadb328ae5f.1672826282.git.jani.nikula@intel.com


>
>
> Regards
> William
>
> -----Original Message-----
> From: Tseng, William 
> Sent: Tuesday, September 20, 2022 4:23 PM
> To: Jani Nikula <jani.nikula@linux.intel.com>; dri-devel@lists.freedesktop.org
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>; Wayne Lin <waynelin@amd.com>; Lee, Shawn C <shawn.c.lee@intel.com>
> Subject: RE: [PATCH v4] drm/edid: ignore the CEA modes not defined in CEA-861-D
>
> For EDID, please refer to the attachment on the link.
> https://gitlab.freedesktop.org/drm/intel/-/issues/6153#note_1558419
>
>
> Regards
> William
>
> -----Original Message-----
> From: Jani Nikula <jani.nikula@linux.intel.com>
> Sent: Tuesday, September 20, 2022 2:49 PM
> To: Tseng, William <william.tseng@intel.com>; dri-devel@lists.freedesktop.org
> Cc: Tseng, William <william.tseng@intel.com>; Ville Syrjälä <ville.syrjala@linux.intel.com>; Wayne Lin <waynelin@amd.com>; Lee, Shawn C <shawn.c.lee@intel.com>
> Subject: Re: [PATCH v4] drm/edid: ignore the CEA modes not defined in CEA-861-D
>
> On Tue, 20 Sep 2022, William Tseng <william.tseng@intel.com> wrote:
>> This is a workaround for HDMI 1.4 sink which has a CEA mode with 
>> higher vic than what is defined in CEA-861-D.
>>
>> As an example, a HDMI 1.4 sink has the video format 2560x1080p to be 
>> displayed and the video format is indicated by both SVD (with vic 90 
>> and picture aspect ratio 64:27) and DTD.  When connecting to such 
>> sink, source can't output the video format in SVD because an error is 
>> returned by drm_hdmi_avi_infoframe_from_display_mode(), which can't 
>> fill the infoframe with picture aspect ratio 64:27 and the vic, which 
>> is originally 90 and is changed to 0 by drm_mode_cea_vic().
>>
>> To work around it, do not set the vic 0 so the corresponding mode may 
>> be accepted in drm_hdmi_avi_infoframe_from_display_mode() and be dispalyed.
>>
>> v1: initial version.
>> v2: change the logic in drm_hdmi_avi_infoframe_from_display_mode().
>> v3: fix typo.
>> v4: add revision history.
>>
>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> Cc: Jani Nikula <jani.nikula@linux.intel.com>
>> Cc: Wayne Lin <waynelin@amd.com>
>> Cc: Lee Shawn C <shawn.c.lee@intel.com>
>> Signed-off-by: William Tseng <william.tseng@intel.com>
>
> Please attach the offending EDID to the bug [1]. I won't ack this before we see the EDID in question.
>
>
> BR,
> Jani.
>
>
> [1] https://gitlab.freedesktop.org/drm/intel/-/issues/6153
>
>> ---
>>  drivers/gpu/drm/drm_edid.c | 10 ++++++----
>>  1 file changed, 6 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c 
>> index eaa819381281..3c6a4e09b2d6 100644
>> --- a/drivers/gpu/drm/drm_edid.c
>> +++ b/drivers/gpu/drm/drm_edid.c
>> @@ -6640,7 +6640,8 @@ static u8 drm_mode_hdmi_vic(const struct 
>> drm_connector *connector,  }
>>  
>>  static u8 drm_mode_cea_vic(const struct drm_connector *connector,
>> -			   const struct drm_display_mode *mode)
>> +			   const struct drm_display_mode *mode,
>> +			   bool is_hdmi2_sink)
>>  {
>>  	u8 vic;
>>  
>> @@ -6660,7 +6661,7 @@ static u8 drm_mode_cea_vic(const struct drm_connector *connector,
>>  	 * HDMI 2.0 VIC range: 1 <= VIC <= 107 (CEA-861-F). So we
>>  	 * have to make sure we dont break HDMI 1.4 sinks.
>>  	 */
>> -	if (!is_hdmi2_sink(connector) && vic > 64)
>> +	if (!is_hdmi2_sink && vic > 64)
>>  		return 0;
>>  
>>  	return vic;
>> @@ -6691,7 +6692,7 @@ drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame,
>>  	if (mode->flags & DRM_MODE_FLAG_DBLCLK)
>>  		frame->pixel_repeat = 1;
>>  
>> -	vic = drm_mode_cea_vic(connector, mode);
>> +	vic = drm_mode_cea_vic(connector, mode, true);
>>  	hdmi_vic = drm_mode_hdmi_vic(connector, mode);
>>  
>>  	frame->picture_aspect = HDMI_PICTURE_ASPECT_NONE; @@ -6735,7 +6736,8 
>> @@ drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame,
>>  		picture_aspect = HDMI_PICTURE_ASPECT_NONE;
>>  	}
>>  
>> -	frame->video_code = vic;
>> +	frame->video_code = drm_mode_cea_vic(connector, mode,
>> +						is_hdmi2_sink(connector));
>>  	frame->picture_aspect = picture_aspect;
>>  	frame->active_aspect = HDMI_ACTIVE_ASPECT_PICTURE;
>>  	frame->scan_mode = HDMI_SCAN_MODE_UNDERSCAN;
>
> --
> Jani Nikula, Intel Open Source Graphics Center

-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2023-01-04 10:26 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-31 10:34 [PATCH] drm/edid: ignore the CEA modes not defined in CEA-861-D William Tseng
2022-05-31 10:34 ` [Intel-gfx] " William Tseng
2022-05-31 10:56 ` Jani Nikula
2022-05-31 11:06   ` Jani Nikula
2022-06-01  9:43     ` Tseng, William
2022-06-01  9:56       ` Jani Nikula
2022-06-01 10:02         ` Tseng, William
2022-06-01 10:15           ` Jani Nikula
2022-06-01  9:42   ` Tseng, William
2022-05-31 13:55 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/edid: ignore the CEA modes not defined in CEA-861-D (rev2) Patchwork
2022-05-31 16:15 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2022-05-31 16:42 ` [PATCH] drm/edid: ignore the CEA modes not defined in CEA-861-D Ville Syrjälä
2022-06-01  9:57   ` Tseng, William
2022-06-13  4:27 ` [PATCH v2] " William Tseng
2022-06-13  7:25   ` Lin, Wayne
2022-06-13  8:05     ` Tseng, William
2022-06-13  8:11       ` Lin, Wayne
2022-06-13 12:22     ` Tseng, William
2022-06-13 12:26   ` [PATCH v3] " William Tseng
2022-09-20  6:23     ` [PATCH v4] " William Tseng
2022-09-20  6:23       ` [Intel-gfx] " William Tseng
2022-09-20  6:49       ` Jani Nikula
2022-09-20  8:22         ` Tseng, William
2022-12-06  9:53           ` Tseng, William
2023-01-04 10:25             ` Jani Nikula
2022-09-20  7:01 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/edid: ignore the CEA modes not defined in CEA-861-D (rev3) Patchwork
2022-09-20  7:24 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.