* [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.