Skip to contentSkip to conversation

drm/i915/vbt: defaults handling for no VBT case

PATCH In review Jani Nikula 5 participants 15 messages Mar 10, 2017 – Mar 20, 2017

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

cover drm/i915/vbt: defaults handling for no VBT case

This is my proposed alternative to [1].

BR,
Jani.

[1] http://patchwork.freedesktop.org/patch/msgid/[email protected]

Jani Nikula (2):
drm/i915/vbt: don't propagate errors from intel_bios_init() drm/i915/vbt: split out defaults that are set when there is no VBT

 drivers/gpu/drm/i915/i915_drv.c   |  4 +---
 drivers/gpu/drm/i915/i915_drv.h   |  2 +-
 drivers/gpu/drm/i915/intel_bios.c | 46 ++++++++++++++++++++++++++-------------
 3 files changed, 33 insertions(+), 19 deletions(-)
Signature · 6 lines
2.1.4

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
#1 lore raw

PATCH 1/2 drm/i915/vbt: don't propagate errors from intel_bios_init()

We don't use the error return for anything other than reporting and logging that there is no VBT. We can pull the logging in the function, and remove the error status return. Moreover, if we needed the information for something later on, we'd probably be better off storing the bit in dev_priv, and using it where it's needed, instead of using the error return.

While at it, improve the comments.

Cc Manasi Navare <[email protected]>
Cc Ville Syrjälä <[email protected]>
---
 drivers/gpu/drm/i915/i915_drv.c   |  4 +---
 drivers/gpu/drm/i915/i915_drv.h   |  2 +-
 drivers/gpu/drm/i915/intel_bios.c | 31 ++++++++++++++++---------------
 3 files changed, 18 insertions(+), 19 deletions(-)
drivers/gpu/drm/i915/i915_drv.c +1 -3
index b1e9027a4f80..1af54717fa81 100644
@@ -567,9 +567,7 @@ static int i915_load_modeset_init(struct drm_device *dev)
 	if (i915_inject_load_failure())
 		return -ENODEV;
 
-	ret = intel_bios_init(dev_priv);
-	if (ret)
-		DRM_INFO("failed to find VBIOS tables\n");
+	intel_bios_init(dev_priv);
 
 	/* If we have > 1 VGA cards, then we need to arbitrate access
 	 * to the common VGA resources.
drivers/gpu/drm/i915/i915_drv.h +1 -1
index 3002996ddbed..4fc8ca340d27 100644
@@ -3714,7 +3714,7 @@ static inline bool intel_gmbus_is_forced_bit(struct i2c_adapter *adapter)
 extern void intel_i2c_reset(struct drm_i915_private *dev_priv);
 
 /* intel_bios.c */
-int intel_bios_init(struct drm_i915_private *dev_priv);
+void intel_bios_init(struct drm_i915_private *dev_priv);
 bool intel_bios_is_valid_vbt(const void *buf, size_t size);
 bool intel_bios_is_tv_present(struct drm_i915_private *dev_priv);
 bool intel_bios_is_lvds_present(struct drm_i915_private *dev_priv, u8 *i2c_pin);
drivers/gpu/drm/i915/intel_bios.c +16 -15
index e144f033f4b5..710988d72253 100644
@@ -1462,36 +1462,35 @@ static const struct vbt_header *find_vbt(void __iomem *bios, size_t size)
  * intel_bios_init - find VBT and initialize settings from the BIOS
  * @dev_priv: i915 device instance
  *
- * Loads the Video BIOS and checks that the VBT exists.  Sets scratch registers
- * to appropriate values.
- *
- * Returns 0 on success, nonzero on failure.
+ * Parse and initialize settings from the Video BIOS Tables (VBT). If the VBT
+ * was not found in ACPI OpRegion, try to find it in PCI ROM first. Also
+ * initialize some defaults if the VBT is not present at all.
  */
