* [PATCH v2 2/6] drm/i915: move VBT based LVDS presence check to intel_bios.c
2016-02-09 15:29 [PATCH v2 1/6] drm/i915: move VBT based TV presence check to intel_bios.c Jani Nikula
@ 2016-02-09 15:29 ` Jani Nikula
2016-02-09 15:29 ` [PATCH v2 3/6] drm/i915: move VBT based eDP port " Jani Nikula
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Jani Nikula @ 2016-02-09 15:29 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula
Hide knowledge about VBT child devices in intel_bios.c.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/i915_drv.h | 1 +
drivers/gpu/drm/i915/intel_bios.c | 50 ++++++++++++++++++++++++++++++++++++
drivers/gpu/drm/i915/intel_lvds.c | 53 +--------------------------------------
3 files changed, 52 insertions(+), 52 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index cf3ef03856db..24bf770907ae 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -3394,6 +3394,7 @@ extern void intel_i2c_reset(struct drm_device *dev);
int 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);
/* intel_opregion.c */
#ifdef CONFIG_ACPI
diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
index d5e6da01adaa..4f7eba36a849 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -1472,3 +1472,53 @@ bool intel_bios_is_tv_present(struct drm_i915_private *dev_priv)
return false;
}
+
+/**
+ * intel_bios_is_lvds_present - is LVDS present in VBT
+ * @dev_priv: i915 device instance
+ * @i2c_pin: i2c pin for LVDS if present
+ *
+ * Return true if LVDS is present. If no child devices were parsed from VBT,
+ * assume LVDS is present.
+ */
+bool intel_bios_is_lvds_present(struct drm_i915_private *dev_priv, u8 *i2c_pin)
+{
+ int i;
+
+ if (!dev_priv->vbt.child_dev_num)
+ return true;
+
+ for (i = 0; i < dev_priv->vbt.child_dev_num; i++) {
+ union child_device_config *uchild = dev_priv->vbt.child_dev + i;
+ struct old_child_dev_config *child = &uchild->old;
+
+ /* If the device type is not LFP, continue.
+ * We have to check both the new identifiers as well as the
+ * old for compatibility with some BIOSes.
+ */
+ if (child->device_type != DEVICE_TYPE_INT_LFP &&
+ child->device_type != DEVICE_TYPE_LFP)
+ continue;
+
+ if (intel_gmbus_is_valid_pin(dev_priv, child->i2c_pin))
+ *i2c_pin = child->i2c_pin;
+
+ /* However, we cannot trust the BIOS writers to populate
+ * the VBT correctly. Since LVDS requires additional
+ * information from AIM blocks, a non-zero addin offset is
+ * a good indicator that the LVDS is actually present.
+ */
+ if (child->addin_offset)
+ return true;
+
+ /* But even then some BIOS writers perform some black magic
+ * and instantiate the device without reference to any
+ * additional data. Trust that if the VBT was written into
+ * the OpRegion then they have validated the LVDS's existence.
+ */
+ if (dev_priv->opregion.vbt)
+ return true;
+ }
+
+ return false;
+}
diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
index 811ddf7799f0..325acfbc02f3 100644
--- a/drivers/gpu/drm/i915/intel_lvds.c
+++ b/drivers/gpu/drm/i915/intel_lvds.c
@@ -773,57 +773,6 @@ static const struct dmi_system_id intel_no_lvds[] = {
{ } /* terminating entry */
};
-/*
- * Enumerate the child dev array parsed from VBT to check whether
- * the LVDS is present.
- * If it is present, return 1.
- * If it is not present, return false.
- * If no child dev is parsed from VBT, it assumes that the LVDS is present.
- */
-static bool lvds_is_present_in_vbt(struct drm_device *dev,
- u8 *i2c_pin)
-{
- struct drm_i915_private *dev_priv = dev->dev_private;
- int i;
-
- if (!dev_priv->vbt.child_dev_num)
- return true;
-
- for (i = 0; i < dev_priv->vbt.child_dev_num; i++) {
- union child_device_config *uchild = dev_priv->vbt.child_dev + i;
- struct old_child_dev_config *child = &uchild->old;
-
- /* If the device type is not LFP, continue.
- * We have to check both the new identifiers as well as the
- * old for compatibility with some BIOSes.
- */
- if (child->device_type != DEVICE_TYPE_INT_LFP &&
- child->device_type != DEVICE_TYPE_LFP)
- continue;
-
- if (intel_gmbus_is_valid_pin(dev_priv, child->i2c_pin))
- *i2c_pin = child->i2c_pin;
-
- /* However, we cannot trust the BIOS writers to populate
- * the VBT correctly. Since LVDS requires additional
- * information from AIM blocks, a non-zero addin offset is
- * a good indicator that the LVDS is actually present.
- */
- if (child->addin_offset)
- return true;
-
- /* But even then some BIOS writers perform some black magic
- * and instantiate the device without reference to any
- * additional data. Trust that if the VBT was written into
- * the OpRegion then they have validated the LVDS's existence.
- */
- if (dev_priv->opregion.vbt)
- return true;
- }
-
- return false;
-}
-
static int intel_dual_link_lvds_callback(const struct dmi_system_id *id)
{
DRM_INFO("Forcing lvds to dual link mode on %s\n", id->ident);
@@ -980,7 +929,7 @@ void intel_lvds_init(struct drm_device *dev)
}
pin = GMBUS_PIN_PANEL;
- if (!lvds_is_present_in_vbt(dev, &pin)) {
+ if (!intel_bios_is_lvds_present(dev_priv, &pin)) {
if ((lvds & LVDS_PORT_EN) == 0) {
DRM_DEBUG_KMS("LVDS is not present in VBT\n");
return;
--
2.1.4
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 3/6] drm/i915: move VBT based eDP port check to intel_bios.c
2016-02-09 15:29 [PATCH v2 1/6] drm/i915: move VBT based TV presence check to intel_bios.c Jani Nikula
2016-02-09 15:29 ` [PATCH v2 2/6] drm/i915: move VBT based LVDS " Jani Nikula
@ 2016-02-09 15:29 ` Jani Nikula
2016-02-09 15:29 ` [PATCH v2 4/6] drm/i915: move VBT based DSI presence " Jani Nikula
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Jani Nikula @ 2016-02-09 15:29 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula
Hide knowledge about VBT child devices in intel_bios.c.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/i915_drv.h | 1 +
drivers/gpu/drm/i915/intel_bios.c | 33 +++++++++++++++++++++++++++++++++
drivers/gpu/drm/i915/intel_dp.c | 21 +--------------------
3 files changed, 35 insertions(+), 20 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 24bf770907ae..ac66552cb135 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -3395,6 +3395,7 @@ int 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);
+bool intel_bios_is_port_edp(struct drm_i915_private *dev_priv, enum port port);
/* intel_opregion.c */
#ifdef CONFIG_ACPI
diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
index 4f7eba36a849..7f61ca8165f0 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -1522,3 +1522,36 @@ bool intel_bios_is_lvds_present(struct drm_i915_private *dev_priv, u8 *i2c_pin)
return false;
}
+
+/**
+ * intel_bios_is_port_edp - is the device in given port eDP
+ * @dev_priv: i915 device instance
+ * @port: port to check
+ *
+ * Return true if the device in %port is eDP.
+ */
+bool intel_bios_is_port_edp(struct drm_i915_private *dev_priv, enum port port)
+{
+ union child_device_config *p_child;
+ static const short port_mapping[] = {
+ [PORT_B] = DVO_PORT_DPB,
+ [PORT_C] = DVO_PORT_DPC,
+ [PORT_D] = DVO_PORT_DPD,
+ [PORT_E] = DVO_PORT_DPE,
+ };
+ int i;
+
+ if (!dev_priv->vbt.child_dev_num)
+ return false;
+
+ for (i = 0; i < dev_priv->vbt.child_dev_num; i++) {
+ p_child = dev_priv->vbt.child_dev + i;
+
+ if (p_child->common.dvo_port == port_mapping[port] &&
+ (p_child->common.device_type & DEVICE_TYPE_eDP_BITS) ==
+ (DEVICE_TYPE_eDP & DEVICE_TYPE_eDP_BITS))
+ return true;
+ }
+
+ return false;
+}
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index a073f04a5330..9a4cfdf0cd70 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -5065,14 +5065,6 @@ put_power:
bool intel_dp_is_edp(struct drm_device *dev, enum port port)
{
struct drm_i915_private *dev_priv = dev->dev_private;
- union child_device_config *p_child;
- int i;
- static const short port_mapping[] = {
- [PORT_B] = DVO_PORT_DPB,
- [PORT_C] = DVO_PORT_DPC,
- [PORT_D] = DVO_PORT_DPD,
- [PORT_E] = DVO_PORT_DPE,
- };
/*
* eDP not supported on g4x. so bail out early just
@@ -5084,18 +5076,7 @@ bool intel_dp_is_edp(struct drm_device *dev, enum port port)
if (port == PORT_A)
return true;
- if (!dev_priv->vbt.child_dev_num)
- return false;
-
- for (i = 0; i < dev_priv->vbt.child_dev_num; i++) {
- p_child = dev_priv->vbt.child_dev + i;
-
- if (p_child->common.dvo_port == port_mapping[port] &&
- (p_child->common.device_type & DEVICE_TYPE_eDP_BITS) ==
- (DEVICE_TYPE_eDP & DEVICE_TYPE_eDP_BITS))
- return true;
- }
- return false;
+ return intel_bios_is_port_edp(dev_priv, port);
}
void
--
2.1.4
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 4/6] drm/i915: move VBT based DSI presence check to intel_bios.c
2016-02-09 15:29 [PATCH v2 1/6] drm/i915: move VBT based TV presence check to intel_bios.c Jani Nikula
2016-02-09 15:29 ` [PATCH v2 2/6] drm/i915: move VBT based LVDS " Jani Nikula
2016-02-09 15:29 ` [PATCH v2 3/6] drm/i915: move VBT based eDP port " Jani Nikula
@ 2016-02-09 15:29 ` Jani Nikula
2016-02-09 15:29 ` [PATCH v2 5/6] drm/i915/panel: setup pwm backlight based on connector type Jani Nikula
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Jani Nikula @ 2016-02-09 15:29 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula
Hide knowledge about VBT child devices in intel_bios.c.
v2: Move port check to intel_bios.c (Sivakumar)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/i915_drv.h | 2 +-
drivers/gpu/drm/i915/intel_bios.c | 39 ++++++++++++++++++++++++++++++++++++++-
drivers/gpu/drm/i915/intel_dsi.c | 17 ++++++++---------
3 files changed, 47 insertions(+), 11 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index ac66552cb135..9e23a40087ca 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1512,7 +1512,6 @@ struct intel_vbt_data {
/* MIPI DSI */
struct {
- u16 port;
u16 panel_id;
struct mipi_config *config;
struct mipi_pps_data *pps;
@@ -3396,6 +3395,7 @@ 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);
bool intel_bios_is_port_edp(struct drm_i915_private *dev_priv, enum port port);
+bool intel_bios_is_dsi_present(struct drm_i915_private *dev_priv, enum port *port);
/* intel_opregion.c */
#ifdef CONFIG_ACPI
diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
index 7f61ca8165f0..4b6bd6f2e193 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -1237,7 +1237,6 @@ parse_device_mapping(struct drm_i915_private *dev_priv,
&&p_child->common.device_type & DEVICE_TYPE_MIPI_OUTPUT) {
DRM_DEBUG_KMS("Found MIPI as LFP\n");
dev_priv->vbt.has_mipi = 1;
- dev_priv->vbt.dsi.port = p_child->common.dvo_port;
}
child_dev_ptr = dev_priv->vbt.child_dev + count;
@@ -1555,3 +1554,41 @@ bool intel_bios_is_port_edp(struct drm_i915_private *dev_priv, enum port port)
return false;
}
+
+/**
+ * intel_bios_is_dsi_present - is DSI present in VBT
+ * @dev_priv: i915 device instance
+ * @port: port for DSI if present
+ *
+ * Return true if DSI is present, and return the port in %port.
+ */
+bool intel_bios_is_dsi_present(struct drm_i915_private *dev_priv,
+ enum port *port)
+{
+ union child_device_config *p_child;
+ u8 dvo_port;
+ int i;
+
+ for (i = 0; i < dev_priv->vbt.child_dev_num; i++) {
+ p_child = dev_priv->vbt.child_dev + i;
+
+ if (!(p_child->common.device_type & DEVICE_TYPE_MIPI_OUTPUT))
+ continue;
+
+ dvo_port = p_child->common.dvo_port;
+
+ switch (dvo_port) {
+ case DVO_PORT_MIPIA:
+ case DVO_PORT_MIPIC:
+ *port = dvo_port - DVO_PORT_MIPIA;
+ return true;
+ case DVO_PORT_MIPIB:
+ case DVO_PORT_MIPID:
+ DRM_DEBUG_KMS("VBT has unsupported DSI port %c\n",
+ port_name(dvo_port - DVO_PORT_MIPIA));
+ break;
+ }
+ }
+
+ return false;
+}
diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c
index 378f879f4015..185ec5a13cf6 100644
--- a/drivers/gpu/drm/i915/intel_dsi.c
+++ b/drivers/gpu/drm/i915/intel_dsi.c
@@ -1112,7 +1112,7 @@ void intel_dsi_init(struct drm_device *dev)
DRM_DEBUG_KMS("\n");
/* There is no detection method for MIPI so rely on VBT */
- if (!dev_priv->vbt.has_mipi)
+ if (!intel_bios_is_dsi_present(dev_priv, &port))
return;
if (IS_VALLEYVIEW(dev) || IS_CHERRYVIEW(dev)) {
@@ -1153,16 +1153,15 @@ void intel_dsi_init(struct drm_device *dev)
intel_connector->unregister = intel_connector_unregister;
/* Pipe A maps to MIPI DSI port A, pipe B maps to MIPI DSI port C */
- if (dev_priv->vbt.dsi.port == DVO_PORT_MIPIA) {
- intel_encoder->crtc_mask = (1 << PIPE_A);
- intel_dsi->ports = (1 << PORT_A);
- } else if (dev_priv->vbt.dsi.port == DVO_PORT_MIPIC) {
- intel_encoder->crtc_mask = (1 << PIPE_B);
- intel_dsi->ports = (1 << PORT_C);
- }
+ if (port == PORT_A)
+ intel_encoder->crtc_mask = 1 << PIPE_A;
+ else
+ intel_encoder->crtc_mask = 1 << PIPE_B;
if (dev_priv->vbt.dsi.config->dual_link)
- intel_dsi->ports = ((1 << PORT_A) | (1 << PORT_C));
+ intel_dsi->ports = (1 << PORT_A) | (1 << PORT_C);
+ else
+ intel_dsi->ports = 1 << port;
/* Create a DSI host (and a device) for each port. */
for_each_dsi_port(port, intel_dsi->ports) {
--
2.1.4
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 5/6] drm/i915/panel: setup pwm backlight based on connector type
2016-02-09 15:29 [PATCH v2 1/6] drm/i915: move VBT based TV presence check to intel_bios.c Jani Nikula
` (2 preceding siblings ...)
2016-02-09 15:29 ` [PATCH v2 4/6] drm/i915: move VBT based DSI presence " Jani Nikula
@ 2016-02-09 15:29 ` Jani Nikula
2016-02-09 15:29 ` [PATCH v2 6/6] drm/i915/bios: drop has_mipi in favor of intel_bios_is_dsi_present Jani Nikula
2016-02-09 15:46 ` ✗ Fi.CI.BAT: failure for series starting with [v2,1/6] drm/i915: move VBT based TV presence check to intel_bios.c Patchwork
5 siblings, 0 replies; 7+ messages in thread
From: Jani Nikula @ 2016-02-09 15:29 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula
Use the connector type instead of VBT directly to decide which backlight
mechanism to use on VLV/CHV. (Indirectly, this is the same thing, but
hides the VBT use.)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/intel_panel.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
index 21ee6477bf98..f7fbb7c223b1 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -1745,7 +1745,7 @@ intel_panel_init_backlight_funcs(struct intel_panel *panel)
panel->backlight.get = pch_get_backlight;
panel->backlight.hz_to_pwm = pch_hz_to_pwm;
} else if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) {
- if (dev_priv->vbt.has_mipi) {
+ if (connector->base.connector_type == DRM_MODE_CONNECTOR_DSI) {
panel->backlight.setup = pwm_setup_backlight;
panel->backlight.enable = pwm_enable_backlight;
panel->backlight.disable = pwm_disable_backlight;
--
2.1.4
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 6/6] drm/i915/bios: drop has_mipi in favor of intel_bios_is_dsi_present
2016-02-09 15:29 [PATCH v2 1/6] drm/i915: move VBT based TV presence check to intel_bios.c Jani Nikula
` (3 preceding siblings ...)
2016-02-09 15:29 ` [PATCH v2 5/6] drm/i915/panel: setup pwm backlight based on connector type Jani Nikula
@ 2016-02-09 15:29 ` Jani Nikula
2016-02-09 15:46 ` ✗ Fi.CI.BAT: failure for series starting with [v2,1/6] drm/i915: move VBT based TV presence check to intel_bios.c Patchwork
5 siblings, 0 replies; 7+ messages in thread
From: Jani Nikula @ 2016-02-09 15:29 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula
Favor a single point of truth instead of duplicating the information.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/i915_drv.h | 1 -
drivers/gpu/drm/i915/intel_bios.c | 12 +++---------
2 files changed, 3 insertions(+), 10 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 9e23a40087ca..ae22f4bc7a44 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1478,7 +1478,6 @@ struct intel_vbt_data {
unsigned int lvds_use_ssc:1;
unsigned int display_clock_mode:1;
unsigned int fdi_rx_polarity_inverted:1;
- unsigned int has_mipi:1;
int lvds_ssc_freq;
unsigned int bios_lvds_val; /* initial [PCH_]LVDS reg val in VBIOS */
diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
index 4b6bd6f2e193..aa90dc662e7f 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -706,7 +706,7 @@ parse_mipi_config(struct drm_i915_private *dev_priv,
const struct mipi_pps_data *pps;
/* parse MIPI blocks only if LFP type is MIPI */
- if (!dev_priv->vbt.has_mipi)
+ if (!intel_bios_is_dsi_present(dev_priv, NULL))
return;
/* Initialize this to undefined indicating no generic MIPI support */
@@ -1232,13 +1232,6 @@ parse_device_mapping(struct drm_i915_private *dev_priv,
continue;
}
- if (p_child->common.dvo_port >= DVO_PORT_MIPIA
- && p_child->common.dvo_port <= DVO_PORT_MIPID
- &&p_child->common.device_type & DEVICE_TYPE_MIPI_OUTPUT) {
- DRM_DEBUG_KMS("Found MIPI as LFP\n");
- dev_priv->vbt.has_mipi = 1;
- }
-
child_dev_ptr = dev_priv->vbt.child_dev + count;
count++;
@@ -1580,7 +1573,8 @@ bool intel_bios_is_dsi_present(struct drm_i915_private *dev_priv,
switch (dvo_port) {
case DVO_PORT_MIPIA:
case DVO_PORT_MIPIC:
- *port = dvo_port - DVO_PORT_MIPIA;
+ if (port)
+ *port = dvo_port - DVO_PORT_MIPIA;
return true;
case DVO_PORT_MIPIB:
case DVO_PORT_MIPID:
--
2.1.4
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 7+ messages in thread
* ✗ Fi.CI.BAT: failure for series starting with [v2,1/6] drm/i915: move VBT based TV presence check to intel_bios.c
2016-02-09 15:29 [PATCH v2 1/6] drm/i915: move VBT based TV presence check to intel_bios.c Jani Nikula
` (4 preceding siblings ...)
2016-02-09 15:29 ` [PATCH v2 6/6] drm/i915/bios: drop has_mipi in favor of intel_bios_is_dsi_present Jani Nikula
@ 2016-02-09 15:46 ` Patchwork
5 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2016-02-09 15:46 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
== Summary ==
Series 3202v1 Series without cover letter
http://patchwork.freedesktop.org/api/1.0/series/3202/revisions/1/mbox/
Test core_prop_blob:
Subgroup basic:
pass -> INCOMPLETE (skl-i5k-2)
Test drv_getparams_basic:
Subgroup basic-eu-total:
pass -> DMESG-WARN (skl-i5k-2)
Test drv_module_reload_basic:
pass -> INCOMPLETE (skl-i5k-2)
Test gem_basic:
Subgroup bad-close:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup create-close:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup create-fd-close:
pass -> INCOMPLETE (skl-i5k-2)
Test gem_ctx_create:
Subgroup basic:
pass -> DMESG-WARN (skl-i5k-2)
Test gem_ctx_param_basic:
Subgroup basic:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup basic-default:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup invalid-ctx-get:
pass -> DMESG-WARN (skl-i5k-2)
Subgroup invalid-ctx-set:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup invalid-param-get:
pass -> DMESG-WARN (skl-i5k-2)
Subgroup invalid-param-set:
pass -> DMESG-WARN (skl-i5k-2)
Subgroup invalid-size-set:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup non-root-set-no-zeromap:
pass -> DMESG-WARN (skl-i5k-2)
Subgroup root-set:
pass -> DMESG-WARN (skl-i5k-2)
Subgroup root-set-no-zeromap-disabled:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup root-set-no-zeromap-enabled:
pass -> INCOMPLETE (skl-i5k-2)
Test gem_exec_basic:
Subgroup basic-bsd1:
skip -> INCOMPLETE (skl-i5k-2)
Subgroup basic-default:
pass -> INCOMPLETE (skl-i5k-2)
Test gem_exec_parse:
Subgroup basic-allowed:
skip -> INCOMPLETE (skl-i5k-2)
Subgroup basic-rejected:
skip -> INCOMPLETE (skl-i5k-2)
Test gem_flink_basic:
Subgroup bad-flink:
pass -> DMESG-WARN (skl-i5k-2)
Subgroup basic:
pass -> DMESG-WARN (skl-i5k-2)
Test gem_mmap:
Subgroup basic-small-bo:
pass -> INCOMPLETE (skl-i5k-2)
Test gem_mmap_gtt:
Subgroup basic:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup basic-read:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup basic-read-write-distinct:
pass -> DMESG-WARN (skl-i5k-2)
Subgroup basic-small-bo-tiledy:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup basic-write-cpu-read-gtt:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup basic-write-gtt-no-prefault:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup basic-write-no-prefault:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup basic-write-read:
pass -> DMESG-WARN (skl-i5k-2)
Test gem_pread:
Subgroup basic:
pass -> DMESG-WARN (skl-i5k-2)
Test gem_render_linear_blits:
Subgroup basic:
pass -> INCOMPLETE (skl-i5k-2)
Test gem_render_tiled_blits:
Subgroup basic:
pass -> INCOMPLETE (skl-i5k-2)
Test gem_ringfill:
Subgroup basic-default-hang:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup basic-default-interruptible:
pass -> INCOMPLETE (skl-i5k-2)
Test gem_storedw_loop:
Subgroup basic-blt:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup basic-bsd:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup basic-default:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup basic-vebox:
pass -> INCOMPLETE (skl-i5k-2)
Test gem_sync:
Subgroup basic-blt:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup basic-bsd1:
skip -> INCOMPLETE (skl-i5k-2)
Subgroup basic-default:
pass -> SKIP (skl-i5k-2)
Subgroup basic-vebox:
pass -> INCOMPLETE (skl-i5k-2)
Test gem_tiled_fence_blits:
Subgroup basic:
pass -> INCOMPLETE (skl-i5k-2)
Test kms_addfb_basic:
Subgroup addfb25-x-tiled:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup addfb25-x-tiled-mismatch:
pass -> DMESG-WARN (skl-i5k-2)
Subgroup addfb25-y-tiled:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup bad-pitch-32:
pass -> DMESG-WARN (skl-i5k-2)
Subgroup basic:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup bo-too-small:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup framebuffer-vs-set-tiling:
pass -> DMESG-WARN (skl-i5k-2)
Subgroup no-handle:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup tile-pitch-mismatch:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup too-wide:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup unused-handle:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup unused-modifier:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup unused-pitches:
pass -> INCOMPLETE (skl-i5k-2)
Test kms_flip:
Subgroup basic-flip-vs-dpms:
pass -> DMESG-FAIL (skl-i5k-2)
pass -> DMESG-WARN (ilk-hp8440p) UNSTABLE
Subgroup basic-plain-flip:
pass -> DMESG-FAIL (skl-i5k-2)
Test kms_pipe_crc_basic:
Subgroup bad-nb-words-1:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup bad-source:
pass -> DMESG-WARN (skl-i5k-2)
Subgroup hang-read-crc-pipe-b:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup hang-read-crc-pipe-c:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup nonblocking-crc-pipe-a-frame-sequence:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup nonblocking-crc-pipe-b:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup nonblocking-crc-pipe-c:
pass -> DMESG-FAIL (skl-i5k-2)
Subgroup suspend-read-crc-pipe-a:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup suspend-read-crc-pipe-b:
dmesg-warn -> INCOMPLETE (skl-i5k-2)
Subgroup suspend-read-crc-pipe-c:
pass -> INCOMPLETE (skl-i5k-2)
pass -> DMESG-WARN (bsw-nuc-2)
Test pm_backlight:
Subgroup basic-brightness:
skip -> INCOMPLETE (skl-i5k-2)
Test pm_rpm:
Subgroup basic-pci-d3-state:
pass -> INCOMPLETE (skl-i5k-2)
pass -> FAIL (bdw-nuci7)
Subgroup basic-rte:
pass -> DMESG-WARN (byt-nuc) UNSTABLE
Test pm_rps:
Subgroup basic-api:
pass -> INCOMPLETE (skl-i5k-2)
Test prime_self_import:
Subgroup basic-llseek-bad:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup basic-llseek-size:
pass -> DMESG-WARN (skl-i5k-2)
Subgroup basic-with_one_bo:
pass -> DMESG-WARN (skl-i5k-2)
Subgroup basic-with_one_bo_two_files:
pass -> INCOMPLETE (skl-i5k-2)
Subgroup basic-with_two_bos:
pass -> INCOMPLETE (skl-i5k-2)
bdw-nuci7 total:161 pass:151 dwarn:0 dfail:0 fail:1 skip:9
bdw-ultra total:164 pass:152 dwarn:0 dfail:0 fail:0 skip:12
bsw-nuc-2 total:164 pass:135 dwarn:1 dfail:0 fail:0 skip:28
byt-nuc total:164 pass:140 dwarn:1 dfail:0 fail:0 skip:23
hsw-brixbox total:164 pass:151 dwarn:0 dfail:0 fail:0 skip:13
hsw-gt2 total:164 pass:154 dwarn:0 dfail:0 fail:0 skip:10
ilk-hp8440p total:164 pass:115 dwarn:1 dfail:0 fail:0 skip:48
ivb-t430s total:164 pass:150 dwarn:0 dfail:0 fail:0 skip:14
skl-i5k-2 total:164 pass:75 dwarn:18 dfail:3 fail:0 skip:10
snb-dellxps total:164 pass:142 dwarn:0 dfail:0 fail:0 skip:22
Results at /archive/results/CI_IGT_test/Patchwork_1383/
1f4f5acc87d9c2093397076060b1613b486f14d1 drm-intel-nightly: 2016y-02m-09d-14h-30m-13s UTC integration manifest
7cb8a7d477425a042cf5d1b549a2b324dbc1dd91 drm/i915/bios: drop has_mipi in favor of intel_bios_is_dsi_present
b1146c7555c9a45a3e3f91317fcd825b45e3d718 drm/i915/panel: setup pwm backlight based on connector type
514061ef905bf749366f0e6e0fed868e40413622 drm/i915: move VBT based DSI presence check to intel_bios.c
a4e96fd205353659b0fcc76db973b8fe1809d2ff drm/i915: move VBT based eDP port check to intel_bios.c
f62c84c1f83bd0efd561be438997f8e1419747a4 drm/i915: move VBT based LVDS presence check to intel_bios.c
5d9a3c78b8a762ef12eff4c2bf83dac4f67dde6c drm/i915: move VBT based TV presence check to intel_bios.c
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 7+ messages in thread