aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_bios.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915/intel_bios.c')
-rw-r--r--drivers/gpu/drm/i915/intel_bios.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
index 2945f57c53ee..3d43da6d3482 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -720,6 +720,10 @@ parse_mipi(struct drm_i915_private *dev_priv, struct bdb_header *bdb)
720 int i, panel_id, seq_size; 720 int i, panel_id, seq_size;
721 u16 block_size; 721 u16 block_size;
722 722
723 /* parse MIPI blocks only if LFP type is MIPI */
724 if (!dev_priv->vbt.has_mipi)
725 return;
726
723 /* Initialize this to undefined indicating no generic MIPI support */ 727 /* Initialize this to undefined indicating no generic MIPI support */
724 dev_priv->vbt.dsi.panel_id = MIPI_DSI_UNDEFINED_PANEL_ID; 728 dev_priv->vbt.dsi.panel_id = MIPI_DSI_UNDEFINED_PANEL_ID;
725 729
@@ -1035,6 +1039,15 @@ parse_device_mapping(struct drm_i915_private *dev_priv,
1035 /* skip the device block if device type is invalid */ 1039 /* skip the device block if device type is invalid */
1036 continue; 1040 continue;
1037 } 1041 }
1042
1043 if (p_child->common.dvo_port >= DVO_PORT_MIPIA
1044 && p_child->common.dvo_port <= DVO_PORT_MIPID
1045 &&p_child->common.device_type & DEVICE_TYPE_MIPI_OUTPUT) {
1046 DRM_DEBUG_KMS("Found MIPI as LFP\n");
1047 dev_priv->vbt.has_mipi = 1;
1048 dev_priv->vbt.dsi.port = p_child->common.dvo_port;
1049 }
1050
1038 child_dev_ptr = dev_priv->vbt.child_dev + count; 1051 child_dev_ptr = dev_priv->vbt.child_dev + count;
1039 count++; 1052 count++;
1040 memcpy((void *)child_dev_ptr, (void *)p_child, 1053 memcpy((void *)child_dev_ptr, (void *)p_child,