aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_drv.h
diff options
context:
space:
mode:
authorPaulo Zanoni <paulo.r.zanoni@intel.com>2013-09-12 16:06:24 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2013-10-01 01:45:04 -0400
commit6acab15a7b0d2722924c5d671cb29974791beece (patch)
tree5188dbc50100d835c23a9de44d64313c5a2cf5e5 /drivers/gpu/drm/i915/i915_drv.h
parent768f69c9fe601af39dfeb377f45909896f201444 (diff)
drm/i915: use the HDMI DDI buffer translations from VBT
We currently use the recommended values from BSpec, but the VBT specifies the correct value to use for the hardware we have, so use it. We also fall back to the recommended value in case we can't find the VBT. In addition, this code also provides some infrastructure to parse more information about the DDI ports. There's a lot more information we could extract and use in the future. v2: - Move some code to init_vbt_defaults. v3: - Rebase - Clarify the "DVO Port" matching code v4: - Use I915_MAX_PORTS - Change the HAS_DDI checks - Replace DRM_ERROR with DRM_DEBUG_KMS Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_drv.h')
-rw-r--r--drivers/gpu/drm/i915/i915_drv.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 9868a66ef59c..2eca286b57ff 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1057,6 +1057,10 @@ enum modeset_restore {
1057 MODESET_SUSPENDED, 1057 MODESET_SUSPENDED,
1058}; 1058};
1059 1059
1060struct ddi_vbt_port_info {
1061 uint8_t hdmi_level_shift;
1062};
1063
1060struct intel_vbt_data { 1064struct intel_vbt_data {
1061 struct drm_display_mode *lfp_lvds_vbt_mode; /* if any */ 1065 struct drm_display_mode *lfp_lvds_vbt_mode; /* if any */
1062 struct drm_display_mode *sdvo_lvds_vbt_mode; /* if any */ 1066 struct drm_display_mode *sdvo_lvds_vbt_mode; /* if any */
@@ -1091,6 +1095,8 @@ struct intel_vbt_data {
1091 1095
1092 int child_dev_num; 1096 int child_dev_num;
1093 union child_device_config *child_dev; 1097 union child_device_config *child_dev;
1098
1099 struct ddi_vbt_port_info ddi_port_info[I915_MAX_PORTS];
1094}; 1100};
1095 1101
1096enum intel_ddb_partitioning { 1102enum intel_ddb_partitioning {