All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915/bios: use a flag for vbt hdmi level shift presence
@ 2019-11-05 13:39 ` Jani Nikula
  0 siblings, 0 replies; 16+ messages in thread
From: Jani Nikula @ 2019-11-05 13:39 UTC (permalink / raw)
  To: intel-gfx; +Cc: jani.nikula

The pre-initialized magic value is a bit silly, switch to a flag
instead. While at it, clean up the validity checks. No functional
changes apart from the added checks.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_bios.c | 10 +---------
 drivers/gpu/drm/i915/display/intel_ddi.c  | 19 +++++++++++--------
 drivers/gpu/drm/i915/i915_drv.h           |  8 ++------
 3 files changed, 14 insertions(+), 23 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
index a03f56b7b4ef..c19b234bebe6 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.c
+++ b/drivers/gpu/drm/i915/display/intel_bios.c
@@ -1509,6 +1509,7 @@ static void parse_ddi_port(struct drm_i915_private *dev_priv,
 			      port_name(port),
 			      hdmi_level_shift);
 		info->hdmi_level_shift = hdmi_level_shift;
+		info->hdmi_level_shift_set = true;
 	}
 
 	if (bdb_version >= 204) {
@@ -1692,8 +1693,6 @@ parse_general_definitions(struct drm_i915_private *dev_priv,
 static void
 init_vbt_defaults(struct drm_i915_private *dev_priv)
 {
-	enum port port;
-
 	dev_priv->vbt.crt_ddc_pin = GMBUS_PIN_VGADDC;
 
 	/* Default to having backlight */
@@ -1721,13 +1720,6 @@ init_vbt_defaults(struct drm_i915_private *dev_priv)
 	dev_priv->vbt.lvds_ssc_freq = intel_bios_ssc_frequency(dev_priv,
 			!HAS_PCH_SPLIT(dev_priv));
 	DRM_DEBUG_KMS("Set default to SSC at %d kHz\n", dev_priv->vbt.lvds_ssc_freq);
-
-	for_each_port(port) {
-		struct ddi_vbt_port_info *info =
-			&dev_priv->vbt.ddi_port_info[port];
-
-		info->hdmi_level_shift = HDMI_LEVEL_SHIFT_UNKNOWN;
-	}
 }
 
 /* Defaults to initialize only if there is no VBT. */
diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
index c91521bcf06a..ec51f6971b16 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -888,11 +888,10 @@ icl_get_combo_buf_trans(struct drm_i915_private *dev_priv, int type, int rate,
 
 static int intel_ddi_hdmi_level(struct drm_i915_private *dev_priv, enum port port)
 {
+	struct ddi_vbt_port_info *port_info = &dev_priv->vbt.ddi_port_info[port];
 	int n_entries, level, default_entry;
 	enum phy phy = intel_port_to_phy(dev_priv, port);
 
-	level = dev_priv->vbt.ddi_port_info[port].hdmi_level_shift;
-
 	if (INTEL_GEN(dev_priv) >= 12) {
 		if (intel_phy_is_combo(dev_priv, phy))
 			icl_get_combo_buf_trans(dev_priv, INTEL_OUTPUT_HDMI,
@@ -927,14 +926,18 @@ static int intel_ddi_hdmi_level(struct drm_i915_private *dev_priv, enum port por
 		return 0;
 	}
 
-	/* Choose a good default if VBT is badly populated */
-	if (level == HDMI_LEVEL_SHIFT_UNKNOWN || level >= n_entries)
-		level = default_entry;
-
 	if (WARN_ON_ONCE(n_entries == 0))
 		return 0;
-	if (WARN_ON_ONCE(level >= n_entries))
-		level = n_entries - 1;
+
+	if (WARN_ON_ONCE(default_entry >= n_entries))
+		default_entry = n_entries - 1;
+
+	if (port_info->hdmi_level_shift_set &&
+	    !WARN_ON_ONCE(port_info->hdmi_level_shift >= n_entries)) {
+		level = port_info->hdmi_level_shift;
+	} else {
+		level = default_entry;
+	}
 
 	return level;
 }
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 7e0f67babe20..67bdfe6de3fa 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -627,13 +627,9 @@ struct ddi_vbt_port_info {
 
 	int max_tmds_clock;
 
-	/*
-	 * This is an index in the HDMI/DVI DDI buffer translation table.
-	 * The special value HDMI_LEVEL_SHIFT_UNKNOWN means the VBT didn't
-	 * populate this field.
-	 */
-#define HDMI_LEVEL_SHIFT_UNKNOWN	0xff
+	/* This is an index in the HDMI/DVI DDI buffer translation table. */
 	u8 hdmi_level_shift;
+	u8 hdmi_level_shift_set:1;
 
 	u8 supports_dvi:1;
 	u8 supports_hdmi:1;
-- 
2.20.1

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

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

* [Intel-gfx] [PATCH] drm/i915/bios: use a flag for vbt hdmi level shift presence
@ 2019-11-05 13:39 ` Jani Nikula
  0 siblings, 0 replies; 16+ messages in thread
From: Jani Nikula @ 2019-11-05 13:39 UTC (permalink / raw)
  To: intel-gfx; +Cc: jani.nikula

The pre-initialized magic value is a bit silly, switch to a flag
instead. While at it, clean up the validity checks. No functional
changes apart from the added checks.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_bios.c | 10 +---------
 drivers/gpu/drm/i915/display/intel_ddi.c  | 19 +++++++++++--------
 drivers/gpu/drm/i915/i915_drv.h           |  8 ++------
 3 files changed, 14 insertions(+), 23 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
index a03f56b7b4ef..c19b234bebe6 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.c
+++ b/drivers/gpu/drm/i915/display/intel_bios.c
@@ -1509,6 +1509,7 @@ static void parse_ddi_port(struct drm_i915_private *dev_priv,
 			      port_name(port),
 			      hdmi_level_shift);
 		info->hdmi_level_shift = hdmi_level_shift;
+		info->hdmi_level_shift_set = true;
 	}
 
 	if (bdb_version >= 204) {
@@ -1692,8 +1693,6 @@ parse_general_definitions(struct drm_i915_private *dev_priv,
 static void
 init_vbt_defaults(struct drm_i915_private *dev_priv)
 {
-	enum port port;
-
 	dev_priv->vbt.crt_ddc_pin = GMBUS_PIN_VGADDC;
 
 	/* Default to having backlight */
@@ -1721,13 +1720,6 @@ init_vbt_defaults(struct drm_i915_private *dev_priv)
 	dev_priv->vbt.lvds_ssc_freq = intel_bios_ssc_frequency(dev_priv,
 			!HAS_PCH_SPLIT(dev_priv));
 	DRM_DEBUG_KMS("Set default to SSC at %d kHz\n", dev_priv->vbt.lvds_ssc_freq);
-
-	for_each_port(port) {
-		struct ddi_vbt_port_info *info =
-			&dev_priv->vbt.ddi_port_info[port];
-
-		info->hdmi_level_shift = HDMI_LEVEL_SHIFT_UNKNOWN;
-	}
 }
 
 /* Defaults to initialize only if there is no VBT. */
diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
index c91521bcf06a..ec51f6971b16 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -888,11 +888,10 @@ icl_get_combo_buf_trans(struct drm_i915_private *dev_priv, int type, int rate,
 
 static int intel_ddi_hdmi_level(struct drm_i915_private *dev_priv, enum port port)
 {
+	struct ddi_vbt_port_info *port_info = &dev_priv->vbt.ddi_port_info[port];
 	int n_entries, level, default_entry;
 	enum phy phy = intel_port_to_phy(dev_priv, port);
 
-	level = dev_priv->vbt.ddi_port_info[port].hdmi_level_shift;
-
 	if (INTEL_GEN(dev_priv) >= 12) {
 		if (intel_phy_is_combo(dev_priv, phy))
 			icl_get_combo_buf_trans(dev_priv, INTEL_OUTPUT_HDMI,
@@ -927,14 +926,18 @@ static int intel_ddi_hdmi_level(struct drm_i915_private *dev_priv, enum port por
 		return 0;
 	}
 
-	/* Choose a good default if VBT is badly populated */
-	if (level == HDMI_LEVEL_SHIFT_UNKNOWN || level >= n_entries)
-		level = default_entry;
-
 	if (WARN_ON_ONCE(n_entries == 0))
 		return 0;
-	if (WARN_ON_ONCE(level >= n_entries))
-		level = n_entries - 1;
+
+	if (WARN_ON_ONCE(default_entry >= n_entries))
+		default_entry = n_entries - 1;
+
+	if (port_info->hdmi_level_shift_set &&
+	    !WARN_ON_ONCE(port_info->hdmi_level_shift >= n_entries)) {
+		level = port_info->hdmi_level_shift;
+	} else {
+		level = default_entry;
+	}
 
 	return level;
 }
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 7e0f67babe20..67bdfe6de3fa 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -627,13 +627,9 @@ struct ddi_vbt_port_info {
 
 	int max_tmds_clock;
 
-	/*
-	 * This is an index in the HDMI/DVI DDI buffer translation table.
-	 * The special value HDMI_LEVEL_SHIFT_UNKNOWN means the VBT didn't
-	 * populate this field.
-	 */
-#define HDMI_LEVEL_SHIFT_UNKNOWN	0xff
+	/* This is an index in the HDMI/DVI DDI buffer translation table. */
 	u8 hdmi_level_shift;
+	u8 hdmi_level_shift_set:1;
 
 	u8 supports_dvi:1;
 	u8 supports_hdmi:1;
-- 
2.20.1

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

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

* Re: [PATCH] drm/i915/bios: use a flag for vbt hdmi level shift presence
@ 2019-11-05 13:50   ` Ville Syrjälä
  0 siblings, 0 replies; 16+ messages in thread
From: Ville Syrjälä @ 2019-11-05 13:50 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

On Tue, Nov 05, 2019 at 03:39:00PM +0200, Jani Nikula wrote:
> The pre-initialized magic value is a bit silly, switch to a flag
> instead. While at it, clean up the validity checks. No functional
> changes apart from the added checks.
> 
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_bios.c | 10 +---------
>  drivers/gpu/drm/i915/display/intel_ddi.c  | 19 +++++++++++--------
>  drivers/gpu/drm/i915/i915_drv.h           |  8 ++------
>  3 files changed, 14 insertions(+), 23 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
> index a03f56b7b4ef..c19b234bebe6 100644
> --- a/drivers/gpu/drm/i915/display/intel_bios.c
> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
> @@ -1509,6 +1509,7 @@ static void parse_ddi_port(struct drm_i915_private *dev_priv,
>  			      port_name(port),
>  			      hdmi_level_shift);
>  		info->hdmi_level_shift = hdmi_level_shift;
> +		info->hdmi_level_shift_set = true;
>  	}
>  
>  	if (bdb_version >= 204) {
> @@ -1692,8 +1693,6 @@ parse_general_definitions(struct drm_i915_private *dev_priv,
>  static void
>  init_vbt_defaults(struct drm_i915_private *dev_priv)
>  {
> -	enum port port;
> -
>  	dev_priv->vbt.crt_ddc_pin = GMBUS_PIN_VGADDC;
>  
>  	/* Default to having backlight */
> @@ -1721,13 +1720,6 @@ init_vbt_defaults(struct drm_i915_private *dev_priv)
>  	dev_priv->vbt.lvds_ssc_freq = intel_bios_ssc_frequency(dev_priv,
>  			!HAS_PCH_SPLIT(dev_priv));
>  	DRM_DEBUG_KMS("Set default to SSC at %d kHz\n", dev_priv->vbt.lvds_ssc_freq);
> -
> -	for_each_port(port) {
> -		struct ddi_vbt_port_info *info =
> -			&dev_priv->vbt.ddi_port_info[port];
> -
> -		info->hdmi_level_shift = HDMI_LEVEL_SHIFT_UNKNOWN;
> -	}
>  }
>  
>  /* Defaults to initialize only if there is no VBT. */
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
> index c91521bcf06a..ec51f6971b16 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -888,11 +888,10 @@ icl_get_combo_buf_trans(struct drm_i915_private *dev_priv, int type, int rate,
>  
>  static int intel_ddi_hdmi_level(struct drm_i915_private *dev_priv, enum port port)
>  {
> +	struct ddi_vbt_port_info *port_info = &dev_priv->vbt.ddi_port_info[port];
>  	int n_entries, level, default_entry;
>  	enum phy phy = intel_port_to_phy(dev_priv, port);
>  
> -	level = dev_priv->vbt.ddi_port_info[port].hdmi_level_shift;
> -
>  	if (INTEL_GEN(dev_priv) >= 12) {
>  		if (intel_phy_is_combo(dev_priv, phy))
>  			icl_get_combo_buf_trans(dev_priv, INTEL_OUTPUT_HDMI,
> @@ -927,14 +926,18 @@ static int intel_ddi_hdmi_level(struct drm_i915_private *dev_priv, enum port por
>  		return 0;
>  	}
>  
> -	/* Choose a good default if VBT is badly populated */
> -	if (level == HDMI_LEVEL_SHIFT_UNKNOWN || level >= n_entries)
> -		level = default_entry;
> -
>  	if (WARN_ON_ONCE(n_entries == 0))
>  		return 0;
> -	if (WARN_ON_ONCE(level >= n_entries))
> -		level = n_entries - 1;
> +
> +	if (WARN_ON_ONCE(default_entry >= n_entries))
> +		default_entry = n_entries - 1;
> +
> +	if (port_info->hdmi_level_shift_set &&
> +	    !WARN_ON_ONCE(port_info->hdmi_level_shift >= n_entries)) {
> +		level = port_info->hdmi_level_shift;
> +	} else {
> +		level = default_entry;
> +	}

I'd probably simplify that to something like:

if (level_shift_set)
	level = level_shift;
else
	level = default;
if (WARN_ON_ONCE(level >= n_entries))
	level = n_entries - 1;

Either way:
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

>  
>  	return level;
>  }
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 7e0f67babe20..67bdfe6de3fa 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -627,13 +627,9 @@ struct ddi_vbt_port_info {
>  
>  	int max_tmds_clock;
>  
> -	/*
> -	 * This is an index in the HDMI/DVI DDI buffer translation table.
> -	 * The special value HDMI_LEVEL_SHIFT_UNKNOWN means the VBT didn't
> -	 * populate this field.
> -	 */
> -#define HDMI_LEVEL_SHIFT_UNKNOWN	0xff
> +	/* This is an index in the HDMI/DVI DDI buffer translation table. */
>  	u8 hdmi_level_shift;
> +	u8 hdmi_level_shift_set:1;
>  
>  	u8 supports_dvi:1;
>  	u8 supports_hdmi:1;
> -- 
> 2.20.1

-- 
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] 16+ messages in thread

* Re: [Intel-gfx] [PATCH] drm/i915/bios: use a flag for vbt hdmi level shift presence
@ 2019-11-05 13:50   ` Ville Syrjälä
  0 siblings, 0 replies; 16+ messages in thread
From: Ville Syrjälä @ 2019-11-05 13:50 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

On Tue, Nov 05, 2019 at 03:39:00PM +0200, Jani Nikula wrote:
> The pre-initialized magic value is a bit silly, switch to a flag
> instead. While at it, clean up the validity checks. No functional
> changes apart from the added checks.
> 
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_bios.c | 10 +---------
>  drivers/gpu/drm/i915/display/intel_ddi.c  | 19 +++++++++++--------
>  drivers/gpu/drm/i915/i915_drv.h           |  8 ++------
>  3 files changed, 14 insertions(+), 23 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
> index a03f56b7b4ef..c19b234bebe6 100644
> --- a/drivers/gpu/drm/i915/display/intel_bios.c
> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
> @@ -1509,6 +1509,7 @@ static void parse_ddi_port(struct drm_i915_private *dev_priv,
>  			      port_name(port),
>  			      hdmi_level_shift);
>  		info->hdmi_level_shift = hdmi_level_shift;
> +		info->hdmi_level_shift_set = true;
>  	}
>  
>  	if (bdb_version >= 204) {
> @@ -1692,8 +1693,6 @@ parse_general_definitions(struct drm_i915_private *dev_priv,
>  static void
>  init_vbt_defaults(struct drm_i915_private *dev_priv)
>  {
> -	enum port port;
> -
>  	dev_priv->vbt.crt_ddc_pin = GMBUS_PIN_VGADDC;
>  
>  	/* Default to having backlight */
> @@ -1721,13 +1720,6 @@ init_vbt_defaults(struct drm_i915_private *dev_priv)
>  	dev_priv->vbt.lvds_ssc_freq = intel_bios_ssc_frequency(dev_priv,
>  			!HAS_PCH_SPLIT(dev_priv));
>  	DRM_DEBUG_KMS("Set default to SSC at %d kHz\n", dev_priv->vbt.lvds_ssc_freq);
> -
> -	for_each_port(port) {
> -		struct ddi_vbt_port_info *info =
> -			&dev_priv->vbt.ddi_port_info[port];
> -
> -		info->hdmi_level_shift = HDMI_LEVEL_SHIFT_UNKNOWN;
> -	}
>  }
>  
>  /* Defaults to initialize only if there is no VBT. */
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
> index c91521bcf06a..ec51f6971b16 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -888,11 +888,10 @@ icl_get_combo_buf_trans(struct drm_i915_private *dev_priv, int type, int rate,
>  
>  static int intel_ddi_hdmi_level(struct drm_i915_private *dev_priv, enum port port)
>  {
> +	struct ddi_vbt_port_info *port_info = &dev_priv->vbt.ddi_port_info[port];
>  	int n_entries, level, default_entry;
>  	enum phy phy = intel_port_to_phy(dev_priv, port);
>  
> -	level = dev_priv->vbt.ddi_port_info[port].hdmi_level_shift;
> -
>  	if (INTEL_GEN(dev_priv) >= 12) {
>  		if (intel_phy_is_combo(dev_priv, phy))
>  			icl_get_combo_buf_trans(dev_priv, INTEL_OUTPUT_HDMI,
> @@ -927,14 +926,18 @@ static int intel_ddi_hdmi_level(struct drm_i915_private *dev_priv, enum port por
>  		return 0;
>  	}
>  
> -	/* Choose a good default if VBT is badly populated */
> -	if (level == HDMI_LEVEL_SHIFT_UNKNOWN || level >= n_entries)
> -		level = default_entry;
> -
>  	if (WARN_ON_ONCE(n_entries == 0))
>  		return 0;
> -	if (WARN_ON_ONCE(level >= n_entries))
> -		level = n_entries - 1;
> +
> +	if (WARN_ON_ONCE(default_entry >= n_entries))
> +		default_entry = n_entries - 1;
> +
> +	if (port_info->hdmi_level_shift_set &&
> +	    !WARN_ON_ONCE(port_info->hdmi_level_shift >= n_entries)) {
> +		level = port_info->hdmi_level_shift;
> +	} else {
> +		level = default_entry;
> +	}

I'd probably simplify that to something like:

if (level_shift_set)
	level = level_shift;
else
	level = default;
if (WARN_ON_ONCE(level >= n_entries))
	level = n_entries - 1;

Either way:
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

>  
>  	return level;
>  }
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 7e0f67babe20..67bdfe6de3fa 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -627,13 +627,9 @@ struct ddi_vbt_port_info {
>  
>  	int max_tmds_clock;
>  
> -	/*
> -	 * This is an index in the HDMI/DVI DDI buffer translation table.
> -	 * The special value HDMI_LEVEL_SHIFT_UNKNOWN means the VBT didn't
> -	 * populate this field.
> -	 */
> -#define HDMI_LEVEL_SHIFT_UNKNOWN	0xff
> +	/* This is an index in the HDMI/DVI DDI buffer translation table. */
>  	u8 hdmi_level_shift;
> +	u8 hdmi_level_shift_set:1;
>  
>  	u8 supports_dvi:1;
>  	u8 supports_hdmi:1;
> -- 
> 2.20.1

-- 
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] 16+ messages in thread

* Re: [PATCH] drm/i915/bios: use a flag for vbt hdmi level shift presence
@ 2019-11-05 13:59     ` Jani Nikula
  0 siblings, 0 replies; 16+ messages in thread
From: Jani Nikula @ 2019-11-05 13:59 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx

On Tue, 05 Nov 2019, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> On Tue, Nov 05, 2019 at 03:39:00PM +0200, Jani Nikula wrote:
>> The pre-initialized magic value is a bit silly, switch to a flag
>> instead. While at it, clean up the validity checks. No functional
>> changes apart from the added checks.
>> 
>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>> ---
>>  drivers/gpu/drm/i915/display/intel_bios.c | 10 +---------
>>  drivers/gpu/drm/i915/display/intel_ddi.c  | 19 +++++++++++--------
>>  drivers/gpu/drm/i915/i915_drv.h           |  8 ++------
>>  3 files changed, 14 insertions(+), 23 deletions(-)
>> 
>> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
>> index a03f56b7b4ef..c19b234bebe6 100644
>> --- a/drivers/gpu/drm/i915/display/intel_bios.c
>> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
>> @@ -1509,6 +1509,7 @@ static void parse_ddi_port(struct drm_i915_private *dev_priv,
>>  			      port_name(port),
>>  			      hdmi_level_shift);
>>  		info->hdmi_level_shift = hdmi_level_shift;
>> +		info->hdmi_level_shift_set = true;
>>  	}
>>  
>>  	if (bdb_version >= 204) {
>> @@ -1692,8 +1693,6 @@ parse_general_definitions(struct drm_i915_private *dev_priv,
>>  static void
>>  init_vbt_defaults(struct drm_i915_private *dev_priv)
>>  {
>> -	enum port port;
>> -
>>  	dev_priv->vbt.crt_ddc_pin = GMBUS_PIN_VGADDC;
>>  
>>  	/* Default to having backlight */
>> @@ -1721,13 +1720,6 @@ init_vbt_defaults(struct drm_i915_private *dev_priv)
>>  	dev_priv->vbt.lvds_ssc_freq = intel_bios_ssc_frequency(dev_priv,
>>  			!HAS_PCH_SPLIT(dev_priv));
>>  	DRM_DEBUG_KMS("Set default to SSC at %d kHz\n", dev_priv->vbt.lvds_ssc_freq);
>> -
>> -	for_each_port(port) {
>> -		struct ddi_vbt_port_info *info =
>> -			&dev_priv->vbt.ddi_port_info[port];
>> -
>> -		info->hdmi_level_shift = HDMI_LEVEL_SHIFT_UNKNOWN;
>> -	}
>>  }
>>  
>>  /* Defaults to initialize only if there is no VBT. */
>> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
>> index c91521bcf06a..ec51f6971b16 100644
>> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
>> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
>> @@ -888,11 +888,10 @@ icl_get_combo_buf_trans(struct drm_i915_private *dev_priv, int type, int rate,
>>  
>>  static int intel_ddi_hdmi_level(struct drm_i915_private *dev_priv, enum port port)
>>  {
>> +	struct ddi_vbt_port_info *port_info = &dev_priv->vbt.ddi_port_info[port];
>>  	int n_entries, level, default_entry;
>>  	enum phy phy = intel_port_to_phy(dev_priv, port);
>>  
>> -	level = dev_priv->vbt.ddi_port_info[port].hdmi_level_shift;
>> -
>>  	if (INTEL_GEN(dev_priv) >= 12) {
>>  		if (intel_phy_is_combo(dev_priv, phy))
>>  			icl_get_combo_buf_trans(dev_priv, INTEL_OUTPUT_HDMI,
>> @@ -927,14 +926,18 @@ static int intel_ddi_hdmi_level(struct drm_i915_private *dev_priv, enum port por
>>  		return 0;
>>  	}
>>  
>> -	/* Choose a good default if VBT is badly populated */
>> -	if (level == HDMI_LEVEL_SHIFT_UNKNOWN || level >= n_entries)
>> -		level = default_entry;
>> -
>>  	if (WARN_ON_ONCE(n_entries == 0))
>>  		return 0;
>> -	if (WARN_ON_ONCE(level >= n_entries))
>> -		level = n_entries - 1;
>> +
>> +	if (WARN_ON_ONCE(default_entry >= n_entries))
>> +		default_entry = n_entries - 1;
>> +
>> +	if (port_info->hdmi_level_shift_set &&
>> +	    !WARN_ON_ONCE(port_info->hdmi_level_shift >= n_entries)) {
>> +		level = port_info->hdmi_level_shift;
>> +	} else {
>> +		level = default_entry;
>> +	}
>
> I'd probably simplify that to something like:
>
> if (level_shift_set)
> 	level = level_shift;
> else
> 	level = default;
> if (WARN_ON_ONCE(level >= n_entries))
> 	level = n_entries - 1;

I wanted to add the distinction between the default_entry being bogus
and the VBT being bogus.

BR,
Jani.

>
> Either way:
> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
>>  
>>  	return level;
>>  }
>> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
>> index 7e0f67babe20..67bdfe6de3fa 100644
>> --- a/drivers/gpu/drm/i915/i915_drv.h
>> +++ b/drivers/gpu/drm/i915/i915_drv.h
>> @@ -627,13 +627,9 @@ struct ddi_vbt_port_info {
>>  
>>  	int max_tmds_clock;
>>  
>> -	/*
>> -	 * This is an index in the HDMI/DVI DDI buffer translation table.
>> -	 * The special value HDMI_LEVEL_SHIFT_UNKNOWN means the VBT didn't
>> -	 * populate this field.
>> -	 */
>> -#define HDMI_LEVEL_SHIFT_UNKNOWN	0xff
>> +	/* This is an index in the HDMI/DVI DDI buffer translation table. */
>>  	u8 hdmi_level_shift;
>> +	u8 hdmi_level_shift_set:1;
>>  
>>  	u8 supports_dvi:1;
>>  	u8 supports_hdmi:1;
>> -- 
>> 2.20.1

-- 
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [Intel-gfx] [PATCH] drm/i915/bios: use a flag for vbt hdmi level shift presence
@ 2019-11-05 13:59     ` Jani Nikula
  0 siblings, 0 replies; 16+ messages in thread
From: Jani Nikula @ 2019-11-05 13:59 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx

On Tue, 05 Nov 2019, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> On Tue, Nov 05, 2019 at 03:39:00PM +0200, Jani Nikula wrote:
>> The pre-initialized magic value is a bit silly, switch to a flag
>> instead. While at it, clean up the validity checks. No functional
>> changes apart from the added checks.
>> 
>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>> ---
>>  drivers/gpu/drm/i915/display/intel_bios.c | 10 +---------
>>  drivers/gpu/drm/i915/display/intel_ddi.c  | 19 +++++++++++--------
>>  drivers/gpu/drm/i915/i915_drv.h           |  8 ++------
>>  3 files changed, 14 insertions(+), 23 deletions(-)
>> 
>> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
>> index a03f56b7b4ef..c19b234bebe6 100644
>> --- a/drivers/gpu/drm/i915/display/intel_bios.c
>> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
>> @@ -1509,6 +1509,7 @@ static void parse_ddi_port(struct drm_i915_private *dev_priv,
>>  			      port_name(port),
>>  			      hdmi_level_shift);
>>  		info->hdmi_level_shift = hdmi_level_shift;
>> +		info->hdmi_level_shift_set = true;
>>  	}
>>  
>>  	if (bdb_version >= 204) {
>> @@ -1692,8 +1693,6 @@ parse_general_definitions(struct drm_i915_private *dev_priv,
>>  static void
>>  init_vbt_defaults(struct drm_i915_private *dev_priv)
>>  {
>> -	enum port port;
>> -
>>  	dev_priv->vbt.crt_ddc_pin = GMBUS_PIN_VGADDC;
>>  
>>  	/* Default to having backlight */
>> @@ -1721,13 +1720,6 @@ init_vbt_defaults(struct drm_i915_private *dev_priv)
>>  	dev_priv->vbt.lvds_ssc_freq = intel_bios_ssc_frequency(dev_priv,
>>  			!HAS_PCH_SPLIT(dev_priv));
>>  	DRM_DEBUG_KMS("Set default to SSC at %d kHz\n", dev_priv->vbt.lvds_ssc_freq);
>> -
>> -	for_each_port(port) {
>> -		struct ddi_vbt_port_info *info =
>> -			&dev_priv->vbt.ddi_port_info[port];
>> -
>> -		info->hdmi_level_shift = HDMI_LEVEL_SHIFT_UNKNOWN;
>> -	}
>>  }
>>  
>>  /* Defaults to initialize only if there is no VBT. */
>> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
>> index c91521bcf06a..ec51f6971b16 100644
>> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
>> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
>> @@ -888,11 +888,10 @@ icl_get_combo_buf_trans(struct drm_i915_private *dev_priv, int type, int rate,
>>  
>>  static int intel_ddi_hdmi_level(struct drm_i915_private *dev_priv, enum port port)
>>  {
>> +	struct ddi_vbt_port_info *port_info = &dev_priv->vbt.ddi_port_info[port];
>>  	int n_entries, level, default_entry;
>>  	enum phy phy = intel_port_to_phy(dev_priv, port);
>>  
>> -	level = dev_priv->vbt.ddi_port_info[port].hdmi_level_shift;
>> -
>>  	if (INTEL_GEN(dev_priv) >= 12) {
>>  		if (intel_phy_is_combo(dev_priv, phy))
>>  			icl_get_combo_buf_trans(dev_priv, INTEL_OUTPUT_HDMI,
>> @@ -927,14 +926,18 @@ static int intel_ddi_hdmi_level(struct drm_i915_private *dev_priv, enum port por
>>  		return 0;
>>  	}
>>  
>> -	/* Choose a good default if VBT is badly populated */
>> -	if (level == HDMI_LEVEL_SHIFT_UNKNOWN || level >= n_entries)
>> -		level = default_entry;
>> -
>>  	if (WARN_ON_ONCE(n_entries == 0))
>>  		return 0;
>> -	if (WARN_ON_ONCE(level >= n_entries))
>> -		level = n_entries - 1;
>> +
>> +	if (WARN_ON_ONCE(default_entry >= n_entries))
>> +		default_entry = n_entries - 1;
>> +
>> +	if (port_info->hdmi_level_shift_set &&
>> +	    !WARN_ON_ONCE(port_info->hdmi_level_shift >= n_entries)) {
>> +		level = port_info->hdmi_level_shift;
>> +	} else {
>> +		level = default_entry;
>> +	}
>
> I'd probably simplify that to something like:
>
> if (level_shift_set)
> 	level = level_shift;
> else
> 	level = default;
> if (WARN_ON_ONCE(level >= n_entries))
> 	level = n_entries - 1;

I wanted to add the distinction between the default_entry being bogus
and the VBT being bogus.

BR,
Jani.

>
> Either way:
> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
>>  
>>  	return level;
>>  }
>> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
>> index 7e0f67babe20..67bdfe6de3fa 100644
>> --- a/drivers/gpu/drm/i915/i915_drv.h
>> +++ b/drivers/gpu/drm/i915/i915_drv.h
>> @@ -627,13 +627,9 @@ struct ddi_vbt_port_info {
>>  
>>  	int max_tmds_clock;
>>  
>> -	/*
>> -	 * This is an index in the HDMI/DVI DDI buffer translation table.
>> -	 * The special value HDMI_LEVEL_SHIFT_UNKNOWN means the VBT didn't
>> -	 * populate this field.
>> -	 */
>> -#define HDMI_LEVEL_SHIFT_UNKNOWN	0xff
>> +	/* This is an index in the HDMI/DVI DDI buffer translation table. */
>>  	u8 hdmi_level_shift;
>> +	u8 hdmi_level_shift_set:1;
>>  
>>  	u8 supports_dvi:1;
>>  	u8 supports_hdmi:1;
>> -- 
>> 2.20.1

-- 
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH] drm/i915/bios: use a flag for vbt hdmi level shift presence
@ 2019-11-05 15:21       ` Ville Syrjälä
  0 siblings, 0 replies; 16+ messages in thread
From: Ville Syrjälä @ 2019-11-05 15:21 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

On Tue, Nov 05, 2019 at 03:59:57PM +0200, Jani Nikula wrote:
> On Tue, 05 Nov 2019, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> > On Tue, Nov 05, 2019 at 03:39:00PM +0200, Jani Nikula wrote:
> >> The pre-initialized magic value is a bit silly, switch to a flag
> >> instead. While at it, clean up the validity checks. No functional
> >> changes apart from the added checks.
> >> 
> >> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> >> ---
> >>  drivers/gpu/drm/i915/display/intel_bios.c | 10 +---------
> >>  drivers/gpu/drm/i915/display/intel_ddi.c  | 19 +++++++++++--------
> >>  drivers/gpu/drm/i915/i915_drv.h           |  8 ++------
> >>  3 files changed, 14 insertions(+), 23 deletions(-)
> >> 
> >> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
> >> index a03f56b7b4ef..c19b234bebe6 100644
> >> --- a/drivers/gpu/drm/i915/display/intel_bios.c
> >> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
> >> @@ -1509,6 +1509,7 @@ static void parse_ddi_port(struct drm_i915_private *dev_priv,
> >>  			      port_name(port),
> >>  			      hdmi_level_shift);
> >>  		info->hdmi_level_shift = hdmi_level_shift;
> >> +		info->hdmi_level_shift_set = true;
> >>  	}
> >>  
> >>  	if (bdb_version >= 204) {
> >> @@ -1692,8 +1693,6 @@ parse_general_definitions(struct drm_i915_private *dev_priv,
> >>  static void
> >>  init_vbt_defaults(struct drm_i915_private *dev_priv)
> >>  {
> >> -	enum port port;
> >> -
> >>  	dev_priv->vbt.crt_ddc_pin = GMBUS_PIN_VGADDC;
> >>  
> >>  	/* Default to having backlight */
> >> @@ -1721,13 +1720,6 @@ init_vbt_defaults(struct drm_i915_private *dev_priv)
> >>  	dev_priv->vbt.lvds_ssc_freq = intel_bios_ssc_frequency(dev_priv,
> >>  			!HAS_PCH_SPLIT(dev_priv));
> >>  	DRM_DEBUG_KMS("Set default to SSC at %d kHz\n", dev_priv->vbt.lvds_ssc_freq);
> >> -
> >> -	for_each_port(port) {
> >> -		struct ddi_vbt_port_info *info =
> >> -			&dev_priv->vbt.ddi_port_info[port];
> >> -
> >> -		info->hdmi_level_shift = HDMI_LEVEL_SHIFT_UNKNOWN;
> >> -	}
> >>  }
> >>  
> >>  /* Defaults to initialize only if there is no VBT. */
> >> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
> >> index c91521bcf06a..ec51f6971b16 100644
> >> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> >> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> >> @@ -888,11 +888,10 @@ icl_get_combo_buf_trans(struct drm_i915_private *dev_priv, int type, int rate,
> >>  
> >>  static int intel_ddi_hdmi_level(struct drm_i915_private *dev_priv, enum port port)
> >>  {
> >> +	struct ddi_vbt_port_info *port_info = &dev_priv->vbt.ddi_port_info[port];
> >>  	int n_entries, level, default_entry;
> >>  	enum phy phy = intel_port_to_phy(dev_priv, port);
> >>  
> >> -	level = dev_priv->vbt.ddi_port_info[port].hdmi_level_shift;
> >> -
> >>  	if (INTEL_GEN(dev_priv) >= 12) {
> >>  		if (intel_phy_is_combo(dev_priv, phy))
> >>  			icl_get_combo_buf_trans(dev_priv, INTEL_OUTPUT_HDMI,
> >> @@ -927,14 +926,18 @@ static int intel_ddi_hdmi_level(struct drm_i915_private *dev_priv, enum port por
> >>  		return 0;
> >>  	}
> >>  
> >> -	/* Choose a good default if VBT is badly populated */
> >> -	if (level == HDMI_LEVEL_SHIFT_UNKNOWN || level >= n_entries)
> >> -		level = default_entry;
> >> -
> >>  	if (WARN_ON_ONCE(n_entries == 0))
> >>  		return 0;
> >> -	if (WARN_ON_ONCE(level >= n_entries))
> >> -		level = n_entries - 1;
> >> +
> >> +	if (WARN_ON_ONCE(default_entry >= n_entries))
> >> +		default_entry = n_entries - 1;
> >> +
> >> +	if (port_info->hdmi_level_shift_set &&
> >> +	    !WARN_ON_ONCE(port_info->hdmi_level_shift >= n_entries)) {
> >> +		level = port_info->hdmi_level_shift;
> >> +	} else {
> >> +		level = default_entry;
> >> +	}
> >
> > I'd probably simplify that to something like:
> >
> > if (level_shift_set)
> > 	level = level_shift;
> > else
> > 	level = default;
> > if (WARN_ON_ONCE(level >= n_entries))
> > 	level = n_entries - 1;
> 
> I wanted to add the distinction between the default_entry being bogus
> and the VBT being bogus.

Any 'default>=n_entries' check is dead code anyway so we'd not
lose anything with the simpler code.

-- 
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] 16+ messages in thread

* Re: [Intel-gfx] [PATCH] drm/i915/bios: use a flag for vbt hdmi level shift presence
@ 2019-11-05 15:21       ` Ville Syrjälä
  0 siblings, 0 replies; 16+ messages in thread
From: Ville Syrjälä @ 2019-11-05 15:21 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

On Tue, Nov 05, 2019 at 03:59:57PM +0200, Jani Nikula wrote:
> On Tue, 05 Nov 2019, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> > On Tue, Nov 05, 2019 at 03:39:00PM +0200, Jani Nikula wrote:
> >> The pre-initialized magic value is a bit silly, switch to a flag
> >> instead. While at it, clean up the validity checks. No functional
> >> changes apart from the added checks.
> >> 
> >> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> >> ---
> >>  drivers/gpu/drm/i915/display/intel_bios.c | 10 +---------
> >>  drivers/gpu/drm/i915/display/intel_ddi.c  | 19 +++++++++++--------
> >>  drivers/gpu/drm/i915/i915_drv.h           |  8 ++------
> >>  3 files changed, 14 insertions(+), 23 deletions(-)
> >> 
> >> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
> >> index a03f56b7b4ef..c19b234bebe6 100644
> >> --- a/drivers/gpu/drm/i915/display/intel_bios.c
> >> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
> >> @@ -1509,6 +1509,7 @@ static void parse_ddi_port(struct drm_i915_private *dev_priv,
> >>  			      port_name(port),
> >>  			      hdmi_level_shift);
> >>  		info->hdmi_level_shift = hdmi_level_shift;
> >> +		info->hdmi_level_shift_set = true;
> >>  	}
> >>  
> >>  	if (bdb_version >= 204) {
> >> @@ -1692,8 +1693,6 @@ parse_general_definitions(struct drm_i915_private *dev_priv,
> >>  static void
> >>  init_vbt_defaults(struct drm_i915_private *dev_priv)
> >>  {
> >> -	enum port port;
> >> -
> >>  	dev_priv->vbt.crt_ddc_pin = GMBUS_PIN_VGADDC;
> >>  
> >>  	/* Default to having backlight */
> >> @@ -1721,13 +1720,6 @@ init_vbt_defaults(struct drm_i915_private *dev_priv)
> >>  	dev_priv->vbt.lvds_ssc_freq = intel_bios_ssc_frequency(dev_priv,
> >>  			!HAS_PCH_SPLIT(dev_priv));
> >>  	DRM_DEBUG_KMS("Set default to SSC at %d kHz\n", dev_priv->vbt.lvds_ssc_freq);
> >> -
> >> -	for_each_port(port) {
> >> -		struct ddi_vbt_port_info *info =
> >> -			&dev_priv->vbt.ddi_port_info[port];
> >> -
> >> -		info->hdmi_level_shift = HDMI_LEVEL_SHIFT_UNKNOWN;
> >> -	}
> >>  }
> >>  
> >>  /* Defaults to initialize only if there is no VBT. */
> >> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
> >> index c91521bcf06a..ec51f6971b16 100644
> >> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> >> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> >> @@ -888,11 +888,10 @@ icl_get_combo_buf_trans(struct drm_i915_private *dev_priv, int type, int rate,
> >>  
> >>  static int intel_ddi_hdmi_level(struct drm_i915_private *dev_priv, enum port port)
> >>  {
> >> +	struct ddi_vbt_port_info *port_info = &dev_priv->vbt.ddi_port_info[port];
> >>  	int n_entries, level, default_entry;
> >>  	enum phy phy = intel_port_to_phy(dev_priv, port);
> >>  
> >> -	level = dev_priv->vbt.ddi_port_info[port].hdmi_level_shift;
> >> -
> >>  	if (INTEL_GEN(dev_priv) >= 12) {
> >>  		if (intel_phy_is_combo(dev_priv, phy))
> >>  			icl_get_combo_buf_trans(dev_priv, INTEL_OUTPUT_HDMI,
> >> @@ -927,14 +926,18 @@ static int intel_ddi_hdmi_level(struct drm_i915_private *dev_priv, enum port por
> >>  		return 0;
> >>  	}
> >>  
> >> -	/* Choose a good default if VBT is badly populated */
> >> -	if (level == HDMI_LEVEL_SHIFT_UNKNOWN || level >= n_entries)
> >> -		level = default_entry;
> >> -
> >>  	if (WARN_ON_ONCE(n_entries == 0))
> >>  		return 0;
> >> -	if (WARN_ON_ONCE(level >= n_entries))
> >> -		level = n_entries - 1;
> >> +
> >> +	if (WARN_ON_ONCE(default_entry >= n_entries))
> >> +		default_entry = n_entries - 1;
> >> +
> >> +	if (port_info->hdmi_level_shift_set &&
> >> +	    !WARN_ON_ONCE(port_info->hdmi_level_shift >= n_entries)) {
> >> +		level = port_info->hdmi_level_shift;
> >> +	} else {
> >> +		level = default_entry;
> >> +	}
> >
> > I'd probably simplify that to something like:
> >
> > if (level_shift_set)
> > 	level = level_shift;
> > else
> > 	level = default;
> > if (WARN_ON_ONCE(level >= n_entries))
> > 	level = n_entries - 1;
> 
> I wanted to add the distinction between the default_entry being bogus
> and the VBT being bogus.

Any 'default>=n_entries' check is dead code anyway so we'd not
lose anything with the simpler code.

-- 
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] 16+ messages in thread

* Re: [PATCH] drm/i915/bios: use a flag for vbt hdmi level shift presence
@ 2019-11-05 15:37         ` Ville Syrjälä
  0 siblings, 0 replies; 16+ messages in thread
From: Ville Syrjälä @ 2019-11-05 15:37 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

On Tue, Nov 05, 2019 at 05:21:06PM +0200, Ville Syrjälä wrote:
> On Tue, Nov 05, 2019 at 03:59:57PM +0200, Jani Nikula wrote:
> > On Tue, 05 Nov 2019, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> > > On Tue, Nov 05, 2019 at 03:39:00PM +0200, Jani Nikula wrote:
> > >> The pre-initialized magic value is a bit silly, switch to a flag
> > >> instead. While at it, clean up the validity checks. No functional
> > >> changes apart from the added checks.
> > >> 
> > >> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > >> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> > >> ---
> > >>  drivers/gpu/drm/i915/display/intel_bios.c | 10 +---------
> > >>  drivers/gpu/drm/i915/display/intel_ddi.c  | 19 +++++++++++--------
> > >>  drivers/gpu/drm/i915/i915_drv.h           |  8 ++------
> > >>  3 files changed, 14 insertions(+), 23 deletions(-)
> > >> 
> > >> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
> > >> index a03f56b7b4ef..c19b234bebe6 100644
> > >> --- a/drivers/gpu/drm/i915/display/intel_bios.c
> > >> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
> > >> @@ -1509,6 +1509,7 @@ static void parse_ddi_port(struct drm_i915_private *dev_priv,
> > >>  			      port_name(port),
> > >>  			      hdmi_level_shift);
> > >>  		info->hdmi_level_shift = hdmi_level_shift;
> > >> +		info->hdmi_level_shift_set = true;
> > >>  	}
> > >>  
> > >>  	if (bdb_version >= 204) {
> > >> @@ -1692,8 +1693,6 @@ parse_general_definitions(struct drm_i915_private *dev_priv,
> > >>  static void
> > >>  init_vbt_defaults(struct drm_i915_private *dev_priv)
> > >>  {
> > >> -	enum port port;
> > >> -
> > >>  	dev_priv->vbt.crt_ddc_pin = GMBUS_PIN_VGADDC;
> > >>  
> > >>  	/* Default to having backlight */
> > >> @@ -1721,13 +1720,6 @@ init_vbt_defaults(struct drm_i915_private *dev_priv)
> > >>  	dev_priv->vbt.lvds_ssc_freq = intel_bios_ssc_frequency(dev_priv,
> > >>  			!HAS_PCH_SPLIT(dev_priv));
> > >>  	DRM_DEBUG_KMS("Set default to SSC at %d kHz\n", dev_priv->vbt.lvds_ssc_freq);
> > >> -
> > >> -	for_each_port(port) {
> > >> -		struct ddi_vbt_port_info *info =
> > >> -			&dev_priv->vbt.ddi_port_info[port];
> > >> -
> > >> -		info->hdmi_level_shift = HDMI_LEVEL_SHIFT_UNKNOWN;
> > >> -	}
> > >>  }
> > >>  
> > >>  /* Defaults to initialize only if there is no VBT. */
> > >> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
> > >> index c91521bcf06a..ec51f6971b16 100644
> > >> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> > >> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> > >> @@ -888,11 +888,10 @@ icl_get_combo_buf_trans(struct drm_i915_private *dev_priv, int type, int rate,
> > >>  
> > >>  static int intel_ddi_hdmi_level(struct drm_i915_private *dev_priv, enum port port)
> > >>  {
> > >> +	struct ddi_vbt_port_info *port_info = &dev_priv->vbt.ddi_port_info[port];
> > >>  	int n_entries, level, default_entry;
> > >>  	enum phy phy = intel_port_to_phy(dev_priv, port);
> > >>  
> > >> -	level = dev_priv->vbt.ddi_port_info[port].hdmi_level_shift;
> > >> -
> > >>  	if (INTEL_GEN(dev_priv) >= 12) {
> > >>  		if (intel_phy_is_combo(dev_priv, phy))
> > >>  			icl_get_combo_buf_trans(dev_priv, INTEL_OUTPUT_HDMI,
> > >> @@ -927,14 +926,18 @@ static int intel_ddi_hdmi_level(struct drm_i915_private *dev_priv, enum port por
> > >>  		return 0;
> > >>  	}
> > >>  
> > >> -	/* Choose a good default if VBT is badly populated */
> > >> -	if (level == HDMI_LEVEL_SHIFT_UNKNOWN || level >= n_entries)
> > >> -		level = default_entry;
> > >> -
> > >>  	if (WARN_ON_ONCE(n_entries == 0))
> > >>  		return 0;
> > >> -	if (WARN_ON_ONCE(level >= n_entries))
> > >> -		level = n_entries - 1;
> > >> +
> > >> +	if (WARN_ON_ONCE(default_entry >= n_entries))
> > >> +		default_entry = n_entries - 1;
> > >> +
> > >> +	if (port_info->hdmi_level_shift_set &&
> > >> +	    !WARN_ON_ONCE(port_info->hdmi_level_shift >= n_entries)) {
> > >> +		level = port_info->hdmi_level_shift;
> > >> +	} else {
> > >> +		level = default_entry;
> > >> +	}
> > >
> > > I'd probably simplify that to something like:
> > >
> > > if (level_shift_set)
> > > 	level = level_shift;
> > > else
> > > 	level = default;
> > > if (WARN_ON_ONCE(level >= n_entries))
> > > 	level = n_entries - 1;
> > 
> > I wanted to add the distinction between the default_entry being bogus
> > and the VBT being bogus.
> 
> Any 'default>=n_entries' check is dead code anyway so we'd not
> lose anything with the simpler code.

Hmm. I guess we would lose the bad_vbt->default fallback.
But that really should be dead code as well, so not entirely
convinced such a belt+suspenders approach is warranted.

-- 
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] 16+ messages in thread

* Re: [Intel-gfx] [PATCH] drm/i915/bios: use a flag for vbt hdmi level shift presence
@ 2019-11-05 15:37         ` Ville Syrjälä
  0 siblings, 0 replies; 16+ messages in thread
From: Ville Syrjälä @ 2019-11-05 15:37 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

On Tue, Nov 05, 2019 at 05:21:06PM +0200, Ville Syrjälä wrote:
> On Tue, Nov 05, 2019 at 03:59:57PM +0200, Jani Nikula wrote:
> > On Tue, 05 Nov 2019, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> > > On Tue, Nov 05, 2019 at 03:39:00PM +0200, Jani Nikula wrote:
> > >> The pre-initialized magic value is a bit silly, switch to a flag
> > >> instead. While at it, clean up the validity checks. No functional
> > >> changes apart from the added checks.
> > >> 
> > >> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > >> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> > >> ---
> > >>  drivers/gpu/drm/i915/display/intel_bios.c | 10 +---------
> > >>  drivers/gpu/drm/i915/display/intel_ddi.c  | 19 +++++++++++--------
> > >>  drivers/gpu/drm/i915/i915_drv.h           |  8 ++------
> > >>  3 files changed, 14 insertions(+), 23 deletions(-)
> > >> 
> > >> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
> > >> index a03f56b7b4ef..c19b234bebe6 100644
> > >> --- a/drivers/gpu/drm/i915/display/intel_bios.c
> > >> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
> > >> @@ -1509,6 +1509,7 @@ static void parse_ddi_port(struct drm_i915_private *dev_priv,
> > >>  			      port_name(port),
> > >>  			      hdmi_level_shift);
> > >>  		info->hdmi_level_shift = hdmi_level_shift;
> > >> +		info->hdmi_level_shift_set = true;
> > >>  	}
> > >>  
> > >>  	if (bdb_version >= 204) {
> > >> @@ -1692,8 +1693,6 @@ parse_general_definitions(struct drm_i915_private *dev_priv,
> > >>  static void
> > >>  init_vbt_defaults(struct drm_i915_private *dev_priv)
> > >>  {
> > >> -	enum port port;
> > >> -
> > >>  	dev_priv->vbt.crt_ddc_pin = GMBUS_PIN_VGADDC;
> > >>  
> > >>  	/* Default to having backlight */
> > >> @@ -1721,13 +1720,6 @@ init_vbt_defaults(struct drm_i915_private *dev_priv)
> > >>  	dev_priv->vbt.lvds_ssc_freq = intel_bios_ssc_frequency(dev_priv,
> > >>  			!HAS_PCH_SPLIT(dev_priv));
> > >>  	DRM_DEBUG_KMS("Set default to SSC at %d kHz\n", dev_priv->vbt.lvds_ssc_freq);
> > >> -
> > >> -	for_each_port(port) {
> > >> -		struct ddi_vbt_port_info *info =
> > >> -			&dev_priv->vbt.ddi_port_info[port];
> > >> -
> > >> -		info->hdmi_level_shift = HDMI_LEVEL_SHIFT_UNKNOWN;
> > >> -	}
> > >>  }
> > >>  
> > >>  /* Defaults to initialize only if there is no VBT. */
> > >> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
> > >> index c91521bcf06a..ec51f6971b16 100644
> > >> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> > >> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> > >> @@ -888,11 +888,10 @@ icl_get_combo_buf_trans(struct drm_i915_private *dev_priv, int type, int rate,
> > >>  
> > >>  static int intel_ddi_hdmi_level(struct drm_i915_private *dev_priv, enum port port)
> > >>  {
> > >> +	struct ddi_vbt_port_info *port_info = &dev_priv->vbt.ddi_port_info[port];
> > >>  	int n_entries, level, default_entry;
> > >>  	enum phy phy = intel_port_to_phy(dev_priv, port);
> > >>  
> > >> -	level = dev_priv->vbt.ddi_port_info[port].hdmi_level_shift;
> > >> -
> > >>  	if (INTEL_GEN(dev_priv) >= 12) {
> > >>  		if (intel_phy_is_combo(dev_priv, phy))
> > >>  			icl_get_combo_buf_trans(dev_priv, INTEL_OUTPUT_HDMI,
> > >> @@ -927,14 +926,18 @@ static int intel_ddi_hdmi_level(struct drm_i915_private *dev_priv, enum port por
> > >>  		return 0;
> > >>  	}
> > >>  
> > >> -	/* Choose a good default if VBT is badly populated */
> > >> -	if (level == HDMI_LEVEL_SHIFT_UNKNOWN || level >= n_entries)
> > >> -		level = default_entry;
> > >> -
> > >>  	if (WARN_ON_ONCE(n_entries == 0))
> > >>  		return 0;
> > >> -	if (WARN_ON_ONCE(level >= n_entries))
> > >> -		level = n_entries - 1;
> > >> +
> > >> +	if (WARN_ON_ONCE(default_entry >= n_entries))
> > >> +		default_entry = n_entries - 1;
> > >> +
> > >> +	if (port_info->hdmi_level_shift_set &&
> > >> +	    !WARN_ON_ONCE(port_info->hdmi_level_shift >= n_entries)) {
> > >> +		level = port_info->hdmi_level_shift;
> > >> +	} else {
> > >> +		level = default_entry;
> > >> +	}
> > >
> > > I'd probably simplify that to something like:
> > >
> > > if (level_shift_set)
> > > 	level = level_shift;
> > > else
> > > 	level = default;
> > > if (WARN_ON_ONCE(level >= n_entries))
> > > 	level = n_entries - 1;
> > 
> > I wanted to add the distinction between the default_entry being bogus
> > and the VBT being bogus.
> 
> Any 'default>=n_entries' check is dead code anyway so we'd not
> lose anything with the simpler code.

Hmm. I guess we would lose the bad_vbt->default fallback.
But that really should be dead code as well, so not entirely
convinced such a belt+suspenders approach is warranted.

-- 
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] 16+ messages in thread

* ✓ Fi.CI.BAT: success for drm/i915/bios: use a flag for vbt hdmi level shift presence
@ 2019-11-05 15:54   ` Patchwork
  0 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2019-11-05 15:54 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/bios: use a flag for vbt hdmi level shift presence
URL   : https://patchwork.freedesktop.org/series/68998/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_7262 -> Patchwork_15132
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@i915_getparams_basic@basic-eu-total:
    - fi-icl-u3:          [PASS][1] -> [DMESG-WARN][2] ([fdo#107724])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/fi-icl-u3/igt@i915_getparams_basic@basic-eu-total.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/fi-icl-u3/igt@i915_getparams_basic@basic-eu-total.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-icl-u2:          [PASS][3] -> [FAIL][4] ([fdo#109483])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/fi-icl-u2/igt@kms_chamelium@hdmi-hpd-fast.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/fi-icl-u2/igt@kms_chamelium@hdmi-hpd-fast.html

  
#### Possible fixes ####

  * igt@gem_exec_parallel@basic:
    - {fi-tgl-u}:         [INCOMPLETE][5] ([fdo#111887]) -> [PASS][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/fi-tgl-u/igt@gem_exec_parallel@basic.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/fi-tgl-u/igt@gem_exec_parallel@basic.html

  * igt@gem_flink_basic@double-flink:
    - fi-icl-u3:          [DMESG-WARN][7] ([fdo#107724]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/fi-icl-u3/igt@gem_flink_basic@double-flink.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/fi-icl-u3/igt@gem_flink_basic@double-flink.html

  * igt@i915_pm_rpm@module-reload:
    - fi-icl-u3:          [DMESG-WARN][9] ([fdo#106107]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/fi-icl-u3/igt@i915_pm_rpm@module-reload.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/fi-icl-u3/igt@i915_pm_rpm@module-reload.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [FAIL][11] ([fdo#111045] / [fdo#111096]) -> [PASS][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/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#106107]: https://bugs.freedesktop.org/show_bug.cgi?id=106107
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#109483]: https://bugs.freedesktop.org/show_bug.cgi?id=109483
  [fdo#111045]: https://bugs.freedesktop.org/show_bug.cgi?id=111045
  [fdo#111096]: https://bugs.freedesktop.org/show_bug.cgi?id=111096
  [fdo#111887]: https://bugs.freedesktop.org/show_bug.cgi?id=111887


Participating hosts (51 -> 43)
------------------------------

  Additional (1): fi-cml-u2 
  Missing    (9): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-bwr-2160 fi-ctg-p8600 fi-gdg-551 fi-byt-clapper fi-bdw-samus 


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

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_7262 -> Patchwork_15132

  CI-20190529: 20190529
  CI_DRM_7262: 6d9033858175fc0e1ef5f77d6bd60356e6b70ee4 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5263: 8a5d44dc5e51622cd43f23c2cf24d44c24a0564d @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_15132: c42553d3cfecd339a32da82dd9a4924c704bb5ab @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

c42553d3cfec drm/i915/bios: use a flag for vbt hdmi level shift presence

== Logs ==

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

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

* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/bios: use a flag for vbt hdmi level shift presence
@ 2019-11-05 15:54   ` Patchwork
  0 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2019-11-05 15:54 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/bios: use a flag for vbt hdmi level shift presence
URL   : https://patchwork.freedesktop.org/series/68998/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_7262 -> Patchwork_15132
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@i915_getparams_basic@basic-eu-total:
    - fi-icl-u3:          [PASS][1] -> [DMESG-WARN][2] ([fdo#107724])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/fi-icl-u3/igt@i915_getparams_basic@basic-eu-total.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/fi-icl-u3/igt@i915_getparams_basic@basic-eu-total.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-icl-u2:          [PASS][3] -> [FAIL][4] ([fdo#109483])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/fi-icl-u2/igt@kms_chamelium@hdmi-hpd-fast.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/fi-icl-u2/igt@kms_chamelium@hdmi-hpd-fast.html

  
#### Possible fixes ####

  * igt@gem_exec_parallel@basic:
    - {fi-tgl-u}:         [INCOMPLETE][5] ([fdo#111887]) -> [PASS][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/fi-tgl-u/igt@gem_exec_parallel@basic.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/fi-tgl-u/igt@gem_exec_parallel@basic.html

  * igt@gem_flink_basic@double-flink:
    - fi-icl-u3:          [DMESG-WARN][7] ([fdo#107724]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/fi-icl-u3/igt@gem_flink_basic@double-flink.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/fi-icl-u3/igt@gem_flink_basic@double-flink.html

  * igt@i915_pm_rpm@module-reload:
    - fi-icl-u3:          [DMESG-WARN][9] ([fdo#106107]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/fi-icl-u3/igt@i915_pm_rpm@module-reload.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/fi-icl-u3/igt@i915_pm_rpm@module-reload.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [FAIL][11] ([fdo#111045] / [fdo#111096]) -> [PASS][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/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#106107]: https://bugs.freedesktop.org/show_bug.cgi?id=106107
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#109483]: https://bugs.freedesktop.org/show_bug.cgi?id=109483
  [fdo#111045]: https://bugs.freedesktop.org/show_bug.cgi?id=111045
  [fdo#111096]: https://bugs.freedesktop.org/show_bug.cgi?id=111096
  [fdo#111887]: https://bugs.freedesktop.org/show_bug.cgi?id=111887


Participating hosts (51 -> 43)
------------------------------

  Additional (1): fi-cml-u2 
  Missing    (9): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-bwr-2160 fi-ctg-p8600 fi-gdg-551 fi-byt-clapper fi-bdw-samus 


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

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_7262 -> Patchwork_15132

  CI-20190529: 20190529
  CI_DRM_7262: 6d9033858175fc0e1ef5f77d6bd60356e6b70ee4 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5263: 8a5d44dc5e51622cd43f23c2cf24d44c24a0564d @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_15132: c42553d3cfecd339a32da82dd9a4924c704bb5ab @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

c42553d3cfec drm/i915/bios: use a flag for vbt hdmi level shift presence

== Logs ==

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

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

* ✗ Fi.CI.IGT: failure for drm/i915/bios: use a flag for vbt hdmi level shift presence
@ 2019-11-06  7:34   ` Patchwork
  0 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2019-11-06  7:34 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/bios: use a flag for vbt hdmi level shift presence
URL   : https://patchwork.freedesktop.org/series/68998/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_7262_full -> Patchwork_15132_full
====================================================

Summary
-------

  **FAILURE**

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

  

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@i915_selftest@mock_requests:
    - shard-glk:          [PASS][1] -> [DMESG-WARN][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-glk9/igt@i915_selftest@mock_requests.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-glk8/igt@i915_selftest@mock_requests.html

  * igt@prime_mmap_kms@buffer-sharing:
    - shard-skl:          [PASS][3] -> [INCOMPLETE][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-skl3/igt@prime_mmap_kms@buffer-sharing.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-skl9/igt@prime_mmap_kms@buffer-sharing.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * {igt@i915_pm_dc@dc3co-vpb-simulation}:
    - shard-iclb:         [FAIL][5] -> [SKIP][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb2/igt@i915_pm_dc@dc3co-vpb-simulation.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb5/igt@i915_pm_dc@dc3co-vpb-simulation.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_isolation@vcs1-reset:
    - shard-iclb:         [PASS][7] -> [SKIP][8] ([fdo#109276] / [fdo#112080])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb4/igt@gem_ctx_isolation@vcs1-reset.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb8/igt@gem_ctx_isolation@vcs1-reset.html

  * igt@gem_ctx_switch@vcs1-heavy:
    - shard-iclb:         [PASS][9] -> [SKIP][10] ([fdo#112080]) +17 similar issues
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb4/igt@gem_ctx_switch@vcs1-heavy.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb8/igt@gem_ctx_switch@vcs1-heavy.html

  * igt@gem_eio@unwedge-stress:
    - shard-snb:          [PASS][11] -> [FAIL][12] ([fdo#109661])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-snb6/igt@gem_eio@unwedge-stress.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-snb1/igt@gem_eio@unwedge-stress.html

  * igt@gem_exec_balancer@smoke:
    - shard-iclb:         [PASS][13] -> [SKIP][14] ([fdo#110854])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb4/igt@gem_exec_balancer@smoke.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb8/igt@gem_exec_balancer@smoke.html

  * igt@gem_exec_schedule@out-order-bsd2:
    - shard-iclb:         [PASS][15] -> [SKIP][16] ([fdo#109276]) +19 similar issues
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb2/igt@gem_exec_schedule@out-order-bsd2.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb5/igt@gem_exec_schedule@out-order-bsd2.html

  * igt@gem_exec_schedule@preemptive-hang-bsd:
    - shard-iclb:         [PASS][17] -> [SKIP][18] ([fdo#112146]) +6 similar issues
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb8/igt@gem_exec_schedule@preemptive-hang-bsd.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb4/igt@gem_exec_schedule@preemptive-hang-bsd.html

  * igt@gem_persistent_relocs@forked-interruptible-thrashing:
    - shard-snb:          [PASS][19] -> [FAIL][20] ([fdo#112037])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-snb4/igt@gem_persistent_relocs@forked-interruptible-thrashing.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-snb7/igt@gem_persistent_relocs@forked-interruptible-thrashing.html

  * igt@i915_selftest@live_hangcheck:
    - shard-hsw:          [PASS][21] -> [DMESG-FAIL][22] ([fdo#111991])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-hsw8/igt@i915_selftest@live_hangcheck.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-hsw6/igt@i915_selftest@live_hangcheck.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
    - shard-skl:          [PASS][23] -> [FAIL][24] ([fdo#102670])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-skl2/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-skl7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html

  * igt@kms_flip@2x-blocking-wf_vblank:
    - shard-hsw:          [PASS][25] -> [INCOMPLETE][26] ([fdo#103540])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-hsw4/igt@kms_flip@2x-blocking-wf_vblank.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-hsw4/igt@kms_flip@2x-blocking-wf_vblank.html

  * igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite:
    - shard-iclb:         [PASS][27] -> [FAIL][28] ([fdo#103167]) +7 similar issues
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb8/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html

  * igt@kms_psr2_su@page_flip:
    - shard-iclb:         [PASS][29] -> [SKIP][30] ([fdo#109642] / [fdo#111068])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb2/igt@kms_psr2_su@page_flip.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb5/igt@kms_psr2_su@page_flip.html

  * igt@kms_psr@psr2_cursor_render:
    - shard-iclb:         [PASS][31] -> [SKIP][32] ([fdo#109441]) +1 similar issue
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb2/igt@kms_psr@psr2_cursor_render.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb5/igt@kms_psr@psr2_cursor_render.html

  * igt@kms_vblank@pipe-a-ts-continuation-suspend:
    - shard-kbl:          [PASS][33] -> [DMESG-WARN][34] ([fdo#108566]) +3 similar issues
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-kbl7/igt@kms_vblank@pipe-a-ts-continuation-suspend.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-kbl7/igt@kms_vblank@pipe-a-ts-continuation-suspend.html

  
#### Possible fixes ####

  * igt@gem_ctx_isolation@vcs1-none:
    - shard-iclb:         [SKIP][35] ([fdo#109276] / [fdo#112080]) -> [PASS][36] +7 similar issues
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb8/igt@gem_ctx_isolation@vcs1-none.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb2/igt@gem_ctx_isolation@vcs1-none.html

  * igt@gem_ctx_isolation@vcs1-s3:
    - {shard-tglb}:       [INCOMPLETE][37] ([fdo#111832]) -> [PASS][38]
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-tglb5/igt@gem_ctx_isolation@vcs1-s3.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-tglb1/igt@gem_ctx_isolation@vcs1-s3.html

  * igt@gem_ctx_shared@exec-single-timeline-bsd:
    - shard-iclb:         [SKIP][39] ([fdo#110841]) -> [PASS][40]
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb1/igt@gem_ctx_shared@exec-single-timeline-bsd.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb7/igt@gem_ctx_shared@exec-single-timeline-bsd.html

  * igt@gem_exec_parallel@vcs1-fds:
    - shard-iclb:         [SKIP][41] ([fdo#112080]) -> [PASS][42] +11 similar issues
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb8/igt@gem_exec_parallel@vcs1-fds.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb2/igt@gem_exec_parallel@vcs1-fds.html

  * igt@gem_exec_schedule@independent-bsd2:
    - shard-iclb:         [SKIP][43] ([fdo#109276]) -> [PASS][44] +19 similar issues
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb8/igt@gem_exec_schedule@independent-bsd2.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb2/igt@gem_exec_schedule@independent-bsd2.html

  * igt@gem_exec_schedule@reorder-wide-bsd:
    - shard-iclb:         [SKIP][45] ([fdo#112146]) -> [PASS][46] +7 similar issues
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb2/igt@gem_exec_schedule@reorder-wide-bsd.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb5/igt@gem_exec_schedule@reorder-wide-bsd.html

  * igt@gem_exec_suspend@basic-s3:
    - shard-kbl:          [DMESG-WARN][47] ([fdo#108566]) -> [PASS][48] +2 similar issues
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-kbl3/igt@gem_exec_suspend@basic-s3.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-kbl6/igt@gem_exec_suspend@basic-s3.html

  * {igt@i915_pm_dc@dc6-psr}:
    - shard-iclb:         [FAIL][49] ([fdo#110548]) -> [PASS][50]
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb8/igt@i915_pm_dc@dc6-psr.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb2/igt@i915_pm_dc@dc6-psr.html

  * igt@i915_selftest@live_execlists:
    - {shard-tglb}:       [INCOMPLETE][51] ([fdo#111934]) -> [PASS][52]
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-tglb1/igt@i915_selftest@live_execlists.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-tglb3/igt@i915_selftest@live_execlists.html

  * igt@i915_suspend@fence-restore-tiled2untiled:
    - {shard-tglb}:       [INCOMPLETE][53] ([fdo#111832] / [fdo#111850]) -> [PASS][54] +1 similar issue
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-tglb7/igt@i915_suspend@fence-restore-tiled2untiled.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-tglb4/igt@i915_suspend@fence-restore-tiled2untiled.html

  * igt@i915_suspend@sysfs-reader:
    - shard-snb:          [DMESG-WARN][55] ([fdo#102365]) -> [PASS][56]
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-snb1/igt@i915_suspend@sysfs-reader.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-snb2/igt@i915_suspend@sysfs-reader.html

  * igt@kms_cursor_crc@pipe-a-cursor-alpha-transparent:
    - shard-skl:          [FAIL][57] ([fdo#103232]) -> [PASS][58]
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-skl6/igt@kms_cursor_crc@pipe-a-cursor-alpha-transparent.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-skl3/igt@kms_cursor_crc@pipe-a-cursor-alpha-transparent.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
    - shard-glk:          [FAIL][59] ([fdo#105363]) -> [PASS][60]
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-glk5/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-glk5/igt@kms_flip@flip-vs-expired-vblank-interruptible.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-pgflip-blt:
    - {shard-tglb}:       [FAIL][61] ([fdo#103167]) -> [PASS][62] +4 similar issues
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-tglb3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-pgflip-blt.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-tglb8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
    - {shard-tglb}:       [INCOMPLETE][63] ([fdo#111832] / [fdo#111850] / [fdo#111884]) -> [PASS][64]
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-tglb2/igt@kms_frontbuffer_tracking@fbc-suspend.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-tglb5/igt@kms_frontbuffer_tracking@fbc-suspend.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render:
    - shard-iclb:         [FAIL][65] ([fdo#103167]) -> [PASS][66] +8 similar issues
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-gtt:
    - shard-skl:          [FAIL][67] ([fdo#103167]) -> [PASS][68]
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-skl10/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-gtt.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-skl10/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-gtt.html

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes:
    - shard-apl:          [DMESG-WARN][69] ([fdo#108566]) -> [PASS][70] +1 similar issue
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-apl6/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-apl6/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min:
    - shard-skl:          [FAIL][71] ([fdo#108145]) -> [PASS][72]
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-skl6/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-skl3/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html

  * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
    - shard-skl:          [FAIL][73] ([fdo#108145] / [fdo#110403]) -> [PASS][74]
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-skl1/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-skl10/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html

  * igt@kms_plane_lowres@pipe-a-tiling-y:
    - shard-iclb:         [FAIL][75] ([fdo#103166]) -> [PASS][76]
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb6/igt@kms_plane_lowres@pipe-a-tiling-y.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb4/igt@kms_plane_lowres@pipe-a-tiling-y.html

  * igt@kms_psr@psr2_sprite_plane_move:
    - shard-iclb:         [SKIP][77] ([fdo#109441]) -> [PASS][78] +3 similar issues
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb8/igt@kms_psr@psr2_sprite_plane_move.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html

  
#### Warnings ####

  * igt@gem_ctx_isolation@vcs1-nonpriv:
    - shard-iclb:         [SKIP][79] ([fdo#109276] / [fdo#112080]) -> [FAIL][80] ([fdo#111329])
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb5/igt@gem_ctx_isolation@vcs1-nonpriv.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb1/igt@gem_ctx_isolation@vcs1-nonpriv.html

  * igt@gem_mocs_settings@mocs-reset-bsd2:
    - shard-iclb:         [SKIP][81] ([fdo#109276]) -> [FAIL][82] ([fdo#111330])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb6/igt@gem_mocs_settings@mocs-reset-bsd2.html
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb4/igt@gem_mocs_settings@mocs-reset-bsd2.html

  * igt@gem_mocs_settings@mocs-settings-bsd2:
    - shard-iclb:         [FAIL][83] ([fdo#111330]) -> [SKIP][84] ([fdo#109276]) +1 similar issue
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb2/igt@gem_mocs_settings@mocs-settings-bsd2.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb5/igt@gem_mocs_settings@mocs-settings-bsd2.html

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

  [fdo#102365]: https://bugs.freedesktop.org/show_bug.cgi?id=102365
  [fdo#102670]: https://bugs.freedesktop.org/show_bug.cgi?id=102670
  [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
  [fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
  [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#109661]: https://bugs.freedesktop.org/show_bug.cgi?id=109661
  [fdo#110403]: https://bugs.freedesktop.org/show_bug.cgi?id=110403
  [fdo#110548]: https://bugs.freedesktop.org/show_bug.cgi?id=110548
  [fdo#110841]: https://bugs.freedesktop.org/show_bug.cgi?id=110841
  [fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111329]: https://bugs.freedesktop.org/show_bug.cgi?id=111329
  [fdo#111330]: https://bugs.freedesktop.org/show_bug.cgi?id=111330
  [fdo#111646]: https://bugs.freedesktop.org/show_bug.cgi?id=111646
  [fdo#111671]: https://bugs.freedesktop.org/show_bug.cgi?id=111671
  [fdo#111703]: https://bugs.freedesktop.org/show_bug.cgi?id=111703
  [fdo#111832]: https://bugs.freedesktop.org/show_bug.cgi?id=111832
  [fdo#111850]: https://bugs.freedesktop.org/show_bug.cgi?id=111850
  [fdo#111855]: https://bugs.freedesktop.org/show_bug.cgi?id=111855
  [fdo#111884]: https://bugs.freedesktop.org/show_bug.cgi?id=111884
  [fdo#111934]: https://bugs.freedesktop.org/show_bug.cgi?id=111934
  [fdo#111991]: https://bugs.freedesktop.org/show_bug.cgi?id=111991
  [fdo#112037]: https://bugs.freedesktop.org/show_bug.cgi?id=112037
  [fdo#112068 ]: https://bugs.freedesktop.org/show_bug.cgi?id=112068 
  [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
  [fdo#112113]: https://bugs.freedesktop.org/show_bug.cgi?id=112113
  [fdo#112126]: https://bugs.freedesktop.org/show_bug.cgi?id=112126
  [fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146


Participating hosts (11 -> 11)
------------------------------

  No changes in participating hosts


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

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_7262 -> Patchwork_15132

  CI-20190529: 20190529
  CI_DRM_7262: 6d9033858175fc0e1ef5f77d6bd60356e6b70ee4 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5263: 8a5d44dc5e51622cd43f23c2cf24d44c24a0564d @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_15132: c42553d3cfecd339a32da82dd9a4924c704bb5ab @ 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_15132/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915/bios: use a flag for vbt hdmi level shift presence
@ 2019-11-06  7:34   ` Patchwork
  0 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2019-11-06  7:34 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/bios: use a flag for vbt hdmi level shift presence
URL   : https://patchwork.freedesktop.org/series/68998/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_7262_full -> Patchwork_15132_full
====================================================

Summary
-------

  **FAILURE**

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

  

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@i915_selftest@mock_requests:
    - shard-glk:          [PASS][1] -> [DMESG-WARN][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-glk9/igt@i915_selftest@mock_requests.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-glk8/igt@i915_selftest@mock_requests.html

  * igt@prime_mmap_kms@buffer-sharing:
    - shard-skl:          [PASS][3] -> [INCOMPLETE][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-skl3/igt@prime_mmap_kms@buffer-sharing.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-skl9/igt@prime_mmap_kms@buffer-sharing.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * {igt@i915_pm_dc@dc3co-vpb-simulation}:
    - shard-iclb:         [FAIL][5] -> [SKIP][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb2/igt@i915_pm_dc@dc3co-vpb-simulation.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb5/igt@i915_pm_dc@dc3co-vpb-simulation.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_isolation@vcs1-reset:
    - shard-iclb:         [PASS][7] -> [SKIP][8] ([fdo#109276] / [fdo#112080])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb4/igt@gem_ctx_isolation@vcs1-reset.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb8/igt@gem_ctx_isolation@vcs1-reset.html

  * igt@gem_ctx_switch@vcs1-heavy:
    - shard-iclb:         [PASS][9] -> [SKIP][10] ([fdo#112080]) +17 similar issues
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb4/igt@gem_ctx_switch@vcs1-heavy.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb8/igt@gem_ctx_switch@vcs1-heavy.html

  * igt@gem_eio@unwedge-stress:
    - shard-snb:          [PASS][11] -> [FAIL][12] ([fdo#109661])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-snb6/igt@gem_eio@unwedge-stress.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-snb1/igt@gem_eio@unwedge-stress.html

  * igt@gem_exec_balancer@smoke:
    - shard-iclb:         [PASS][13] -> [SKIP][14] ([fdo#110854])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb4/igt@gem_exec_balancer@smoke.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb8/igt@gem_exec_balancer@smoke.html

  * igt@gem_exec_schedule@out-order-bsd2:
    - shard-iclb:         [PASS][15] -> [SKIP][16] ([fdo#109276]) +19 similar issues
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb2/igt@gem_exec_schedule@out-order-bsd2.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb5/igt@gem_exec_schedule@out-order-bsd2.html

  * igt@gem_exec_schedule@preemptive-hang-bsd:
    - shard-iclb:         [PASS][17] -> [SKIP][18] ([fdo#112146]) +6 similar issues
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb8/igt@gem_exec_schedule@preemptive-hang-bsd.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb4/igt@gem_exec_schedule@preemptive-hang-bsd.html

  * igt@gem_persistent_relocs@forked-interruptible-thrashing:
    - shard-snb:          [PASS][19] -> [FAIL][20] ([fdo#112037])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-snb4/igt@gem_persistent_relocs@forked-interruptible-thrashing.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-snb7/igt@gem_persistent_relocs@forked-interruptible-thrashing.html

  * igt@i915_selftest@live_hangcheck:
    - shard-hsw:          [PASS][21] -> [DMESG-FAIL][22] ([fdo#111991])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-hsw8/igt@i915_selftest@live_hangcheck.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-hsw6/igt@i915_selftest@live_hangcheck.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
    - shard-skl:          [PASS][23] -> [FAIL][24] ([fdo#102670])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-skl2/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-skl7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html

  * igt@kms_flip@2x-blocking-wf_vblank:
    - shard-hsw:          [PASS][25] -> [INCOMPLETE][26] ([fdo#103540])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-hsw4/igt@kms_flip@2x-blocking-wf_vblank.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-hsw4/igt@kms_flip@2x-blocking-wf_vblank.html

  * igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite:
    - shard-iclb:         [PASS][27] -> [FAIL][28] ([fdo#103167]) +7 similar issues
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb8/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html

  * igt@kms_psr2_su@page_flip:
    - shard-iclb:         [PASS][29] -> [SKIP][30] ([fdo#109642] / [fdo#111068])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb2/igt@kms_psr2_su@page_flip.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb5/igt@kms_psr2_su@page_flip.html

  * igt@kms_psr@psr2_cursor_render:
    - shard-iclb:         [PASS][31] -> [SKIP][32] ([fdo#109441]) +1 similar issue
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb2/igt@kms_psr@psr2_cursor_render.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb5/igt@kms_psr@psr2_cursor_render.html

  * igt@kms_vblank@pipe-a-ts-continuation-suspend:
    - shard-kbl:          [PASS][33] -> [DMESG-WARN][34] ([fdo#108566]) +3 similar issues
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-kbl7/igt@kms_vblank@pipe-a-ts-continuation-suspend.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-kbl7/igt@kms_vblank@pipe-a-ts-continuation-suspend.html

  
#### Possible fixes ####

  * igt@gem_ctx_isolation@vcs1-none:
    - shard-iclb:         [SKIP][35] ([fdo#109276] / [fdo#112080]) -> [PASS][36] +7 similar issues
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb8/igt@gem_ctx_isolation@vcs1-none.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb2/igt@gem_ctx_isolation@vcs1-none.html

  * igt@gem_ctx_isolation@vcs1-s3:
    - {shard-tglb}:       [INCOMPLETE][37] ([fdo#111832]) -> [PASS][38]
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-tglb5/igt@gem_ctx_isolation@vcs1-s3.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-tglb1/igt@gem_ctx_isolation@vcs1-s3.html

  * igt@gem_ctx_shared@exec-single-timeline-bsd:
    - shard-iclb:         [SKIP][39] ([fdo#110841]) -> [PASS][40]
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb1/igt@gem_ctx_shared@exec-single-timeline-bsd.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb7/igt@gem_ctx_shared@exec-single-timeline-bsd.html

  * igt@gem_exec_parallel@vcs1-fds:
    - shard-iclb:         [SKIP][41] ([fdo#112080]) -> [PASS][42] +11 similar issues
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb8/igt@gem_exec_parallel@vcs1-fds.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb2/igt@gem_exec_parallel@vcs1-fds.html

  * igt@gem_exec_schedule@independent-bsd2:
    - shard-iclb:         [SKIP][43] ([fdo#109276]) -> [PASS][44] +19 similar issues
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb8/igt@gem_exec_schedule@independent-bsd2.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb2/igt@gem_exec_schedule@independent-bsd2.html

  * igt@gem_exec_schedule@reorder-wide-bsd:
    - shard-iclb:         [SKIP][45] ([fdo#112146]) -> [PASS][46] +7 similar issues
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb2/igt@gem_exec_schedule@reorder-wide-bsd.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb5/igt@gem_exec_schedule@reorder-wide-bsd.html

  * igt@gem_exec_suspend@basic-s3:
    - shard-kbl:          [DMESG-WARN][47] ([fdo#108566]) -> [PASS][48] +2 similar issues
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-kbl3/igt@gem_exec_suspend@basic-s3.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-kbl6/igt@gem_exec_suspend@basic-s3.html

  * {igt@i915_pm_dc@dc6-psr}:
    - shard-iclb:         [FAIL][49] ([fdo#110548]) -> [PASS][50]
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb8/igt@i915_pm_dc@dc6-psr.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb2/igt@i915_pm_dc@dc6-psr.html

  * igt@i915_selftest@live_execlists:
    - {shard-tglb}:       [INCOMPLETE][51] ([fdo#111934]) -> [PASS][52]
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-tglb1/igt@i915_selftest@live_execlists.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-tglb3/igt@i915_selftest@live_execlists.html

  * igt@i915_suspend@fence-restore-tiled2untiled:
    - {shard-tglb}:       [INCOMPLETE][53] ([fdo#111832] / [fdo#111850]) -> [PASS][54] +1 similar issue
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-tglb7/igt@i915_suspend@fence-restore-tiled2untiled.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-tglb4/igt@i915_suspend@fence-restore-tiled2untiled.html

  * igt@i915_suspend@sysfs-reader:
    - shard-snb:          [DMESG-WARN][55] ([fdo#102365]) -> [PASS][56]
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-snb1/igt@i915_suspend@sysfs-reader.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-snb2/igt@i915_suspend@sysfs-reader.html

  * igt@kms_cursor_crc@pipe-a-cursor-alpha-transparent:
    - shard-skl:          [FAIL][57] ([fdo#103232]) -> [PASS][58]
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-skl6/igt@kms_cursor_crc@pipe-a-cursor-alpha-transparent.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-skl3/igt@kms_cursor_crc@pipe-a-cursor-alpha-transparent.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
    - shard-glk:          [FAIL][59] ([fdo#105363]) -> [PASS][60]
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-glk5/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-glk5/igt@kms_flip@flip-vs-expired-vblank-interruptible.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-pgflip-blt:
    - {shard-tglb}:       [FAIL][61] ([fdo#103167]) -> [PASS][62] +4 similar issues
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-tglb3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-pgflip-blt.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-tglb8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
    - {shard-tglb}:       [INCOMPLETE][63] ([fdo#111832] / [fdo#111850] / [fdo#111884]) -> [PASS][64]
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-tglb2/igt@kms_frontbuffer_tracking@fbc-suspend.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-tglb5/igt@kms_frontbuffer_tracking@fbc-suspend.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render:
    - shard-iclb:         [FAIL][65] ([fdo#103167]) -> [PASS][66] +8 similar issues
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-gtt:
    - shard-skl:          [FAIL][67] ([fdo#103167]) -> [PASS][68]
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-skl10/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-gtt.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-skl10/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-gtt.html

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes:
    - shard-apl:          [DMESG-WARN][69] ([fdo#108566]) -> [PASS][70] +1 similar issue
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-apl6/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-apl6/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min:
    - shard-skl:          [FAIL][71] ([fdo#108145]) -> [PASS][72]
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-skl6/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-skl3/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html

  * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
    - shard-skl:          [FAIL][73] ([fdo#108145] / [fdo#110403]) -> [PASS][74]
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-skl1/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-skl10/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html

  * igt@kms_plane_lowres@pipe-a-tiling-y:
    - shard-iclb:         [FAIL][75] ([fdo#103166]) -> [PASS][76]
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb6/igt@kms_plane_lowres@pipe-a-tiling-y.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb4/igt@kms_plane_lowres@pipe-a-tiling-y.html

  * igt@kms_psr@psr2_sprite_plane_move:
    - shard-iclb:         [SKIP][77] ([fdo#109441]) -> [PASS][78] +3 similar issues
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb8/igt@kms_psr@psr2_sprite_plane_move.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html

  
#### Warnings ####

  * igt@gem_ctx_isolation@vcs1-nonpriv:
    - shard-iclb:         [SKIP][79] ([fdo#109276] / [fdo#112080]) -> [FAIL][80] ([fdo#111329])
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb5/igt@gem_ctx_isolation@vcs1-nonpriv.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb1/igt@gem_ctx_isolation@vcs1-nonpriv.html

  * igt@gem_mocs_settings@mocs-reset-bsd2:
    - shard-iclb:         [SKIP][81] ([fdo#109276]) -> [FAIL][82] ([fdo#111330])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb6/igt@gem_mocs_settings@mocs-reset-bsd2.html
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb4/igt@gem_mocs_settings@mocs-reset-bsd2.html

  * igt@gem_mocs_settings@mocs-settings-bsd2:
    - shard-iclb:         [FAIL][83] ([fdo#111330]) -> [SKIP][84] ([fdo#109276]) +1 similar issue
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7262/shard-iclb2/igt@gem_mocs_settings@mocs-settings-bsd2.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15132/shard-iclb5/igt@gem_mocs_settings@mocs-settings-bsd2.html

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

  [fdo#102365]: https://bugs.freedesktop.org/show_bug.cgi?id=102365
  [fdo#102670]: https://bugs.freedesktop.org/show_bug.cgi?id=102670
  [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
  [fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
  [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#109661]: https://bugs.freedesktop.org/show_bug.cgi?id=109661
  [fdo#110403]: https://bugs.freedesktop.org/show_bug.cgi?id=110403
  [fdo#110548]: https://bugs.freedesktop.org/show_bug.cgi?id=110548
  [fdo#110841]: https://bugs.freedesktop.org/show_bug.cgi?id=110841
  [fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111329]: https://bugs.freedesktop.org/show_bug.cgi?id=111329
  [fdo#111330]: https://bugs.freedesktop.org/show_bug.cgi?id=111330
  [fdo#111646]: https://bugs.freedesktop.org/show_bug.cgi?id=111646
  [fdo#111671]: https://bugs.freedesktop.org/show_bug.cgi?id=111671
  [fdo#111703]: https://bugs.freedesktop.org/show_bug.cgi?id=111703
  [fdo#111832]: https://bugs.freedesktop.org/show_bug.cgi?id=111832
  [fdo#111850]: https://bugs.freedesktop.org/show_bug.cgi?id=111850
  [fdo#111855]: https://bugs.freedesktop.org/show_bug.cgi?id=111855
  [fdo#111884]: https://bugs.freedesktop.org/show_bug.cgi?id=111884
  [fdo#111934]: https://bugs.freedesktop.org/show_bug.cgi?id=111934
  [fdo#111991]: https://bugs.freedesktop.org/show_bug.cgi?id=111991
  [fdo#112037]: https://bugs.freedesktop.org/show_bug.cgi?id=112037
  [fdo#112068 ]: https://bugs.freedesktop.org/show_bug.cgi?id=112068 
  [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
  [fdo#112113]: https://bugs.freedesktop.org/show_bug.cgi?id=112113
  [fdo#112126]: https://bugs.freedesktop.org/show_bug.cgi?id=112126
  [fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146


Participating hosts (11 -> 11)
------------------------------

  No changes in participating hosts


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

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_7262 -> Patchwork_15132

  CI-20190529: 20190529
  CI_DRM_7262: 6d9033858175fc0e1ef5f77d6bd60356e6b70ee4 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5263: 8a5d44dc5e51622cd43f23c2cf24d44c24a0564d @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_15132: c42553d3cfecd339a32da82dd9a4924c704bb5ab @ 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_15132/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH] drm/i915/bios: use a flag for vbt hdmi level shift presence
  2019-11-07 10:32 [PATCH] " Jani Nikula
@ 2019-11-07 10:47 ` Ville Syrjälä
  0 siblings, 0 replies; 16+ messages in thread
From: Ville Syrjälä @ 2019-11-07 10:47 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

On Thu, Nov 07, 2019 at 12:32:30PM +0200, Jani Nikula wrote:
> The pre-initialized magic value is a bit silly, switch to a flag
> instead.
> 
> v2: Reduce paranoia to a single sanity check (Ville)
> 
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
stands

> ---
>  drivers/gpu/drm/i915/display/intel_bios.c | 10 +---------
>  drivers/gpu/drm/i915/display/intel_ddi.c  | 13 +++++++------
>  drivers/gpu/drm/i915/i915_drv.h           |  8 ++------
>  3 files changed, 10 insertions(+), 21 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
> index a03f56b7b4ef..c19b234bebe6 100644
> --- a/drivers/gpu/drm/i915/display/intel_bios.c
> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
> @@ -1509,6 +1509,7 @@ static void parse_ddi_port(struct drm_i915_private *dev_priv,
>  			      port_name(port),
>  			      hdmi_level_shift);
>  		info->hdmi_level_shift = hdmi_level_shift;
> +		info->hdmi_level_shift_set = true;
>  	}
>  
>  	if (bdb_version >= 204) {
> @@ -1692,8 +1693,6 @@ parse_general_definitions(struct drm_i915_private *dev_priv,
>  static void
>  init_vbt_defaults(struct drm_i915_private *dev_priv)
>  {
> -	enum port port;
> -
>  	dev_priv->vbt.crt_ddc_pin = GMBUS_PIN_VGADDC;
>  
>  	/* Default to having backlight */
> @@ -1721,13 +1720,6 @@ init_vbt_defaults(struct drm_i915_private *dev_priv)
>  	dev_priv->vbt.lvds_ssc_freq = intel_bios_ssc_frequency(dev_priv,
>  			!HAS_PCH_SPLIT(dev_priv));
>  	DRM_DEBUG_KMS("Set default to SSC at %d kHz\n", dev_priv->vbt.lvds_ssc_freq);
> -
> -	for_each_port(port) {
> -		struct ddi_vbt_port_info *info =
> -			&dev_priv->vbt.ddi_port_info[port];
> -
> -		info->hdmi_level_shift = HDMI_LEVEL_SHIFT_UNKNOWN;
> -	}
>  }
>  
>  /* Defaults to initialize only if there is no VBT. */
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
> index 398c6f054a6e..4018c2e2a6fc 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -888,11 +888,10 @@ icl_get_combo_buf_trans(struct drm_i915_private *dev_priv, int type, int rate,
>  
>  static int intel_ddi_hdmi_level(struct drm_i915_private *dev_priv, enum port port)
>  {
> +	struct ddi_vbt_port_info *port_info = &dev_priv->vbt.ddi_port_info[port];
>  	int n_entries, level, default_entry;
>  	enum phy phy = intel_port_to_phy(dev_priv, port);
>  
> -	level = dev_priv->vbt.ddi_port_info[port].hdmi_level_shift;
> -
>  	if (INTEL_GEN(dev_priv) >= 12) {
>  		if (intel_phy_is_combo(dev_priv, phy))
>  			icl_get_combo_buf_trans(dev_priv, INTEL_OUTPUT_HDMI,
> @@ -927,12 +926,14 @@ static int intel_ddi_hdmi_level(struct drm_i915_private *dev_priv, enum port por
>  		return 0;
>  	}
>  
> -	/* Choose a good default if VBT is badly populated */
> -	if (level == HDMI_LEVEL_SHIFT_UNKNOWN || level >= n_entries)
> -		level = default_entry;
> -
>  	if (WARN_ON_ONCE(n_entries == 0))
>  		return 0;
> +
> +	if (port_info->hdmi_level_shift_set)
> +		level = port_info->hdmi_level_shift;
> +	else
> +		level = default_entry;
> +
>  	if (WARN_ON_ONCE(level >= n_entries))
>  		level = n_entries - 1;
>  
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 7e0f67babe20..67bdfe6de3fa 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -627,13 +627,9 @@ struct ddi_vbt_port_info {
>  
>  	int max_tmds_clock;
>  
> -	/*
> -	 * This is an index in the HDMI/DVI DDI buffer translation table.
> -	 * The special value HDMI_LEVEL_SHIFT_UNKNOWN means the VBT didn't
> -	 * populate this field.
> -	 */
> -#define HDMI_LEVEL_SHIFT_UNKNOWN	0xff
> +	/* This is an index in the HDMI/DVI DDI buffer translation table. */
>  	u8 hdmi_level_shift;
> +	u8 hdmi_level_shift_set:1;
>  
>  	u8 supports_dvi:1;
>  	u8 supports_hdmi:1;
> -- 
> 2.20.1

-- 
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] 16+ messages in thread

* [PATCH] drm/i915/bios: use a flag for vbt hdmi level shift presence
@ 2019-11-07 10:32 Jani Nikula
  2019-11-07 10:47 ` Ville Syrjälä
  0 siblings, 1 reply; 16+ messages in thread
From: Jani Nikula @ 2019-11-07 10:32 UTC (permalink / raw)
  To: intel-gfx; +Cc: jani.nikula

The pre-initialized magic value is a bit silly, switch to a flag
instead.

v2: Reduce paranoia to a single sanity check (Ville)

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_bios.c | 10 +---------
 drivers/gpu/drm/i915/display/intel_ddi.c  | 13 +++++++------
 drivers/gpu/drm/i915/i915_drv.h           |  8 ++------
 3 files changed, 10 insertions(+), 21 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
index a03f56b7b4ef..c19b234bebe6 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.c
+++ b/drivers/gpu/drm/i915/display/intel_bios.c
@@ -1509,6 +1509,7 @@ static void parse_ddi_port(struct drm_i915_private *dev_priv,
 			      port_name(port),
 			      hdmi_level_shift);
 		info->hdmi_level_shift = hdmi_level_shift;
+		info->hdmi_level_shift_set = true;
 	}
 
 	if (bdb_version >= 204) {
@@ -1692,8 +1693,6 @@ parse_general_definitions(struct drm_i915_private *dev_priv,
 static void
 init_vbt_defaults(struct drm_i915_private *dev_priv)
 {
-	enum port port;
-
 	dev_priv->vbt.crt_ddc_pin = GMBUS_PIN_VGADDC;
 
 	/* Default to having backlight */
@@ -1721,13 +1720,6 @@ init_vbt_defaults(struct drm_i915_private *dev_priv)
 	dev_priv->vbt.lvds_ssc_freq = intel_bios_ssc_frequency(dev_priv,
 			!HAS_PCH_SPLIT(dev_priv));
 	DRM_DEBUG_KMS("Set default to SSC at %d kHz\n", dev_priv->vbt.lvds_ssc_freq);
-
-	for_each_port(port) {
-		struct ddi_vbt_port_info *info =
-			&dev_priv->vbt.ddi_port_info[port];
-
-		info->hdmi_level_shift = HDMI_LEVEL_SHIFT_UNKNOWN;
-	}
 }
 
 /* Defaults to initialize only if there is no VBT. */
diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
index 398c6f054a6e..4018c2e2a6fc 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -888,11 +888,10 @@ icl_get_combo_buf_trans(struct drm_i915_private *dev_priv, int type, int rate,
 
 static int intel_ddi_hdmi_level(struct drm_i915_private *dev_priv, enum port port)
 {
+	struct ddi_vbt_port_info *port_info = &dev_priv->vbt.ddi_port_info[port];
 	int n_entries, level, default_entry;
 	enum phy phy = intel_port_to_phy(dev_priv, port);
 
-	level = dev_priv->vbt.ddi_port_info[port].hdmi_level_shift;
-
 	if (INTEL_GEN(dev_priv) >= 12) {
 		if (intel_phy_is_combo(dev_priv, phy))
 			icl_get_combo_buf_trans(dev_priv, INTEL_OUTPUT_HDMI,
@@ -927,12 +926,14 @@ static int intel_ddi_hdmi_level(struct drm_i915_private *dev_priv, enum port por
 		return 0;
 	}
 
-	/* Choose a good default if VBT is badly populated */
-	if (level == HDMI_LEVEL_SHIFT_UNKNOWN || level >= n_entries)
-		level = default_entry;
-
 	if (WARN_ON_ONCE(n_entries == 0))
 		return 0;
+
+	if (port_info->hdmi_level_shift_set)
+		level = port_info->hdmi_level_shift;
+	else
+		level = default_entry;
+
 	if (WARN_ON_ONCE(level >= n_entries))
 		level = n_entries - 1;
 
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 7e0f67babe20..67bdfe6de3fa 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -627,13 +627,9 @@ struct ddi_vbt_port_info {
 
 	int max_tmds_clock;
 
-	/*
-	 * This is an index in the HDMI/DVI DDI buffer translation table.
-	 * The special value HDMI_LEVEL_SHIFT_UNKNOWN means the VBT didn't
-	 * populate this field.
-	 */
-#define HDMI_LEVEL_SHIFT_UNKNOWN	0xff
+	/* This is an index in the HDMI/DVI DDI buffer translation table. */
 	u8 hdmi_level_shift;
+	u8 hdmi_level_shift_set:1;
 
 	u8 supports_dvi:1;
 	u8 supports_hdmi:1;
-- 
2.20.1

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

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

end of thread, other threads:[~2019-11-07 10:47 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-05 13:39 [PATCH] drm/i915/bios: use a flag for vbt hdmi level shift presence Jani Nikula
2019-11-05 13:39 ` [Intel-gfx] " Jani Nikula
2019-11-05 13:50 ` Ville Syrjälä
2019-11-05 13:50   ` [Intel-gfx] " Ville Syrjälä
2019-11-05 13:59   ` Jani Nikula
2019-11-05 13:59     ` [Intel-gfx] " Jani Nikula
2019-11-05 15:21     ` Ville Syrjälä
2019-11-05 15:21       ` [Intel-gfx] " Ville Syrjälä
2019-11-05 15:37       ` Ville Syrjälä
2019-11-05 15:37         ` [Intel-gfx] " Ville Syrjälä
2019-11-05 15:54 ` ✓ Fi.CI.BAT: success for " Patchwork
2019-11-05 15:54   ` [Intel-gfx] " Patchwork
2019-11-06  7:34 ` ✗ Fi.CI.IGT: failure " Patchwork
2019-11-06  7:34   ` [Intel-gfx] " Patchwork
2019-11-07 10:32 [PATCH] " Jani Nikula
2019-11-07 10:47 ` Ville Syrjälä

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.