-int
-intel_bios_init(struct drm_i915_private *dev_priv)
+void intel_bios_init(struct drm_i915_private *dev_priv)
 {
 	struct pci_dev *pdev = dev_priv->drm.pdev;
 	const struct vbt_header *vbt = dev_priv->opregion.vbt;
 	const struct bdb_header *bdb;
 	u8 __iomem *bios = NULL;
 
-	if (HAS_PCH_NOP(dev_priv))
-		return -ENODEV;
+	if (HAS_PCH_NOP(dev_priv)) {
+		DRM_DEBUG_KMS("Skipping VBT init due to disabled display.\n");
+		return;
+	}
 
 	init_vbt_defaults(dev_priv);
 
+	/* If the OpRegion does not have VBT, look in PCI ROM. */
 	if (!vbt) {
 		size_t size;
 
 		bios = pci_map_rom(pdev, &size);
 		if (!bios)
-			return -1;
+			goto out;
 
 		vbt = find_vbt(bios, size);
-		if (!vbt) {
-			pci_unmap_rom(pdev, bios);
-			return -1;
-		}
+		if (!vbt)
+			goto out;
 
 		DRM_DEBUG_KMS("Found valid VBT in PCI ROM\n");
 	}
@@ -1516,10 +1515,12 @@ intel_bios_init(struct drm_i915_private *dev_priv)
 	parse_mipi_sequence(dev_priv, bdb);
 	parse_ddi_ports(dev_priv, bdb);
 
+out:
+	if (!vbt)
+		DRM_INFO("Failed to find VBIOS tables (VBT)\n");
+
 	if (bios)
 		pci_unmap_rom(pdev, bios);
-
-	return 0;
 }
 
 /**
Signature · 6 lines
2.1.4

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Reviewed-by on v1 1/2
#2 lore raw

Re: [PATCH 1/2] drm/i915/vbt: don't propagate errors from intel_bios_init()

Quoted 23 lines · Jani Nikula

We don't use the error return for anything other than reporting and logging that there is no VBT. We can pull the logging in the function, and remove the error status return. Moreover, if we needed the information for something later on, we'd probably be better off storing the bit in dev_priv, and using it where it's needed, instead of using the error return.

While at it, improve the comments.

Cc Manasi Navare <[email protected]>
Cc Ville Syrjälä <[email protected]>
---
 drivers/gpu/drm/i915/i915_drv.c   |  4 +---
 drivers/gpu/drm/i915/i915_drv.h   |  2 +-
 drivers/gpu/drm/i915/intel_bios.c | 31 ++++++++++++++++---------------
 3 files changed, 18 insertions(+), 19 deletions(-)
drivers/gpu/drm/i915/i915_drv.c +0 -0
index b1e9027a4f80..1af54717fa81 100644

drivers/gpu/drm/i915/i915_drv.c static int i915_load_modeset_init(struct drm_device *dev) · line 570

Quoted 7 lines
drivers/gpu/drm/i915/i915_drv.c +1 -3
@@ -567,9 +567,7 @@ static int i915_load_modeset_init(struct drm_device *dev)
 	if (i915_inject_load_failure())
 		return -ENODEV;
 
-	ret = intel_bios_init(dev_priv);
-	if (ret)
-		DRM_INFO("failed to find VBIOS tables\n");
+	intel_bios_init(dev_priv);

Sold.

-Chris

Signature · 5 lines
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
#3 lore raw

Re: [PATCH 1/2] drm/i915/vbt: don't propagate errors from intel_bios_init()

Quoted 27 lines · Chris Wilson
Quoted 26 lines · Jani Nikula

We don't use the error return for anything other than reporting and logging that there is no VBT. We can pull the logging in the function, and remove the error status return. Moreover, if we needed the information for something later on, we'd probably be better off storing the bit in dev_priv, and using it where it's needed, instead of using the error return.

While at it, improve the comments.

Cc Manasi Navare <[email protected]>
Cc Ville Syrjälä <[email protected]>
---
 drivers/gpu/drm/i915/i915_drv.c   |  4 +---
 drivers/gpu/drm/i915/i915_drv.h   |  2 +-
 drivers/gpu/drm/i915/intel_bios.c | 31 ++++++++++++++++---------------
 3 files changed, 18 insertions(+), 19 deletions(-)
drivers/gpu/drm/i915/i915_drv.c +0 -0
index b1e9027a4f80..1af54717fa81 100644
@@ -567,9 +567,7 @@ static int i915_load_modeset_init(struct drm_device *dev)
 	if (i915_inject_load_failure())
 		return -ENODEV;
 
Quoted 7 lines

drivers/gpu/drm/i915/i915_drv.c static int i915_load_modeset_init(struct drm_device *dev) · line 570

Quoted 4 lines
drivers/gpu/drm/i915/i915_drv.c +1 -3
-	ret = intel_bios_init(dev_priv);
-	if (ret)
-		DRM_INFO("failed to find VBIOS tables\n");
+	intel_bios_init(dev_priv);

Sold.

Pushed patch 1, thanks for the review.

BR,
Jani.

Signature · 5 lines
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
#4 lore raw

PATCH 2/2 drm/i915/vbt: split out defaults that are set when there is no VBT

In reply to Jani Nikula

The main thing are the DDI ports. If there's a VBT that says there are no outputs, we should trust that, and not have semi-random defaults. Unfortunately, the defaults have resulted in some Chromebooks without VBT to rely on this behaviour, so we split out the defaults for the missing VBT case.

Cc Manasi Navare <[email protected]>
Cc Ville Syrjälä <[email protected]>
---
 drivers/gpu/drm/i915/intel_bios.c | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)
drivers/gpu/drm/i915/intel_bios.c +16 -1
index 710988d72253..639d45c1dd2e 100644
@@ -1341,6 +1341,7 @@ parse_device_mapping(struct drm_i915_private *dev_priv,
 	return;
 }
 
+/* Common defaults which may be overridden by VBT. */
 static void
 init_vbt_defaults(struct drm_i915_private *dev_priv)
 {
@@ -1377,6 +1378,18 @@ init_vbt_defaults(struct drm_i915_private *dev_priv)
 			&dev_priv->vbt.ddi_port_info[port];
 
 		info->hdmi_level_shift = HDMI_LEVEL_SHIFT_UNKNOWN;
+	}
+}
+
+/* Defaults to initialize only if there is no VBT. */
+static void
+init_vbt_missing_defaults(struct drm_i915_private *dev_priv)
+{
+	enum port port;
+
+	for (port = PORT_A; port < I915_MAX_PORTS; port++) {
+		struct ddi_vbt_port_info *info =
+			&dev_priv->vbt.ddi_port_info[port];
 
 		info->supports_dvi = (port != PORT_A && port != PORT_E);
 		info->supports_hdmi = info->supports_dvi;
@@ -1516,8 +1529,10 @@ void intel_bios_init(struct drm_i915_private *dev_priv)
 	parse_ddi_ports(dev_priv, bdb);
 
 out:
-	if (!vbt)
+	if (!vbt) {
 		DRM_INFO("Failed to find VBIOS tables (VBT)\n");
+		init_vbt_missing_defaults(dev_priv);
+	}
 
 	if (bios)
 		pci_unmap_rom(pdev, bios);
Signature · 6 lines
2.1.4

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
#5 lore raw

Re: [PATCH 2/2] drm/i915/vbt: split out defaults that are set when there is no VBT

Quoted 45 lines · Jani Nikula

The main thing are the DDI ports. If there's a VBT that says there are no outputs, we should trust that, and not have semi-random defaults. Unfortunately, the defaults have resulted in some Chromebooks without VBT to rely on this behaviour, so we split out the defaults for the missing VBT case.

Cc Manasi Navare <[email protected]>
Cc Ville Syrjälä <[email protected]>
---
 drivers/gpu/drm/i915/intel_bios.c | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)
drivers/gpu/drm/i915/intel_bios.c +13 -0
index 710988d72253..639d45c1dd2e 100644
@@ -1341,6 +1341,7 @@ parse_device_mapping(struct drm_i915_private *dev_priv,
 	return;
 }
 
+/* Common defaults which may be overridden by VBT. */
 static void
 init_vbt_defaults(struct drm_i915_private *dev_priv)
 {
@@ -1377,6 +1378,18 @@ init_vbt_defaults(struct drm_i915_private *dev_priv)
 			&dev_priv->vbt.ddi_port_info[port];
 
 		info->hdmi_level_shift = HDMI_LEVEL_SHIFT_UNKNOWN;
+	}
+}
+
+/* Defaults to initialize only if there is no VBT. */
+static void
+init_vbt_missing_defaults(struct drm_i915_private *dev_priv)
+{
+	enum port port;
+
+	for (port = PORT_A; port < I915_MAX_PORTS; port++) {
+		struct ddi_vbt_port_info *info =
+			&dev_priv->vbt.ddi_port_info[port];
 
 		info->supports_dvi = (port != PORT_A && port != PORT_E);
 		info->supports_hdmi = info->supports_dvi;

drivers/gpu/drm/i915/intel_bios.c void intel_bios_init(struct drm_i915_private *dev_priv) · line 1535

Quoted 8 lines
drivers/gpu/drm/i915/intel_bios.c +3 -1
@@ -1516,8 +1529,10 @@ void intel_bios_init(struct drm_i915_private *dev_priv)
 	parse_ddi_ports(dev_priv, bdb);
 
 out:
-	if (!vbt)
+	if (!vbt) {
 		DRM_INFO("Failed to find VBIOS tables (VBT)\n");
+		init_vbt_missing_defaults(dev_priv);
+	}

So in case there is no VBT, this will set supports_DP flag on Port A. What is there is no VBT and there is no eDP on Port A?
In this case it will still try to link train on Port A and fail..? I am not sure if this case exists, but just a thought looking at it. If such a case does not exist, then this will solve our problem of current failures because leaving defaults on Port A. So in that case it lgtm.

Regards
Manasi

Quoted 6 lines
drivers/gpu/drm/i915/intel_bios.c +0 -0
 	if (bios)
 		pci_unmap_rom(pdev, bios);
Signature · 1 line
2.1.4

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

#6 lore raw

Re: [PATCH 2/2] drm/i915/vbt: split out defaults that are set when there is no VBT

Quoted 48 lines · Manasi Navare
Quoted 47 lines · Jani Nikula

The main thing are the DDI ports. If there's a VBT that says there are no outputs, we should trust that, and not have semi-random defaults. Unfortunately, the defaults have resulted in some Chromebooks without VBT to rely on this behaviour, so we split out the defaults for the missing VBT case.

Cc Manasi Navare <[email protected]>
Cc Ville Syrjälä <[email protected]>
---
 drivers/gpu/drm/i915/intel_bios.c | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)
drivers/gpu/drm/i915/intel_bios.c +13 -0
index 710988d72253..639d45c1dd2e 100644
@@ -1341,6 +1341,7 @@ parse_device_mapping(struct drm_i915_private *dev_priv,
 	return;
 }
 
+/* Common defaults which may be overridden by VBT. */
 static void
 init_vbt_defaults(struct drm_i915_private *dev_priv)
 {
@@ -1377,6 +1378,18 @@ init_vbt_defaults(struct drm_i915_private *dev_priv)
 			&dev_priv->vbt.ddi_port_info[port];
 
 		info->hdmi_level_shift = HDMI_LEVEL_SHIFT_UNKNOWN;
+	}
+}
+
+/* Defaults to initialize only if there is no VBT. */
+static void
+init_vbt_missing_defaults(struct drm_i915_private *dev_priv)
+{
+	enum port port;
+
+	for (port = PORT_A; port < I915_MAX_PORTS; port++) {
+		struct ddi_vbt_port_info *info =
+			&dev_priv->vbt.ddi_port_info[port];
 
 		info->supports_dvi = (port != PORT_A && port != PORT_E);
 		info->supports_hdmi = info->supports_dvi;
@@ -1516,8 +1529,10 @@ void intel_bios_init(struct drm_i915_private *dev_priv)
 	parse_ddi_ports(dev_priv, bdb);
 
Quoted 11 lines

drivers/gpu/drm/i915/intel_bios.c void intel_bios_init(struct drm_i915_private *dev_priv) · line 1535

Quoted 6 lines
drivers/gpu/drm/i915/intel_bios.c +3 -1
 out:
-	if (!vbt)
+	if (!vbt) {
 		DRM_INFO("Failed to find VBIOS tables (VBT)\n");
+		init_vbt_missing_defaults(dev_priv);
+	}

So in case there is no VBT, this will set supports_DP flag on Port A. What is there is no VBT and there is no eDP on Port A?
In this case it will still try to link train on Port A and fail..? I am not sure if this case exists, but just a thought looking at it.

It's possible the case exists, but the point is that the behaviour for the no-VBT case remains the same before and after this patch.

BR,
Jani.

Quoted 14 lines

If such a case does not exist, then this will solve our problem of current failures because leaving defaults on Port A. So in that case it lgtm.

Regards
Manasi

Quoted 6 lines
drivers/gpu/drm/i915/intel_bios.c +0 -0
 	if (bios)
 		pci_unmap_rom(pdev, bios);
Signature · 1 line
2.1.4
Signature · 5 lines
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
#7 lore raw

Re: [PATCH 2/2] drm/i915/vbt: split out defaults that are set when there is no VBT

Quoted 61 lines · Jani Nikula
Quoted 48 lines · Manasi Navare
Quoted 47 lines · Jani Nikula

The main thing are the DDI ports. If there's a VBT that says there are no outputs, we should trust that, and not have semi-random defaults. Unfortunately, the defaults have resulted in some Chromebooks without VBT to rely on this behaviour, so we split out the defaults for the missing VBT case.

Cc Manasi Navare <[email protected]>
Cc Ville Syrjälä <[email protected]>
---
 drivers/gpu/drm/i915/intel_bios.c | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)
drivers/gpu/drm/i915/intel_bios.c +13 -0
index 710988d72253..639d45c1dd2e 100644
@@ -1341,6 +1341,7 @@ parse_device_mapping(struct drm_i915_private *dev_priv,
 	return;
 }
 
+/* Common defaults which may be overridden by VBT. */
 static void
 init_vbt_defaults(struct drm_i915_private *dev_priv)
 {
@@ -1377,6 +1378,18 @@ init_vbt_defaults(struct drm_i915_private *dev_priv)
 			&dev_priv->vbt.ddi_port_info[port];
 
 		info->hdmi_level_shift = HDMI_LEVEL_SHIFT_UNKNOWN;
+	}
+}
+
+/* Defaults to initialize only if there is no VBT. */
+static void
+init_vbt_missing_defaults(struct drm_i915_private *dev_priv)
+{
+	enum port port;
+
+	for (port = PORT_A; port < I915_MAX_PORTS; port++) {
+		struct ddi_vbt_port_info *info =
+			&dev_priv->vbt.ddi_port_info[port];
 
 		info->supports_dvi = (port != PORT_A && port != PORT_E);
 		info->supports_hdmi = info->supports_dvi;
@@ -1516,8 +1529,10 @@ void intel_bios_init(struct drm_i915_private *dev_priv)
 	parse_ddi_ports(dev_priv, bdb);
 
Quoted 11 lines

drivers/gpu/drm/i915/intel_bios.c void intel_bios_init(struct drm_i915_private *dev_priv) · line 1535

Quoted 6 lines
drivers/gpu/drm/i915/intel_bios.c +3 -1
 out:
-	if (!vbt)
+	if (!vbt) {
 		DRM_INFO("Failed to find VBIOS tables (VBT)\n");
+		init_vbt_missing_defaults(dev_priv);
+	}

So in case there is no VBT, this will set supports_DP flag on Port A. What is there is no VBT and there is no eDP on Port A?
In this case it will still try to link train on Port A and fail..? I am not sure if this case exists, but just a thought looking at it.

Quoted 7 lines

It's possible the case exists, but the point is that the behaviour for the no-VBT case remains the same before and after this patch.

BR,
Jani.

Ok agreed. In that case Reviewed-by: Manasi Navare <[email protected]>

Regards
Manasi

Quoted 9 lines
Quoted 9 lines

If such a case does not exist, then this will solve our problem of current failures because leaving defaults on Port A. So in that case it lgtm.

Regards
Manasi

Quoted 1 line
Quoted 8 lines
Quoted 5 lines
Quoted 5 lines
drivers/gpu/drm/i915/intel_bios.c +0 -0
 	if (bios)
 		pci_unmap_rom(pdev, bios);
Signature · 1 line
2.1.4
Signature · 1 line
Jani Nikula, Intel Open Source Technology Center

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

author Applied
#8 lore raw

Re: [PATCH 2/2] drm/i915/vbt: split out defaults that are set when there is no VBT

Quoted 65 lines · Manasi Navare
Quoted 64 lines · Jani Nikula
Quoted 48 lines · Manasi Navare
Quoted 47 lines · Jani Nikula

The main thing are the DDI ports. If there's a VBT that says there are no outputs, we should trust that, and not have semi-random defaults. Unfortunately, the defaults have resulted in some Chromebooks without VBT to rely on this behaviour, so we split out the defaults for the missing VBT case.

Cc Manasi Navare <[email protected]>
Cc Ville Syrjälä <[email protected]>
---
 drivers/gpu/drm/i915/intel_bios.c | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)
drivers/gpu/drm/i915/intel_bios.c +13 -0
index 710988d72253..639d45c1dd2e 100644
@@ -1341,6 +1341,7 @@ parse_device_mapping(struct drm_i915_private *dev_priv,
 	return;
 }
 
+/* Common defaults which may be overridden by VBT. */
 static void
 init_vbt_defaults(struct drm_i915_private *dev_priv)
 {
@@ -1377,6 +1378,18 @@ init_vbt_defaults(struct drm_i915_private *dev_priv)
 			&dev_priv->vbt.ddi_port_info[port];
 
 		info->hdmi_level_shift = HDMI_LEVEL_SHIFT_UNKNOWN;
+	}
+}
+
+/* Defaults to initialize only if there is no VBT. */
+static void
+init_vbt_missing_defaults(struct drm_i915_private *dev_priv)
+{
+	enum port port;
+
+	for (port = PORT_A; port < I915_MAX_PORTS; port++) {
+		struct ddi_vbt_port_info *info =
+			&dev_priv->vbt.ddi_port_info[port];
 
 		info->supports_dvi = (port != PORT_A && port != PORT_E);
 		info->supports_hdmi = info->supports_dvi;
@@ -1516,8 +1529,10 @@ void intel_bios_init(struct drm_i915_private *dev_priv)
 	parse_ddi_ports(dev_priv, bdb);
 
Quoted 11 lines

drivers/gpu/drm/i915/intel_bios.c void intel_bios_init(struct drm_i915_private *dev_priv) · line 1535

Quoted 6 lines
drivers/gpu/drm/i915/intel_bios.c +3 -1
 out:
-	if (!vbt)
+	if (!vbt) {
 		DRM_INFO("Failed to find VBIOS tables (VBT)\n");
+		init_vbt_missing_defaults(dev_priv);
+	}

So in case there is no VBT, this will set supports_DP flag on Port A. What is there is no VBT and there is no eDP on Port A?
In this case it will still try to link train on Port A and fail..? I am not sure if this case exists, but just a thought looking at it.

It's possible the case exists, but the point is that the behaviour for the no-VBT case remains the same before and after this patch.

Quoted 7 lines
Quoted 4 lines

BR,
Jani.

Ok agreed. In that case Reviewed-by: Manasi Navare <[email protected]>

Pushed to drm-intel-next-queued, thanks for the review.

I really hope there are no machines out there that have a crippled VBT with no child device config. I guess we'll find out...

BR,
Jani.

Quoted 22 lines

Regards
Manasi

Quoted 17 lines
Quoted 14 lines

If such a case does not exist, then this will solve our problem of current failures because leaving defaults on Port A. So in that case it lgtm.

Regards
Manasi

Quoted 6 lines
drivers/gpu/drm/i915/intel_bios.c +0 -0
 	if (bios)
 		pci_unmap_rom(pdev, bios);
Signature · 1 line
2.1.4
Signature · 1 line
Jani Nikula, Intel Open Source Technology Center
Signature · 5 lines
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
#9 lore raw

Re: [PATCH 2/2] drm/i915/vbt: split out defaults that are set when there is no VBT

Em Ter, 2017-03-14 às 11:09 +0200, Jani Nikula escreveu:

Quoted 90 lines · Manasi Navare
Quoted 89 lines · Jani Nikula
Quoted 86 lines
Quoted 67 lines · Manasi Navare
Quoted 62 lines · Jani Nikula

The main thing are the DDI ports. If there's a VBT that says there are
no outputs, we should trust that, and not have semi-random defaults. Unfortunately, the defaults have resulted in some Chromebooks
without VBT to rely on this behaviour, so we split out the defaults for
the missing VBT case.

Cc Manasi Navare <[email protected]>
Cc Ville Syrjälä <[email protected]>

---
 drivers/gpu/drm/i915/intel_bios.c | 17 ++++++++++++++++-

 1 file changed, 16 insertions(+), 1 deletion(-)
drivers/gpu/drm/i915/intel_bios.c +0 -0
index 710988d72253..639d45c1dd2e 100644
@@ -1341,6 +1341,7 @@ parse_device_mapping(struct
 drm_i915_private *dev_priv,
  	return;
  }


+/* Common defaults which may be overridden by VBT. */ static void
 init_vbt_defaults(struct drm_i915_private *dev_priv) {

drivers/gpu/drm/i915/intel_bios.c +0 -0
@@ -1377,6 +1378,18 @@ init_vbt_defaults(struct
 drm_i915_private *dev_priv)
  			&dev_priv->vbt.ddi_port_info[port];


  info->hdmi_level_shift =
HDMI_LEVEL_SHIFT_UNKNOWN;

drivers/gpu/drm/i915/intel_bios.c +12 -0
+	}
+}
+
+/* Defaults to initialize only if there is no VBT. */
+static void
+init_vbt_missing_defaults(struct drm_i915_private *dev_priv)
+{
+	enum port port;
+
+	for (port = PORT_A; port < I915_MAX_PORTS; port++) {
+		struct ddi_vbt_port_info *info =
+			&dev_priv->vbt.ddi_port_info[port];


  info->supports_dvi = (port != PORT_A && port != PORT_E);
  info->supports_hdmi = info->supports_dvi;

drivers/gpu/drm/i915/intel_bios.c +0 -0
@@ -1516,8 +1529,10 @@ void intel_bios_init(struct
 drm_i915_private *dev_priv)
  	parse_ddi_ports(dev_priv, bdb);


 out:

drivers/gpu/drm/i915/intel_bios.c +1 -1
-	if (!vbt)
+	if (!vbt) {

  DRM_INFO("Failed to find VBIOS tables (VBT)\n");

drivers/gpu/drm/i915/intel_bios.c void intel_bios_init(struct drm_i915_private *dev_priv) · line 1535

Quoted 2 lines
drivers/gpu/drm/i915/intel_bios.c +2 -0
+		init_vbt_missing_defaults(dev_priv);
+	}
Quoted 7 lines

So in case there is no VBT, this will set supports_DP flag on Port A.
What is there is no VBT and there is no eDP on Port A? In this case it will still try to link train on Port A and fail..?
I am not sure if this case exists, but just a thought looking at it.

It's possible the case exists, but the point is that the behaviour for
the no-VBT case remains the same before and after this patch.

BR,
Jani.

Quoted 8 lines
Quoted 2 lines

Ok agreed. In that case Reviewed-by: Manasi Navare <[email protected]>

Pushed to drm-intel-next-queued, thanks for the review.

I really hope there are no machines out there that have a crippled VBT
with no child device config. I guess we'll find out...

I have access to this very interesting machine with DDB version 163 and a child device size config that's 1 instead of the expected 33.

So what happens here is that since the VBT is supposed to be valid we don't end up calling init_vbt_missing_defauilts(). We return early from parse_device_mapping(), which means we don't set vbt.child_dev_num, which means that parse_ddi_port() returns early. So info->supports_* stays false, and intel_ddi_init() fails.

Given your commit message it seems that we should properly be able to distinguish between "VBT correctly says that there's no output" and "VBT is drunk and should go home" in order to fix this problem.

I can confirm that reverting this patch makes display great again^w^w work again. So unfortunately I'll have to call regression on this patch.

Quoted 34 lines

BR,
Jani.

Quoted 28 lines

Regards
Manasi

Quoted 22 lines
Quoted 19 lines

If such a case does not exist, then this will solve our problem of
current failures because leaving defaults on Port A. So in that case
it lgtm.

Regards
Manasi

Quoted 7 lines


  if (bios)
  pci_unmap_rom(pdev, bios);
--
2.1.4

--
Jani Nikula, Intel Open Source Technology Center

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

#10 lore raw

Re: [PATCH 2/2] drm/i915/vbt: split out defaults that are set when there is no VBT

Quoted 109 lines · Paulo Zanoni

Em Ter, 2017-03-14 às 11:09 +0200, Jani Nikula escreveu:

Quoted 90 lines · Manasi Navare
Quoted 89 lines · Jani Nikula
Quoted 86 lines
Quoted 67 lines · Manasi Navare
Quoted 62 lines · Jani Nikula

The main thing are the DDI ports. If there's a VBT that says there are
no outputs, we should trust that, and not have semi-random defaults. Unfortunately, the defaults have resulted in some Chromebooks
without VBT to rely on this behaviour, so we split out the defaults for
the missing VBT case.

Cc Manasi Navare <[email protected]>
Cc Ville Syrjälä <[email protected]>

---
 drivers/gpu/drm/i915/intel_bios.c | 17 ++++++++++++++++-

 1 file changed, 16 insertions(+), 1 deletion(-)
drivers/gpu/drm/i915/intel_bios.c +0 -0
index 710988d72253..639d45c1dd2e 100644
@@ -1341,6 +1341,7 @@ parse_device_mapping(struct
 drm_i915_private *dev_priv,
  	return;
  }


+/* Common defaults which may be overridden by VBT. */ static void
 init_vbt_defaults(struct drm_i915_private *dev_priv) {

drivers/gpu/drm/i915/intel_bios.c +0 -0
@@ -1377,6 +1378,18 @@ init_vbt_defaults(struct
 drm_i915_private *dev_priv)
  			&dev_priv->vbt.ddi_port_info[port];


  info->hdmi_level_shift =
HDMI_LEVEL_SHIFT_UNKNOWN;

drivers/gpu/drm/i915/intel_bios.c +12 -0
+	}
+}
+
+/* Defaults to initialize only if there is no VBT. */
+static void
+init_vbt_missing_defaults(struct drm_i915_private *dev_priv)
+{
+	enum port port;
+
+	for (port = PORT_A; port < I915_MAX_PORTS; port++) {
+		struct ddi_vbt_port_info *info =
+			&dev_priv->vbt.ddi_port_info[port];


  info->supports_dvi = (port != PORT_A && port != PORT_E);
  info->supports_hdmi = info->supports_dvi;

drivers/gpu/drm/i915/intel_bios.c +0 -0
@@ -1516,8 +1529,10 @@ void intel_bios_init(struct
 drm_i915_private *dev_priv)
  	parse_ddi_ports(dev_priv, bdb);


 out:

drivers/gpu/drm/i915/intel_bios.c +1 -1
-	if (!vbt)
+	if (!vbt) {

  DRM_INFO("Failed to find VBIOS tables (VBT)\n");

drivers/gpu/drm/i915/intel_bios.c void intel_bios_init(struct drm_i915_private *dev_priv) · line 1535

Quoted 2 lines
drivers/gpu/drm/i915/intel_bios.c +2 -0
+		init_vbt_missing_defaults(dev_priv);
+	}
Quoted 7 lines

So in case there is no VBT, this will set supports_DP flag on Port A.
What is there is no VBT and there is no eDP on Port A? In this case it will still try to link train on Port A and fail..?
I am not sure if this case exists, but just a thought looking at it.

It's possible the case exists, but the point is that the behaviour for
the no-VBT case remains the same before and after this patch.

BR,
Jani.

Quoted 8 lines
Quoted 2 lines

Ok agreed. In that case Reviewed-by: Manasi Navare <[email protected]>

Pushed to drm-intel-next-queued, thanks for the review.

I really hope there are no machines out there that have a crippled VBT
with no child device config. I guess we'll find out...

I have access to this very interesting machine with DDB version 163 and a child device size config that's 1 instead of the expected 33.

So what happens here is that since the VBT is supposed to be valid we don't end up calling init_vbt_missing_defauilts(). We return early from parse_device_mapping(), which means we don't set vbt.child_dev_num, which means that parse_ddi_port() returns early. So info->supports_* stays false, and intel_ddi_init() fails.

Quoted 3 lines

Given your commit message it seems that we should properly be able to distinguish between "VBT correctly says that there's no output" and "VBT is drunk and should go home" in order to fix this problem.

I'm not sure it's possible to distinguish between the two. I thought we'd be able to rely on the former. If we have to change "init_vbt_missing_defaults" to "init_child_dev_missing_defaults", then we'll never be able to handle the case where vbt correctly states there are no child devices. :(

BR,
Jani.

Quoted 38 lines

I can confirm that reverting this patch makes display great again^w^w work again. So unfortunately I'll have to call regression on this patch.

Quoted 34 lines

BR,
Jani.

Quoted 28 lines

Regards
Manasi

Quoted 22 lines
Quoted 19 lines

If such a case does not exist, then this will solve our problem of
current failures because leaving defaults on Port A. So in that case
it lgtm.

Regards
Manasi

Quoted 7 lines


  if (bios)
  pci_unmap_rom(pdev, bios);
--
2.1.4

--
Jani Nikula, Intel Open Source Technology Center

Signature · 5 lines
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
#11 lore raw

Re: [PATCH 2/2] drm/i915/vbt: split out defaults that are set when there is no VBT

Em Seg, 2017-03-20 às 11:38 +0200, Jani Nikula escreveu:

Quoted 136 lines · Paulo Zanoni
Quoted 135 lines

Em Ter, 2017-03-14 às 11:09 +0200, Jani Nikula escreveu:

Quoted 113 lines
Quoted 102 lines · Manasi Navare
Quoted 99 lines · Jani Nikula

On Sat, 11 Mar 2017, Manasi Navare <[email protected]

Quoted 1 line
Quoted 81 lines · wrote:
Quoted 73 lines · Jani Nikula

The main thing are the DDI ports. If there's a VBT that says
there are
no outputs, we should trust that, and not have semi- random
defaults. Unfortunately, the defaults have resulted in some
Chromebooks
without VBT to rely on this behaviour, so we split out the
defaults for
the missing VBT case.

Cc Manasi Navare <[email protected]>
Cc Ville Syrjälä <[email protected]>

---
 drivers/gpu/drm/i915/intel_bios.c | 17 ++++++++++++++++-

 1 file changed, 16 insertions(+), 1 deletion(-)
drivers/gpu/drm/i915/intel_bios.c +0 -0
index 710988d72253..639d45c1dd2e 100644
@@ -1341,6 +1341,7 @@ parse_device_mapping(struct
 drm_i915_private *dev_priv,
  	return;
  }


+/* Common defaults which may be overridden by VBT. */ static void
 init_vbt_defaults(struct drm_i915_private *dev_priv) {

drivers/gpu/drm/i915/intel_bios.c +0 -0
@@ -1377,6 +1378,18 @@ init_vbt_defaults(struct
 drm_i915_private *dev_priv)

  &dev_priv-

Quoted 1 line

vbt.ddi_port_info[port];


  info->hdmi_level_shift =
HDMI_LEVEL_SHIFT_UNKNOWN;

drivers/gpu/drm/i915/intel_bios.c +6 -0
+	}
+}
+
+/* Defaults to initialize only if there is no VBT. */
+static void
+init_vbt_missing_defaults(struct drm_i915_private

*dev_priv)

drivers/gpu/drm/i915/intel_bios.c +4 -0
+{
+	enum port port;
+
+	for (port = PORT_A; port < I915_MAX_PORTS;

port++) {

drivers/gpu/drm/i915/intel_bios.c +2 -0
+		struct ddi_vbt_port_info *info =
+			&dev_priv-
Quoted 1 line

vbt.ddi_port_info[port];


  info->supports_dvi = (port != PORT_A && port
!= PORT_E);
  info->supports_hdmi = info-

Quoted 1 line

supports_dvi;

drivers/gpu/drm/i915/intel_bios.c +0 -0
@@ -1516,8 +1529,10 @@ void intel_bios_init(struct
 drm_i915_private *dev_priv)
  	parse_ddi_ports(dev_priv, bdb);


 out:

drivers/gpu/drm/i915/intel_bios.c +1 -1
-	if (!vbt)
+	if (!vbt) {

  DRM_INFO("Failed to find VBIOS tables (VBT)\n");

drivers/gpu/drm/i915/intel_bios.c

Quoted 2 lines
drivers/gpu/drm/i915/intel_bios.c +2 -0
+		init_vbt_missing_defaults(dev_priv);
+	}

So in case there is no VBT, this will set supports_DP flag

Quoted 8 lines

on
Port A.
What is there is no VBT and there is no eDP on Port A? In this case it will still try to link train on Port A and fail..?
I am not sure if this case exists, but just a thought looking
at it.

It's possible the case exists, but the point is that the behaviour for
the no-VBT case remains the same before and after this patch.

Quoted 7 lines
Quoted 4 lines

BR,
Jani.

Ok agreed. In that case Reviewed-by: Manasi Navare <[email protected]>

Quoted 6 lines

Pushed to drm-intel-next-queued, thanks for the review.

I really hope there are no machines out there that have a crippled
VBT
with no child device config. I guess we'll find out...

I have access to this very interesting machine with DDB version 163 and
a child device size config that's 1 instead of the expected 33.

So what happens here is that since the VBT is supposed to be valid we
don't end up calling init_vbt_missing_defauilts(). We return early from
parse_device_mapping(), which means we don't set vbt.child_dev_num, which means that parse_ddi_port() returns early. So info-

Quoted 1 line

supports_*

stays false, and intel_ddi_init() fails.

Quoted 7 lines
Quoted 4 lines

Given your commit message it seems that we should properly be able to
distinguish between "VBT correctly says that there's no output" and "VBT is drunk and should go home" in order to fix this problem.

I'm not sure it's possible to distinguish between the two. I thought we'd be able to rely on the former.

Are you sure? The code I'm hitting is that child_dev_size != expected size, which translates to "we failed to parse the VBT". Is this exactly what you see in the no-output machines? I would expect no-output machines would have a VBT that actually parses correctly but intentionally leaves you with child_device_num = 0.

Then, what we'd need to do would be to make those parse_something functions return error codes when the VBT was malformed, so we'd be able to differentiate between intentional child_dev_num=0 or parse failures.

Quoted 7 lines

If we have to change
"init_vbt_missing_defaults" to "init_child_dev_missing_defaults", then
we'll never be able to handle the case where vbt correctly states there
are no child devices. :(

Quoted 52 lines

BR,
Jani.

Quoted 47 lines

I can confirm that reverting this patch makes display great again^w^w
work again. So unfortunately I'll have to call regression on this patch.

Quoted 41 lines

BR,
Jani.

Quoted 34 lines

Regards
Manasi

Quoted 27 lines
Quoted 12 lines

If such a case does not exist, then this will solve our problem
of
current failures because leaving defaults on Port A. So in that
case
it lgtm.

Quoted 12 lines

Regards
Manasi

Quoted 8 lines


  if (bios)
  pci_unmap_rom(pdev, bios);
--
2.1.4

--
Jani Nikula, Intel Open Source Technology Center

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

#12 lore raw

Re: [PATCH 2/2] drm/i915/vbt: split out defaults that are set when there is no VBT

Quoted 151 lines · Paulo Zanoni

Em Seg, 2017-03-20 às 11:38 +0200, Jani Nikula escreveu:

Quoted 136 lines · Paulo Zanoni
Quoted 135 lines

Em Ter, 2017-03-14 às 11:09 +0200, Jani Nikula escreveu:

Quoted 113 lines
Quoted 102 lines · Manasi Navare
Quoted 99 lines · Jani Nikula

On Sat, 11 Mar 2017, Manasi Navare <[email protected]

Quoted 1 line
Quoted 81 lines · wrote:
Quoted 73 lines · Jani Nikula

The main thing are the DDI ports. If there's a VBT that says
there are
no outputs, we should trust that, and not have semi- random
defaults. Unfortunately, the defaults have resulted in some
Chromebooks
without VBT to rely on this behaviour, so we split out the
defaults for
the missing VBT case.

Cc Manasi Navare <[email protected]>
Cc Ville Syrjälä <[email protected]>

---
 drivers/gpu/drm/i915/intel_bios.c | 17 ++++++++++++++++-

 1 file changed, 16 insertions(+), 1 deletion(-)
drivers/gpu/drm/i915/intel_bios.c +0 -0
index 710988d72253..639d45c1dd2e 100644
@@ -1341,6 +1341,7 @@ parse_device_mapping(struct
 drm_i915_private *dev_priv,
  	return;
  }


+/* Common defaults which may be overridden by VBT. */ static void
 init_vbt_defaults(struct drm_i915_private *dev_priv) {

drivers/gpu/drm/i915/intel_bios.c +0 -0
@@ -1377,6 +1378,18 @@ init_vbt_defaults(struct
 drm_i915_private *dev_priv)

  &dev_priv-

Quoted 1 line

vbt.ddi_port_info[port];


  info->hdmi_level_shift =
HDMI_LEVEL_SHIFT_UNKNOWN;

drivers/gpu/drm/i915/intel_bios.c +6 -0
+	}
+}
+
+/* Defaults to initialize only if there is no VBT. */
+static void
+init_vbt_missing_defaults(struct drm_i915_private

*dev_priv)

drivers/gpu/drm/i915/intel_bios.c +4 -0
+{
+	enum port port;
+
+	for (port = PORT_A; port < I915_MAX_PORTS;

port++) {

drivers/gpu/drm/i915/intel_bios.c +2 -0
+		struct ddi_vbt_port_info *info =
+			&dev_priv-
Quoted 1 line

vbt.ddi_port_info[port];


  info->supports_dvi = (port != PORT_A && port
!= PORT_E);
  info->supports_hdmi = info-

Quoted 1 line

supports_dvi;

drivers/gpu/drm/i915/intel_bios.c +0 -0
@@ -1516,8 +1529,10 @@ void intel_bios_init(struct
 drm_i915_private *dev_priv)
  	parse_ddi_ports(dev_priv, bdb);


 out:

drivers/gpu/drm/i915/intel_bios.c +1 -1
-	if (!vbt)
+	if (!vbt) {

  DRM_INFO("Failed to find VBIOS tables (VBT)\n");

drivers/gpu/drm/i915/intel_bios.c

Quoted 2 lines
drivers/gpu/drm/i915/intel_bios.c +2 -0
+		init_vbt_missing_defaults(dev_priv);
+	}

So in case there is no VBT, this will set supports_DP flag

Quoted 8 lines

on
Port A.
What is there is no VBT and there is no eDP on Port A? In this case it will still try to link train on Port A and fail..?
I am not sure if this case exists, but just a thought looking
at it.

It's possible the case exists, but the point is that the behaviour for
the no-VBT case remains the same before and after this patch.

Quoted 7 lines
Quoted 4 lines

BR,
Jani.

Ok agreed. In that case Reviewed-by: Manasi Navare <[email protected]>

Quoted 6 lines

Pushed to drm-intel-next-queued, thanks for the review.

I really hope there are no machines out there that have a crippled
VBT
with no child device config. I guess we'll find out...

I have access to this very interesting machine with DDB version 163 and
a child device size config that's 1 instead of the expected 33.

So what happens here is that since the VBT is supposed to be valid we
don't end up calling init_vbt_missing_defauilts(). We return early from
parse_device_mapping(), which means we don't set vbt.child_dev_num, which means that parse_ddi_port() returns early. So info-

Quoted 1 line

supports_*

stays false, and intel_ddi_init() fails.

Quoted 7 lines
Quoted 4 lines

Given your commit message it seems that we should properly be able to
distinguish between "VBT correctly says that there's no output" and "VBT is drunk and should go home" in order to fix this problem.

I'm not sure it's possible to distinguish between the two. I thought we'd be able to rely on the former.

Are you sure? The code I'm hitting is that child_dev_size != expected size, which translates to "we failed to parse the VBT". Is this exactly what you see in the no-output machines? I would expect no-output machines would have a VBT that actually parses correctly but intentionally leaves you with child_device_num = 0.

Quoted 6 lines

Then, what we'd need to do would be to make those parse_something functions return error codes when the VBT was malformed, so we'd be able to differentiate between intentional child_dev_num=0 or parse failures.

In the no-output machine cases, like the SKL desktop with on eDP on Port A, it reports child_device_num=0 and so we should not call the init_vbt_missing_defaults() function at all. I think we need a way to find if the VBT was malformed/parese error.

Regards
Manasi

Quoted 55 lines
Quoted 55 lines

If we have to change
"init_vbt_missing_defaults" to "init_child_dev_missing_defaults", then
we'll never be able to handle the case where vbt correctly states there
are no child devices. :(

BR,
Jani.

Quoted 44 lines

I can confirm that reverting this patch makes display great again^w^w
work again. So unfortunately I'll have to call regression on this patch.

Quoted 38 lines

BR,
Jani.

Quoted 32 lines

Regards
Manasi

Quoted 25 lines
Quoted 24 lines

If such a case does not exist, then this will solve our problem
of
current failures because leaving defaults on Port A. So in that
case
it lgtm.

Regards
Manasi

Quoted 8 lines


  if (bios)
  pci_unmap_rom(pdev, bios);
--
2.1.4

Quoted 4 lines
Quoted 4 lines
Quoted 3 lines
Quoted 3 lines
Quoted 2 lines
Quoted 2 lines

--
Jani Nikula, Intel Open Source Technology Center

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

#13 lore raw

✗ Fi.CI.BAT: failure for drm/i915/vbt: defaults handling for no VBT case

In reply to Jani Nikula
== Series Details ==

== Series Details ==

Series: drm/i915/vbt: defaults handling for no VBT case
URL : https://patchwork.freedesktop.org/series/21061/
State : failure

== Summary ==

Series 21061v1 drm/i915/vbt: defaults handling for no VBT case
https://patchwork.freedesktop.org/api/1.0/series/21061/revisions/1/mbox/

Test gem_exec_flush:

        Subgroup basic-batch-kernel-default-uc:
                pass       -> FAIL       (fi-snb-2600) fdo#100007
Test kms_pipe_crc_basic:
        Subgroup hang-read-crc-pipe-b:
                dmesg-warn -> PASS       (fi-byt-j1900)
Test pm_rpm:
        Subgroup basic-pci-d3-state:
                pass       -> INCOMPLETE (fi-byt-j1900)

fdo#100007 https://bugs.freedesktop.org/show_bug.cgi?id=100007

fi-bdw-5557u     total:278  pass:267  dwarn:0   dfail:0   fail:0   skip:11  time: 462s
fi-bsw-n3050     total:278  pass:239  dwarn:0   dfail:0   fail:0   skip:39  time: 601s
fi-bxt-j4205     total:278  pass:259  dwarn:0   dfail:0   fail:0   skip:19  time: 532s
fi-bxt-t5700     total:278  pass:258  dwarn:0   dfail:0   fail:0   skip:20  time: 556s
fi-byt-j1900     total:241  pass:214  dwarn:0   dfail:0   fail:0   skip:26  time: 0s
fi-byt-n2820     total:278  pass:247  dwarn:0   dfail:0   fail:0   skip:31  time: 503s
fi-hsw-4770      total:278  pass:262  dwarn:0   dfail:0   fail:0   skip:16  time: 436s
fi-hsw-4770r     total:278  pass:262  dwarn:0   dfail:0   fail:0   skip:16  time: 436s
fi-ilk-650       total:278  pass:228  dwarn:0   dfail:0   fail:0   skip:50  time: 445s
fi-ivb-3520m     total:278  pass:260  dwarn:0   dfail:0   fail:0   skip:18  time: 505s
fi-ivb-3770      total:278  pass:260  dwarn:0   dfail:0   fail:0   skip:18  time: 493s
fi-kbl-7500u     total:278  pass:259  dwarn:1   dfail:0   fail:0   skip:18  time: 475s
fi-skl-6260u     total:278  pass:268  dwarn:0   dfail:0   fail:0   skip:10  time: 484s
fi-skl-6700hq    total:278  pass:261  dwarn:0   dfail:0   fail:0   skip:17  time: 587s
fi-skl-6700k     total:278  pass:256  dwarn:4   dfail:0   fail:0   skip:18  time: 491s
fi-skl-6770hq    total:278  pass:268  dwarn:0   dfail:0   fail:0   skip:10  time: 507s
fi-snb-2520m     total:278  pass:250  dwarn:0   dfail:0   fail:0   skip:28  time: 548s
fi-snb-2600      total:278  pass:248  dwarn:0   dfail:0   fail:1   skip:29  time: 431s

2095bbc9d234d71fa44fd9181597431e2653058c drm-tip: 2017y-03m-10d-15h-03m-17s UTC integration manifest d047866 drm/i915/vbt: split out defaults that are set when there is no VBT
d6576e7 drm/i915/vbt: don't propagate errors from intel_bios_init()

== Logs ==

For more details see: https://intel-gfx-ci.01.org/CI/Patchwork_4138/
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

#14 lore raw

✓ Fi.CI.BAT: success for drm/i915/vbt: defaults handling for no VBT case

In reply to Jani Nikula
== Series Details ==

== Series Details ==

Series: drm/i915/vbt: defaults handling for no VBT case
URL : https://patchwork.freedesktop.org/series/21061/
State : success

== Summary ==

Series 21061v1 drm/i915/vbt: defaults handling for no VBT case
https://patchwork.freedesktop.org/api/1.0/series/21061/revisions/1/mbox/

Test gem_exec_flush:

        Subgroup basic-batch-kernel-default-uc:
                fail       -> PASS       (fi-snb-2600) fdo#100007
Test gem_exec_suspend:
        Subgroup basic-s3:
                fail       -> DMESG-WARN (fi-kbl-7500u) fdo#100124
        Subgroup basic-s4-devices:
                fail       -> PASS       (fi-kbl-7500u) fdo#100099
Test kms_pipe_crc_basic:
        Subgroup suspend-read-crc-pipe-a:
                fail       -> PASS       (fi-kbl-7500u) fdo#100123
        Subgroup suspend-read-crc-pipe-b:
                fail       -> PASS       (fi-kbl-7500u) fdo#100123
        Subgroup suspend-read-crc-pipe-c:
                fail       -> PASS       (fi-kbl-7500u) fdo#100044

fdo#100007 https://bugs.freedesktop.org/show_bug.cgi?id=100007
fdo#100124 https://bugs.freedesktop.org/show_bug.cgi?id=100124
fdo#100099 https://bugs.freedesktop.org/show_bug.cgi?id=100099
fdo#100123 https://bugs.freedesktop.org/show_bug.cgi?id=100123
fdo#100044 https://bugs.freedesktop.org/show_bug.cgi?id=100044

fi-bdw-5557u     total:278  pass:267  dwarn:0   dfail:0   fail:0   skip:11  time: 462s
fi-bsw-n3050     total:278  pass:239  dwarn:0   dfail:0   fail:0   skip:39  time: 610s
fi-bxt-j4205     total:278  pass:259  dwarn:0   dfail:0   fail:0   skip:19  time: 528s
fi-bxt-t5700     total:278  pass:258  dwarn:0   dfail:0   fail:0   skip:20  time: 548s
fi-byt-j1900     total:278  pass:251  dwarn:0   dfail:0   fail:0   skip:27  time: 503s
fi-byt-n2820     total:278  pass:247  dwarn:0   dfail:0   fail:0   skip:31  time: 508s
fi-hsw-4770      total:278  pass:262  dwarn:0   dfail:0   fail:0   skip:16  time: 434s
fi-hsw-4770r     total:278  pass:262  dwarn:0   dfail:0   fail:0   skip:16  time: 429s
fi-ilk-650       total:278  pass:228  dwarn:0   dfail:0   fail:0   skip:50  time: 445s
fi-ivb-3520m     total:278  pass:260  dwarn:0   dfail:0   fail:0   skip:18  time: 504s
fi-ivb-3770      total:278  pass:260  dwarn:0   dfail:0   fail:0   skip:18  time: 483s
fi-kbl-7500u     total:278  pass:259  dwarn:1   dfail:0   fail:0   skip:18  time: 471s
fi-skl-6260u     total:278  pass:268  dwarn:0   dfail:0   fail:0   skip:10  time: 475s
fi-skl-6700hq    total:278  pass:261  dwarn:0   dfail:0   fail:0   skip:17  time: 590s
fi-skl-6700k     total:278  pass:256  dwarn:4   dfail:0   fail:0   skip:18  time: 490s
fi-skl-6770hq    total:278  pass:268  dwarn:0   dfail:0   fail:0   skip:10  time: 505s
fi-snb-2520m     total:278  pass:250  dwarn:0   dfail:0   fail:0   skip:28  time: 551s
fi-snb-2600      total:278  pass:249  dwarn:0   dfail:0   fail:0   skip:29  time: 423s

9f5422bbf45b2d8a0bb0538b08335c4ba7c2fba5 drm-tip: 2017y-03m-13d-08h-27m-09s UTC integration manifest f55d292 drm/i915/vbt: split out defaults that are set when there is no VBT
88af841 drm/i915/vbt: don't propagate errors from intel_bios_init()

== Logs ==

For more details see: https://intel-gfx-ci.01.org/CI/Patchwork_4149/
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx