diff options
author | Paulo Zanoni <paulo.r.zanoni@intel.com> | 2013-09-12 16:06:24 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-10-01 01:45:04 -0400 |
commit | 6acab15a7b0d2722924c5d671cb29974791beece (patch) | |
tree | 5188dbc50100d835c23a9de44d64313c5a2cf5e5 /drivers/gpu/drm/i915/i915_drv.h | |
parent | 768f69c9fe601af39dfeb377f45909896f201444 (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.h | 6 |
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 | ||
1060 | struct ddi_vbt_port_info { | ||
1061 | uint8_t hdmi_level_shift; | ||
1062 | }; | ||
1063 | |||
1060 | struct intel_vbt_data { | 1064 | struct 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 | ||
1096 | enum intel_ddb_partitioning { | 1102 | enum intel_ddb_partitioning { |