diff options
author | Jani Nikula <jani.nikula@intel.com> | 2016-03-16 06:43:34 -0400 |
---|---|---|
committer | Jani Nikula <jani.nikula@intel.com> | 2016-03-16 12:28:57 -0400 |
commit | 7caaef332abaae872ddd2cd65bbe8a8bc0d8f5cc (patch) | |
tree | 1acfd0a979526e5a185d5903412a461bdac17960 | |
parent | 92c4565e93609314b34bb810ba54cb73eb006987 (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.h | 1 | ||||
-rw-r--r-- | 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 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: |