All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915/hdmi: enable resolution 3840x2160 for type 1 HDMI
@ 2019-10-16  9:57 Jian-Hong Pan
  2019-10-16 10:33   ` Ville Syrjälä
  2019-10-17  1:06 ` ✗ Fi.CI.BAT: failure for " Patchwork
  0 siblings, 2 replies; 4+ messages in thread
From: Jian-Hong Pan @ 2019-10-16  9:57 UTC (permalink / raw)
  To: Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, David Airlie,
	Daniel Vetter, Ville Syrjälä,
	Chris Wilson, Maarten Lankhorst, Ramalingam C, Uma Shankar
  Cc: intel-gfx, dri-devel, linux-kernel, linux, Jian-Hong Pan

Type 1 HDMI may be version 1.3 or upper, which supports higher max TMDS
clock for higher resolutions, like 3840x2160. This patch sets max TMDS
clock according to the chip, if the adapter is type 1 HDMI.

Buglink: https://bugs.freedesktop.org/show_bug.cgi?id=112018
Fixes: b1ba124d8e95 ("drm/i915: Respect DP++ adaptor TMDS clock limit")
Signed-off-by: Jian-Hong Pan <jian-hong@endlessm.com>
---
 drivers/gpu/drm/i915/display/intel_hdmi.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
