aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJani Nikula <jani.nikula@intel.com>2016-03-16 06:43:34 -0400
committerJani Nikula <jani.nikula@intel.com>2016-03-16 12:28:57 -0400
commit7caaef332abaae872ddd2cd65bbe8a8bc0d8f5cc (patch)
tree1acfd0a979526e5a185d5903412a461bdac17960
parent92c4565e93609314b34bb810ba54cb73eb006987 (diff)
drm/i915/bios: drop has_mipi in favor of intel_bios_is_dsi_present
Favor a single point of truth instead of duplicating the information. The change also filters out unsupported DSI ports at this stage, accepting only ports A and C, instead of waiting until the port checks. Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1458125015-7931-6-git-send-email-jani.nikula@intel.com
-rw-r--r--drivers/gpu/drm/i915/i915_drv.h1
-rw-r--r--drivers/gpu/drm/i915/intel_bios.c12
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 f6a84baa02bd..8a10c4b39a7f 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1434,7 +1434,6 @@ struct intel_vbt_data {
1434 unsigned int lvds_use_ssc:1; 1434 unsigned int lvds_use_ssc:1;
1435 unsigned int display_clock_mode:1; 1435 unsigned int display_clock_mode:1;
1436 unsigned int fdi_rx_polarity_inverted:1; 1436 unsigned int fdi_rx_polarity_inverted:1;
1437 unsigned int has_mipi:1;
1438 int lvds_ssc_freq; 1437 int lvds_ssc_freq;
1439 unsigned int bios_lvds_val; /* initial [PCH_]LVDS reg val in VBIOS */ 1438 unsigned int bios_lvds_val; /* initial [PCH_]LVDS reg val in VBIOS */
1440 1439
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,
706 const struct mipi_pps_data *pps; 706 const struct mipi_pps_data *pps;
707 707
708 /* parse MIPI blocks only if LFP type is MIPI */ 708 /* parse MIPI blocks only if LFP type is MIPI */
709 if (!dev_priv->vbt.has_mipi) 709 if (!intel_bios_is_dsi_present(dev_priv, NULL))
710 return; 710 return;
711 711
712 /* Initialize this to undefined indicating no generic MIPI support */ 712 /* Initialize this to undefined indicating no generic MIPI support */
@@ -1232,13 +1232,6 @@ parse_device_mapping(struct drm_i915_private *dev_priv,
1232 continue; 1232 continue;
1233 } 1233 }
1234 1234
1235 if (p_child->common.dvo_port >= DVO_PORT_MIPIA
1236 && p_child->common.dvo_port <= DVO_PORT_MIPID
1237 &&p_child->common.device_type & DEVICE_TYPE_MIPI_OUTPUT) {
1238 DRM_DEBUG_KMS("Found MIPI as LFP\n");
1239 dev_priv->vbt.has_mipi = 1;
1240 }
1241
1242 child_dev_ptr = dev_priv->vbt.child_dev + count; 1235 child_dev_ptr = dev_priv->vbt.child_dev + count;
1243 count++; 1236 count++;
1244 1237
@@ -1580,7 +1573,8 @@ bool intel_bios_is_dsi_present(struct drm_i915_private *dev_priv,
1580 switch (dvo_port) { 1573 switch (dvo_port) {
1581 case DVO_PORT_MIPIA: 1574 case DVO_PORT_MIPIA:
1582 case DVO_PORT_MIPIC: 1575 case DVO_PORT_MIPIC:
1583 *port = dvo_port - DVO_PORT_MIPIA; 1576 if (port)
1577 *port = dvo_port - DVO_PORT_MIPIA;
1584 return true; 1578 return true;
1585 case DVO_PORT_MIPIB: 1579 case DVO_PORT_MIPIB:
1586 case DVO_PORT_MIPID: 1580 case DVO_PORT_MIPID: