[Intel-gfx] [PATCH 00/11] HSW/BDW PSR.

Rodrigo Vivi rodrigo.vivi at gmail.com
Fri May 16 02:12:59 CEST 2014


MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hi All,

This series introduces fixes for PSR on HSW and on BDW and "new features"
for PSR on BDW.

The biggest thing on this serie is the introduction of the psr_exit
infrastructure that was actually created for PSR on Baytrail. However
since on Baytrail the HW cannot track absolutelly no screen update lets
put it first to work on HSW and BDW. This brings more reliability to PSR and
make it possible to use even on non GL userspace environments like KDE.

Without this psr_exit infrastructure we will never be able to enable psr by
default because this breaks the userspace for all KDE users.
I understand the possible limitations of this infrastructure, but this is the
best we can do for now.

Other possibilities to solve this issue is let the full control to userspace
over ioctl. I'm thinking about a next rework where userspace could dinamically
switch over some possible PSR levels like:
1 - Full HW control - that works good enough on Gnome HSW and extract the best
                      residency time.
2 - PSR-exit by inactivating - That would be for KDE users
3 - Full SW control - where userspace would control PSR exit/entry flow over\
                      ioctls.

On BDW "new features" there are basically the intorducion of a single frame
update support what in theory improve residency time and also remove
limitations that only affect HSW like DDI only on PORT_A and PSR off when
sprites are in use.

Please help me to get this merged with good suggestions of improvements.
Please do not say just: "that is not good". I know that already. Please provide
good ideas along with the comments.

Thanks in advance,
Rodrigo.

Rodrigo Vivi (11):
  drm/i915: move psr_setup_done to psr struct
  drm/i915: Update PSR on resume.
  drm/i915: Use HAS_PSR to avoid unecessary interactions.
  drm/i915: Don't let update_psr function actually enable PSR.
  drm/i915: Do not try to enable PSR when Panel doesn't suport it.
  drm/i915: Force PSR exit by inactivating it.
  drm/i915: BDW PSR: Add single frame update support.
  drm/i915: BDW PSR: Remove limitations that aren't valid for BDW.
  drm/i915: BDW PSR: Remove DDIA limitation for Broadwell.
  drm/i915: Improve PSR debugfs status.
  drm/i915: PSR HSW: update after enabling sprite.

 drivers/gpu/drm/i915/i915_debugfs.c  |   4 +-
 drivers/gpu/drm/i915/i915_drv.h      |   4 +
 drivers/gpu/drm/i915/i915_gem.c      |   6 ++
 drivers/gpu/drm/i915/i915_reg.h      |   1 +
 drivers/gpu/drm/i915/i915_suspend.c  |   3 +
 drivers/gpu/drm/i915/intel_display.c |  20 ++++-
 drivers/gpu/drm/i915/intel_dp.c      | 153 ++++++++++++++++++++++++++++-------
 drivers/gpu/drm/i915/intel_drv.h     |   4 +-
 drivers/gpu/drm/i915/intel_sprite.c  |   2 +
 9 files changed, 165 insertions(+), 32 deletions(-)

-- 
1.9.0




More information about the Intel-gfx mailing list