[PATCH v2 0/8] eDP DRRS based on frontbuffer tracking

Vandana Kannan
2014-12-18T15:15:23Z

This patch series inserts DRRS into frontbuffer tracking mechanism.

1. Previous submission for this feature was designed considering only eDP
DRRS. In this series, apart from following fb tracking, changes have been made
to make structures generic so that it can be of use to any other code
addition to support DRRS with other display types.
2. DRRS support is checked based on VBT setting and panel's capability (if
more than one RR is supported).
3. Based on DRRS support availability, related structures are initialized or
cleaned up through calls from enable/disable DDI respectively.
4. Since flip() indicates busyness, changes have been made to invalidate
DRRS during flip. This changes RR back to preferred mode RR. New work to set
low RR is scheduled after a delay of 1 second.
5. This series includes patches to support RR switching on all platforms.

v2: As discussed with Daniel, discarding the patch which added a module
param to specify the delay before entering DRRS. This delay has been fixed
to 1 second.
The call to invalidate DRRS from page_flip still remains - will be
changed (or kept as is) depending on the behavior on Android..
Right now testing is done using vbltest in libdrm.. But i-g-t for DRRS is WIP.

Durgadoss R (1):
drm/i915: Enable eDP DRRS for CHV

Vandana Kannan (7):
drm/i915: Modifying structures related to DRRS
drm/i915: Initialize DRRS delayed work
drm/i915: Enable/disable DRRS
drm/i915: DRRS calls based on frontbuffer
drm/i915/bdw: Add support for DRRS to switch RR
drm/i915: Support for RR switching on VLV
drm/i915: Add drrs_interval module parameter

drivers/gpu/drm/i915/i915_drv.h | 33 +++--
drivers/gpu/drm/i915/i915_params.c | 8 ++
drivers/gpu/drm/i915/i915_reg.h | 1 +
drivers/gpu/drm/i915/intel_ddi.c | 2 +
drivers/gpu/drm/i915/intel_display.c | 21 ++-
drivers/gpu/drm/i915/intel_dp.c | 217 ++++++++++++++++++++++++++-----
drivers/gpu/drm/i915/intel_drv.h | 26 ++--
drivers/gpu/drm/i915/intel_frontbuffer.c | 2 +
8 files changed, 239 insertions(+), 71 deletions(-)