diff options
author | Vandana Kannan <vandana.kannan@intel.com> | 2015-01-09 15:55:56 -0500 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2015-01-27 03:50:47 -0500 |
commit | 96178eeb37298a9452f0c4b04f47fafedc7bab47 (patch) | |
tree | 7c4f57033e61ae0f1a2cec44578eb5d44ececf73 /drivers/gpu/drm/i915/i915_drv.h | |
parent | f78ae63f28c3f7de06360c553711fb07abd69734 (diff) |
drm/i915: Modifying structures related to DRRS
Earlier, DRRS structures were specific to eDP (used only in intel_dp).
Since DRRS can be extended to other internal display types
(if the panel supports multiple RR), modifying structures
to be part of drm_i915_private and have a provision to add display related
structs like intel_dp.
Also, aligning with frontbuffer tracking mechanism, the new structure
contains data for busy frontbuffer bits.
Signed-off-by: Vandana Kannan <vandana.kannan@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@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 | 32 |
1 files changed, 24 insertions, 8 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index b5616471f45d..2d3355aa17ac 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h | |||
@@ -777,11 +777,33 @@ struct i915_fbc { | |||
777 | } no_fbc_reason; | 777 | } no_fbc_reason; |
778 | }; | 778 | }; |
779 | 779 | ||
780 | struct i915_drrs { | 780 | /** |
781 | struct intel_connector *connector; | 781 | * HIGH_RR is the highest eDP panel refresh rate read from EDID |
782 | * LOW_RR is the lowest eDP panel refresh rate found from EDID | ||
783 | * parsing for same resolution. | ||
784 | */ | ||
785 | enum drrs_refresh_rate_type { | ||
786 | DRRS_HIGH_RR, | ||
787 | DRRS_LOW_RR, | ||
788 | DRRS_MAX_RR, /* RR count */ | ||
789 | }; | ||
790 | |||
791 | enum drrs_support_type { | ||
792 | DRRS_NOT_SUPPORTED = 0, | ||
793 | STATIC_DRRS_SUPPORT = 1, | ||
794 | SEAMLESS_DRRS_SUPPORT = 2 | ||
782 | }; | 795 | }; |
783 | 796 | ||
784 | struct intel_dp; | 797 | struct intel_dp; |
798 | struct i915_drrs { | ||
799 | struct mutex mutex; | ||
800 | struct delayed_work work; | ||
801 | struct intel_dp *dp; | ||
802 | unsigned busy_frontbuffer_bits; | ||
803 | enum drrs_refresh_rate_type refresh_rate_type; | ||
804 | enum drrs_support_type type; | ||
805 | }; | ||
806 | |||
785 | struct i915_psr { | 807 | struct i915_psr { |
786 | struct mutex lock; | 808 | struct mutex lock; |
787 | bool sink_support; | 809 | bool sink_support; |
@@ -1361,12 +1383,6 @@ struct ddi_vbt_port_info { | |||
1361 | uint8_t supports_dp:1; | 1383 | uint8_t supports_dp:1; |
1362 | }; | 1384 | }; |
1363 | 1385 | ||
1364 | enum drrs_support_type { | ||
1365 | DRRS_NOT_SUPPORTED = 0, | ||
1366 | STATIC_DRRS_SUPPORT = 1, | ||
1367 | SEAMLESS_DRRS_SUPPORT = 2 | ||
1368 | }; | ||
1369 | |||
1370 | enum psr_lines_to_wait { | 1386 | enum psr_lines_to_wait { |
1371 | PSR_0_LINES_TO_WAIT = 0, | 1387 | PSR_0_LINES_TO_WAIT = 0, |
1372 | PSR_1_LINE_TO_WAIT, | 1388 | PSR_1_LINE_TO_WAIT, |