aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_drv.h
diff options
context:
space:
mode:
authorPradeep Bhat <pradeep.bhat@intel.com>2014-03-28 00:44:57 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-04-01 16:58:30 -0400
commit83a7280ebc359726d4b79b8772c9fddd7fd03f43 (patch)
treeeec079b2d4390fa8ea582904e74f476ceb4ae907 /drivers/gpu/drm/i915/i915_drv.h
parentc2d15359c4b5476c181d8a51bdeba4cead15c120 (diff)
drm/i915: Adding VBT fields to support eDP DRRS feature
This patch reads the DRRS support and Mode type from VBT fields. The read information will be stored in VBT struct during BIOS parsing. The above functionality is needed for decision making whether DRRS feature is supported in i915 driver for eDP panels. This information helps us decide if seamless DRRS can be done at runtime to support certain power saving features. This patch was tested by setting necessary bit in VBT struct and merging the new VBT with system BIOS so that we can read the value. v2: Incorporated review comments from Chris Wilson Removed "intel_" as a prefix for DRRS specific declarations. v3: Incorporated Jani's review comments Removed function which deducts drrs mode from panel_type. Modified some print statements. Made changes to use DRRS_NOT_SUPPORTED as 0 instead of -1. v4: Incorporated Jani's review comments. Modifications around setting vbt drrs_type. Signed-off-by: Pradeep Bhat <pradeep.bhat@intel.com> Signed-off-by: Vandana Kannan <vandana.kannan@intel.com> Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org> Cc: Jani Nikula <jani.nikula@linux.intel.com> [danvet: Drop the misleading/redundant comment about the added drrs field in the vbt struct as discussed with Jani on irc.] Reviewed-by: Jani Nikula <jani.nikula@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.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index ff02225d5edd..828886009ef4 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1120,6 +1120,12 @@ struct ddi_vbt_port_info {
1120 uint8_t supports_dp:1; 1120 uint8_t supports_dp:1;
1121}; 1121};
1122 1122
1123enum drrs_support_type {
1124 DRRS_NOT_SUPPORTED = 0,
1125 STATIC_DRRS_SUPPORT = 1,
1126 SEAMLESS_DRRS_SUPPORT = 2
1127};
1128
1123struct intel_vbt_data { 1129struct intel_vbt_data {
1124 struct drm_display_mode *lfp_lvds_vbt_mode; /* if any */ 1130 struct drm_display_mode *lfp_lvds_vbt_mode; /* if any */
1125 struct drm_display_mode *sdvo_lvds_vbt_mode; /* if any */ 1131 struct drm_display_mode *sdvo_lvds_vbt_mode; /* if any */
@@ -1135,6 +1141,8 @@ struct intel_vbt_data {
1135 int lvds_ssc_freq; 1141 int lvds_ssc_freq;
1136 unsigned int bios_lvds_val; /* initial [PCH_]LVDS reg val in VBIOS */ 1142 unsigned int bios_lvds_val; /* initial [PCH_]LVDS reg val in VBIOS */
1137 1143
1144 enum drrs_support_type drrs_type;
1145
1138 /* eDP */ 1146 /* eDP */
1139 int edp_rate; 1147 int edp_rate;
1140 int edp_lanes; 1148 int edp_lanes;