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 6b6509656f16..1ee98f121a00 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -744,6 +744,10 @@ parse_mipi(struct drm_i915_private *dev_priv, struct bdb_header *bdb)
744 int i, panel_id, seq_size; 744 int i, panel_id, seq_size;
745 u16 block_size; 745 u16 block_size;
746 746
747 /* parse MIPI blocks only if LFP type is MIPI */
748 if (!dev_priv->vbt.has_mipi)
749 return;
750
747 /* Initialize this to undefined indicating no generic MIPI support */ 751 /* Initialize this to undefined indicating no generic MIPI support */
748 dev_priv->vbt.dsi.panel_id = MIPI_DSI_UNDEFINED_PANEL_ID; 752 dev_priv->vbt.dsi.panel_id = MIPI_DSI_UNDEFINED_PANEL_ID;
749 753
@@ -1059,6 +1063,15 @@ parse_device_mapping(struct drm_i915_private *dev_priv,
1059 /* skip the device block if device type is invalid */ 1063 /* skip the device block if device type is invalid */
1060 continue; 1064 continue;
1061 } 1065 }
1066
1067 if (p_child->common.dvo_port >= DVO_PORT_MIPIA
1068 && p_child->common.dvo_port <= DVO_PORT_MIPID
1069 &&p_child->common.device_type & DEVICE_TYPE_MIPI_OUTPUT) {
1070 DRM_DEBUG_KMS("Found MIPI as LFP\n");
1071 dev_priv->vbt.has_mipi = 1;
1072 dev_priv->vbt.dsi.port = p_child->common.dvo_port;
1073 }
1074
1062 child_dev_ptr = dev_priv->vbt.child_dev + count; 1075 child_dev_ptr = dev_priv->vbt.child_dev + count;
1063 count++; 1076 count++;
1064 memcpy((void *)child_dev_ptr, (void *)p_child, 1077 memcpy((void *)child_dev_ptr, (void *)p_child,