index e02f0faecf02..74e4426ffcad 100644
--- a/drivers/gpu/drm/i915/display/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
@@ -2454,6 +2454,7 @@ intel_hdmi_dp_dual_mode_detect(struct drm_connector *connector, bool has_edid)
 {
 	struct drm_i915_private *dev_priv = to_i915(connector->dev);
 	struct intel_hdmi *hdmi = intel_attached_hdmi(connector);
+	struct intel_encoder *encoder = &hdmi_to_dig_port(hdmi)->base;
 	enum port port = hdmi_to_dig_port(hdmi)->base.port;
 	struct i2c_adapter *adapter =
 		intel_gmbus_get_adapter(dev_priv, hdmi->ddc_bus);
@@ -2488,8 +2489,16 @@ intel_hdmi_dp_dual_mode_detect(struct drm_connector *connector, bool has_edid)
 		return;
 
 	hdmi->dp_dual_mode.type = type;
-	hdmi->dp_dual_mode.max_tmds_clock =
-		drm_dp_dual_mode_max_tmds_clock(type, adapter);
+	/* Type 1 HDMI may be version 1.3 or upper, which supports higher max
+	 * TMDS clock for higher resolutions, like 3840x2160. So, set it
+	 * according to the chip, if the adapter is type 1 HDMI.
+	 */
+	if (type == DRM_DP_DUAL_MODE_TYPE1_HDMI)
+		hdmi->dp_dual_mode.max_tmds_clock =
+			intel_hdmi_source_max_tmds_clock(encoder);
+	else
+		hdmi->dp_dual_mode.max_tmds_clock =
+			drm_dp_dual_mode_max_tmds_clock(type, adapter);
 
 	DRM_DEBUG_KMS("DP dual mode adaptor (%s) detected (max TMDS clock: %d kHz)\n",
 		      drm_dp_get_dual_mode_type_name(type),
-- 
2.23.0


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

* Re: [PATCH] drm/i915/hdmi: enable resolution 3840x2160 for type 1 HDMI
  2019-10-16  9:57 [PATCH] drm/i915/hdmi: enable resolution 3840x2160 for type 1 HDMI Jian-Hong Pan
@ 2019-10-16 10:33   ` Ville Syrjälä
  2019-10-17  1:06 ` ✗ Fi.CI.BAT: failure for " Patchwork
  1 sibling, 0 replies; 4+ messages in thread
From: Ville Syrjälä @ 2019-10-16 10:33 UTC (permalink / raw)
  To: Jian-Hong Pan
  Cc: Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, David Airlie,
	Daniel Vetter, Chris Wilson, Maarten Lankhorst, Ramalingam C,
	Uma Shankar, intel-gfx, dri-devel, linux-kernel, linux

On Wed, Oct 16, 2019 at 05:57:58PM +0800, Jian-Hong Pan wrote:
> Type 1 HDMI may be version 1.3 or upper, which supports higher max TMDS
> clock for higher resolutions,

Spec says "Type 1 adaptors can support DVI or HDMI up to a 165MHz TMDS clock rate."

And I've definitely seen HDMI dongles that can't deal with
eg. 1080p 12bpc @225MHz. We don't want users with black screens
out of the box, so NAK.

If you want to "overclock" your hardware you can do so by setting up
the modeline manually.

> like 3840x2160. This patch sets max TMDS
> clock according to the chip, if the adapter is type 1 HDMI.
> 
> Buglink: https://bugs.freedesktop.org/show_bug.cgi?id=112018
> Fixes: b1ba124d8e95 ("drm/i915: Respect DP++ adaptor TMDS clock limit")
> Signed-off-by: Jian-Hong Pan <jian-hong@endlessm.com>
> ---
>  drivers/gpu/drm/i915/display/intel_hdmi.c | 13 +++++++++++--
>  1 file changed, 11 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
> index e02f0faecf02..74e4426ffcad 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
> @@ -2454,6 +2454,7 @@ intel_hdmi_dp_dual_mode_detect(struct drm_connector *connector, bool has_edid)
>  {
>  	struct drm_i915_private *dev_priv = to_i915(connector->dev);
>  	struct intel_hdmi *hdmi = intel_attached_hdmi(connector);
> +	struct intel_encoder *encoder = &hdmi_to_dig_port(hdmi)->base;
>  	enum port port = hdmi_to_dig_port(hdmi)->base.port;
>  	struct i2c_adapter *adapter =
>  		intel_gmbus_get_adapter(dev_priv, hdmi->ddc_bus);
> @@ -2488,8 +2489,16 @@ intel_hdmi_dp_dual_mode_detect(struct drm_connector *connector, bool has_edid)
>  		return;
>  
>  	hdmi->dp_dual_mode.type = type;
> -	hdmi->dp_dual_mode.max_tmds_clock =
> -		drm_dp_dual_mode_max_tmds_clock(type, adapter);
> +	/* Type 1 HDMI may be version 1.3 or upper, which supports higher max
> +	 * TMDS clock for higher resolutions, like 3840x2160. So, set it
> +	 * according to the chip, if the adapter is type 1 HDMI.
> +	 */
> +	if (type == DRM_DP_DUAL_MODE_TYPE1_HDMI)
> +		hdmi->dp_dual_mode.max_tmds_clock =
> +			intel_hdmi_source_max_tmds_clock(encoder);
> +	else
> +		hdmi->dp_dual_mode.max_tmds_clock =
> +			drm_dp_dual_mode_max_tmds_clock(type, adapter);
>  
>  	DRM_DEBUG_KMS("DP dual mode adaptor (%s) detected (max TMDS clock: %d kHz)\n",
>  		      drm_dp_get_dual_mode_type_name(type),
> -- 
> 2.23.0

-- 
Ville Syrjälä
Intel

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

* Re: [PATCH] drm/i915/hdmi: enable resolution 3840x2160 for type 1 HDMI
@ 2019-10-16 10:33   ` Ville Syrjälä
  0 siblings, 0 replies; 4+ messages in thread
From: Ville Syrjälä @ 2019-10-16 10:33 UTC (permalink / raw)
  To: Jian-Hong Pan; +Cc: David Airlie, intel-gfx, linux-kernel, dri-devel, linux

On Wed, Oct 16, 2019 at 05:57:58PM +0800, Jian-Hong Pan wrote:
> Type 1 HDMI may be version 1.3 or upper, which supports higher max TMDS
> clock for higher resolutions,

Spec says "Type 1 adaptors can support DVI or HDMI up to a 165MHz TMDS clock rate."

And I've definitely seen HDMI dongles that can't deal with
eg. 1080p 12bpc @225MHz. We don't want users with black screens
out of the box, so NAK.

If you want to "overclock" your hardware you can do so by setting up
the modeline manually.

> like 3840x2160. This patch sets max TMDS
> clock according to the chip, if the adapter is type 1 HDMI.
> 
> Buglink: https://bugs.freedesktop.org/show_bug.cgi?id=112018
> Fixes: b1ba124d8e95 ("drm/i915: Respect DP++ adaptor TMDS clock limit")
> Signed-off-by: Jian-Hong Pan <jian-hong@endlessm.com>
> ---
>  drivers/gpu/drm/i915/display/intel_hdmi.c | 13 +++++++++++--
>  1 file changed, 11 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
> index e02f0faecf02..74e4426ffcad 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
> @@ -2454,6 +2454,7 @@ intel_hdmi_dp_dual_mode_detect(struct drm_connector *connector, bool has_edid)
>  {
>  	struct drm_i915_private *dev_priv = to_i915(connector->dev);
>  	struct intel_hdmi *hdmi = intel_attached_hdmi(connector);
> +	struct intel_encoder *encoder = &hdmi_to_dig_port(hdmi)->base;
>  	enum port port = hdmi_to_dig_port(hdmi)->base.port;
>  	struct i2c_adapter *adapter =
>  		intel_gmbus_get_adapter(dev_priv, hdmi->ddc_bus);
> @@ -2488,8 +2489,16 @@ intel_hdmi_dp_dual_mode_detect(struct drm_connector *connector, bool has_edid)
>  		return;
>  
>  	hdmi->dp_dual_mode.type = type;
> -	hdmi->dp_dual_mode.max_tmds_clock =
> -		drm_dp_dual_mode_max_tmds_clock(type, adapter);
> +	/* Type 1 HDMI may be version 1.3 or upper, which supports higher max
> +	 * TMDS clock for higher resolutions, like 3840x2160. So, set it
> +	 * according to the chip, if the adapter is type 1 HDMI.
> +	 */
> +	if (type == DRM_DP_DUAL_MODE_TYPE1_HDMI)
> +		hdmi->dp_dual_mode.max_tmds_clock =
> +			intel_hdmi_source_max_tmds_clock(encoder);
> +	else
> +		hdmi->dp_dual_mode.max_tmds_clock =
> +			drm_dp_dual_mode_max_tmds_clock(type, adapter);
>  
>  	DRM_DEBUG_KMS("DP dual mode adaptor (%s) detected (max TMDS clock: %d kHz)\n",
>  		      drm_dp_get_dual_mode_type_name(type),
> -- 
> 2.23.0

-- 
Ville Syrjälä
Intel
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✗ Fi.CI.BAT: failure for drm/i915/hdmi: enable resolution 3840x2160 for type 1 HDMI
  2019-10-16  9:57 [PATCH] drm/i915/hdmi: enable resolution 3840x2160 for type 1 HDMI Jian-Hong Pan
  2019-10-16 10:33   ` Ville Syrjälä
@ 2019-10-17  1:06 ` Patchwork
  1 sibling, 0 replies; 4+ messages in thread
From: Patchwork @ 2019-10-17  1:06 UTC (permalink / raw)
  To: Jian-Hong Pan; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/hdmi: enable resolution 3840x2160 for type 1 HDMI
URL   : https://patchwork.freedesktop.org/series/68113/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_7114 -> Patchwork_14842
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_14842 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_14842, 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_14842/index.html

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@i915_selftest@live_execlists:
    - fi-kbl-x1275:       [PASS][1] -> [DMESG-FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7114/fi-kbl-x1275/igt@i915_selftest@live_execlists.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14842/fi-kbl-x1275/igt@i915_selftest@live_execlists.html

  * igt@i915_selftest@live_gem_contexts:
    - fi-cfl-8109u:       [PASS][3] -> [DMESG-FAIL][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7114/fi-cfl-8109u/igt@i915_selftest@live_gem_contexts.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14842/fi-cfl-8109u/igt@i915_selftest@live_gem_contexts.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_mmap_gtt@basic-read-no-prefault:
    - fi-icl-u3:          [PASS][5] -> [DMESG-WARN][6] ([fdo#107724])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7114/fi-icl-u3/igt@gem_mmap_gtt@basic-read-no-prefault.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14842/fi-icl-u3/igt@gem_mmap_gtt@basic-read-no-prefault.html

  * igt@i915_selftest@live_execlists:
    - fi-glk-dsi:         [PASS][7] -> [INCOMPLETE][8] ([fdo#103359] / [k.org#198133])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7114/fi-glk-dsi/igt@i915_selftest@live_execlists.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14842/fi-glk-dsi/igt@i915_selftest@live_execlists.html

  * igt@i915_selftest@live_hangcheck:
    - fi-bsw-n3050:       [PASS][9] -> [DMESG-FAIL][10] ([fdo# 111537])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7114/fi-bsw-n3050/igt@i915_selftest@live_hangcheck.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14842/fi-bsw-n3050/igt@i915_selftest@live_hangcheck.html

  * igt@kms_chamelium@hdmi-crc-fast:
    - fi-icl-u2:          [PASS][11] -> [FAIL][12] ([fdo#109635 ])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7114/fi-icl-u2/igt@kms_chamelium@hdmi-crc-fast.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14842/fi-icl-u2/igt@kms_chamelium@hdmi-crc-fast.html

  
#### Possible fixes ####

  * igt@gem_ctx_create@basic-files:
    - fi-bdw-gvtdvm:      [DMESG-WARN][13] -> [PASS][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7114/fi-bdw-gvtdvm/igt@gem_ctx_create@basic-files.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14842/fi-bdw-gvtdvm/igt@gem_ctx_create@basic-files.html

  * igt@gem_flink_basic@double-flink:
    - fi-icl-u3:          [DMESG-WARN][15] ([fdo#107724]) -> [PASS][16] +2 similar issues
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7114/fi-icl-u3/igt@gem_flink_basic@double-flink.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14842/fi-icl-u3/igt@gem_flink_basic@double-flink.html

  * igt@i915_selftest@live_execlists:
    - fi-cfl-guc:         [DMESG-FAIL][17] -> [PASS][18]
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7114/fi-cfl-guc/igt@i915_selftest@live_execlists.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14842/fi-cfl-guc/igt@i915_selftest@live_execlists.html
    - fi-cml-u:           [DMESG-FAIL][19] -> [PASS][20]
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7114/fi-cml-u/igt@i915_selftest@live_execlists.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14842/fi-cml-u/igt@i915_selftest@live_execlists.html
    - fi-whl-u:           [INCOMPLETE][21] -> [PASS][22]
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7114/fi-whl-u/igt@i915_selftest@live_execlists.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14842/fi-whl-u/igt@i915_selftest@live_execlists.html
    - fi-apl-guc:         [DMESG-FAIL][23] -> [PASS][24]
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7114/fi-apl-guc/igt@i915_selftest@live_execlists.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14842/fi-apl-guc/igt@i915_selftest@live_execlists.html

  * igt@i915_selftest@live_gtt:
    - {fi-icl-guc}:       [INCOMPLETE][25] ([fdo#107713]) -> [PASS][26]
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7114/fi-icl-guc/igt@i915_selftest@live_gtt.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14842/fi-icl-guc/igt@i915_selftest@live_gtt.html

  * igt@kms_busy@basic-flip-a:
    - {fi-tgl-u2}:        [DMESG-WARN][27] ([fdo#111600]) -> [PASS][28]
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7114/fi-tgl-u2/igt@kms_busy@basic-flip-a.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14842/fi-tgl-u2/igt@kms_busy@basic-flip-a.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [FAIL][29] ([fdo#111407]) -> [PASS][30]
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7114/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14842/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html

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

  [fdo# 111537]: https://bugs.freedesktop.org/show_bug.cgi?id= 111537
  [fdo#103359]: https://bugs.freedesktop.org/show_bug.cgi?id=103359
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#109635 ]: https://bugs.freedesktop.org/show_bug.cgi?id=109635 
  [fdo#111407]: https://bugs.freedesktop.org/show_bug.cgi?id=111407
  [fdo#111600]: https://bugs.freedesktop.org/show_bug.cgi?id=111600
  [fdo#111747]: https://bugs.freedesktop.org/show_bug.cgi?id=111747
  [k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133


Participating hosts (52 -> 46)
------------------------------

  Missing    (6): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-icl-y fi-byt-clapper fi-bdw-samus 


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

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_7114 -> Patchwork_14842

  CI-20190529: 20190529
  CI_DRM_7114: d9e909272a022597067d3ac2dfcedacd63c61af9 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5231: e293051f8f99c72cb01d21e4b73a5928ea351eb3 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_14842: 87025ce4e509aedf41a761ce2612a329767d61a8 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

87025ce4e509 drm/i915/hdmi: enable resolution 3840x2160 for type 1 HDMI

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14842/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

end of thread, other threads:[~2019-10-17  1:06 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-16  9:57 [PATCH] drm/i915/hdmi: enable resolution 3840x2160 for type 1 HDMI Jian-Hong Pan
2019-10-16 10:33 ` Ville Syrjälä
2019-10-16 10:33   ` Ville Syrjälä
2019-10-17  1:06 ` ✗ Fi.CI.BAT: failure for " 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.