drm/i915/bios: drop has_mipi in favor of intel_bios_is_dsi_present
authorJani Nikula <jani.nikula@intel.com>
Wed, 16 Mar 2016 10:43:34 +0000 (12:43 +0200)
committerJani Nikula <jani.nikula@intel.com>
Wed, 16 Mar 2016 16:28:57 +0000 (18:28 +0200)
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
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/intel_bios.c

index f6a84ba..8a10c4b 100644 (file)
@@ -1434,7 +1434,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 */
 
index 4b6bd6f..aa90dc6 100644 (file)
@@ -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: