All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/31] IPS/DRRS/PSR rework with PSR enabled by default
@ 2015-11-05 18:49 Rodrigo Vivi
  2015-11-05 18:49 ` [PATCH 01/31] drm/i915: Rename IPS ready variable at pipe config Rodrigo Vivi
                   ` (31 more replies)
  0 siblings, 32 replies; 69+ messages in thread
From: Rodrigo Vivi @ 2015-11-05 18:49 UTC (permalink / raw)
  To: intel-gfx; +Cc: Rodrigo Vivi

Hi all,

The goal of this series is to Enable PSR by default, but in order to do
that first it was necessary to fix few display PM initialization that was
broken after fastboot got enabled by default. Also it was needed to make
sink crc more reliable.

So, divided by topic:

Patches 1-7: IPS reorg/rework
Patches 8-16: DRRS reorg and PSR and DRRS initialization rework.
Patches 17-26: PSR Fixes
Patches 27-30: Let Sink CRC more reliable
Patch 31: Enable PSR by default.

--- Why all in one single series ---

I didn't split the series in different series because there were dependencies
and because they were touching same part of the code. So the rebase in order
is less painful for me than if the patches started getting merged out of order.

--- Why sysfs toggles are here ---

There is a work in progress to add more sysfs interface but with the requirement
to let them organized and documented. But this sysfs toggles were helping me
during debugs and testings a lot so I decided to send them out even before we
finish the design review on the sysfs interfaces etc.
They also help to justify the ips mutex locks. ;)
But I totally understand if the aren't merged at this point.

--- Remaining Known issues ---

1. Features disabled after suspend: There is also a remaining known issue that
is the initilization of these features now rely on the atomic modeset and the
atomic modeset on resume is commiting a zeroed state so the features gets
disabled with suspend/resume and stays disabled until the next full modeset.
Anyway let's start the review and get this
merged and work to fix atomic commit after suspend/resume in parallel.

2. Automated tests as is in this series stil fail on SKL because the aux failure.
There is aux retries patches on the mailing list to work around this issue and
also an investigation in progress to see if aux mutex could help here.

3. Few kms_frontbuffer tests are failing even with PSR disabled so I'm just ignoring
psr-1p-primscrn-cur-indfb-* test results for now.


--- Validated Hardware ---

manual checks, kms_psr_sink_crc and kms_frontbuffer_tracking were used for validation
on different platforms with different kinds of panels:
- Lenovo Yoga 3 (BDW)
- Lenovo T450s (BDW)
- BDW SDP GT3
- BDW SDP ULT
- VLV/BYT
- SKL
- KBL

So I'm confident we can enable PSR back by default now.

All comments, ideas, suggestions and even bikesheddings are pretty welcome.

Thanks,
Rodrigo.

Rodrigo Vivi (31):
  drm/i915: Rename IPS ready variable at pipe config.
  drm/i915: Move IPS related stuff to intel_ips.c
  drm/i915: Add IPS DockBook.
  drm/i915: Handle actual IPS enabled state.
  drm/i915: Fix IPS initialization.
  drm/i915: Fix IPS disable sequence.
  drm/i915: IPS Sysfs interface.
  drm/i915: Add psr_ready on pipe_config
  drm/i915: Only enable DRRS if PSR won't be enabled on this pipe.
  drm/i915: Detatch i915.enable_psr from psr_ready
  drm/i915: Use intel_crtc instead of intel_dp on PSR enable/disable
    functions.
  drm/i915: Fix PSR initialization.
  drm/i915: Organize Makefile new display pm group
  drm/i915: Create intel_drrs.c
  drm/i915: Use intel_crtc instead of intel_dp on DRRS enable/disable
    functions.
  drm/i915: Fix DRRS initialization.
  drm/i915: Add sys PSR toggle interface.
  drm/i915: Force PSR exit when IRQ_HPD is detected on eDP.
  drm/i915: Remove duplicated dpcd write on hsw_psr_enable_sink.
  drm/i915: PSR: Let's rely more on frontbuffer tracking.
  drm/i915: PSR: Mask LPSP hw tracking back again.
  drm/i915: Delay first PSR activation.
  drm/i915: Reduce PSR re-activation time for VLV/CHV.
  drm/i915: PSR: Don't Skip aux handshake on DP_PSR_NO_TRAIN_ON_EXIT.
  drm/i915: Send TP1 TP2/3 even when panel claims no NO_TRAIN_ON_EXIT.
  drm/i915: Fix idle_frames counter.
  drm/i915: Allow 1 vblank to let Sink CRC calculation to start or stop.
  drm/i915: Make Sink crc calculation waiting for counter to reset.
  drm/i915: Stop tracking last calculated Sink CRC.
  drm/i915: Rely on TEST_SINK_START instead of tracking Sink CRC state
    on dev_priv.
  drm/i915: Enable PSR by default.

 Documentation/DocBook/gpu.tmpl           |   5 +
 drivers/gpu/drm/i915/Makefile            |   8 +-
 drivers/gpu/drm/i915/i915_debugfs.c      |  16 +-
 drivers/gpu/drm/i915/i915_drv.h          |   9 +-
 drivers/gpu/drm/i915/i915_params.c       |   4 +-
 drivers/gpu/drm/i915/i915_sysfs.c        | 165 +++++++++++
 drivers/gpu/drm/i915/intel_ddi.c         |   6 +-
 drivers/gpu/drm/i915/intel_display.c     | 190 +++---------
 drivers/gpu/drm/i915/intel_dp.c          | 477 +++----------------------------
 drivers/gpu/drm/i915/intel_drrs.c        | 416 +++++++++++++++++++++++++++
 drivers/gpu/drm/i915/intel_drv.h         |  47 +--
 drivers/gpu/drm/i915/intel_frontbuffer.c |   4 +-
 drivers/gpu/drm/i915/intel_ips.c         | 259 +++++++++++++++++
 drivers/gpu/drm/i915/intel_psr.c         | 201 ++++++++-----
 14 files changed, 1116 insertions(+), 691 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/intel_drrs.c
 create mode 100644 drivers/gpu/drm/i915/intel_ips.c

-- 
2.4.3

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 69+ messages in thread

end of thread, other threads:[~2015-11-19  9:34 UTC | newest]

Thread overview: 69+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-05 18:49 [PATCH 00/31] IPS/DRRS/PSR rework with PSR enabled by default Rodrigo Vivi
2015-11-05 18:49 ` [PATCH 01/31] drm/i915: Rename IPS ready variable at pipe config Rodrigo Vivi
2015-11-05 18:49 ` [PATCH 02/31] drm/i915: Move IPS related stuff to intel_ips.c Rodrigo Vivi
2015-11-05 18:49 ` [PATCH 03/31] drm/i915: Add IPS DockBook Rodrigo Vivi
2015-11-05 18:49 ` [PATCH 04/31] drm/i915: Handle actual IPS enabled state Rodrigo Vivi
2015-11-07 19:19   ` Daniel Stone
2015-11-13 18:20   ` Daniel Stone
2015-11-13 18:38     ` Ville Syrjälä
2015-11-13 18:55       ` Daniel Stone
2015-11-13 20:28         ` Ville Syrjälä
2015-11-13 21:42           ` Daniel Stone
2015-11-05 18:49 ` [PATCH 05/31] drm/i915: Fix IPS initialization Rodrigo Vivi
2015-11-05 18:49 ` [PATCH 06/31] drm/i915: Fix IPS disable sequence Rodrigo Vivi
2015-11-10 16:34   ` Daniel Stone
2015-11-11 23:31     ` Vivi, Rodrigo
2015-11-12 11:24       ` Daniel Stone
2015-11-05 18:49 ` [PATCH 07/31] drm/i915: IPS Sysfs interface Rodrigo Vivi
2015-11-05 21:04   ` Chris Wilson
2015-11-18 10:04     ` Daniel Vetter
2015-11-18 18:32       ` Vivi, Rodrigo
2015-11-09 11:37   ` Daniel Stone
2015-11-05 18:50 ` [PATCH 08/31] drm/i915: Add psr_ready on pipe_config Rodrigo Vivi
2015-11-05 18:50 ` [PATCH 09/31] drm/i915: Only enable DRRS if PSR won't be enabled on this pipe Rodrigo Vivi
2015-11-05 18:50 ` [PATCH 10/31] drm/i915: Detatch i915.enable_psr from psr_ready Rodrigo Vivi
2015-11-18 10:07   ` Daniel Vetter
2015-11-18 18:35     ` Vivi, Rodrigo
2015-11-19  9:19       ` Daniel Vetter
2015-11-05 18:50 ` [PATCH 11/31] drm/i915: Use intel_crtc instead of intel_dp on PSR enable/disable functions Rodrigo Vivi
2015-11-05 18:50 ` [PATCH 12/31] drm/i915: Fix PSR initialization Rodrigo Vivi
2015-11-18 10:12   ` Daniel Vetter
2015-11-18 18:39     ` Vivi, Rodrigo
2015-11-19  9:34       ` Daniel Vetter
2015-11-05 18:50 ` [PATCH 13/31] drm/i915: Organize Makefile new display pm group Rodrigo Vivi
2015-11-05 18:50 ` [PATCH 14/31] drm/i915: Create intel_drrs.c Rodrigo Vivi
2015-11-05 18:50 ` [PATCH 15/31] drm/i915: Use intel_crtc instead of intel_dp on DRRS enable/disable functions Rodrigo Vivi
2015-11-05 18:50 ` [PATCH 16/31] drm/i915: Fix DRRS initialization Rodrigo Vivi
2015-11-18 10:13   ` Daniel Vetter
2015-11-05 18:50 ` [PATCH 17/31] drm/i915: Add sys PSR toggle interface Rodrigo Vivi
2015-11-05 21:03   ` Chris Wilson
2015-11-05 18:50 ` [PATCH 18/31] drm/i915: Force PSR exit when IRQ_HPD is detected on eDP Rodrigo Vivi
2015-11-05 18:50 ` [PATCH 19/31] drm/i915: Remove duplicated dpcd write on hsw_psr_enable_sink Rodrigo Vivi
2015-11-05 18:50 ` [PATCH 20/31] drm/i915: PSR: Let's rely more on frontbuffer tracking Rodrigo Vivi
2015-11-05 18:50 ` [PATCH 21/31] drm/i915: PSR: Mask LPSP hw tracking back again Rodrigo Vivi
2015-11-05 18:50 ` [PATCH 22/31] drm/i915: Delay first PSR activation Rodrigo Vivi
2015-11-05 18:50 ` [PATCH 23/31] drm/i915: Reduce PSR re-activation time for VLV/CHV Rodrigo Vivi
2015-11-05 18:50 ` [PATCH 24/31] drm/i915: PSR: Don't Skip aux handshake on DP_PSR_NO_TRAIN_ON_EXIT Rodrigo Vivi
2015-11-09 10:38   ` Jani Nikula
2015-11-10 15:41     ` Vivi, Rodrigo
2015-11-05 18:50 ` [PATCH 25/31] drm/i915: Send TP1 TP2/3 even when panel claims no NO_TRAIN_ON_EXIT Rodrigo Vivi
2015-11-09 10:39   ` Jani Nikula
2015-11-10 15:42     ` Vivi, Rodrigo
2015-11-05 18:50 ` [PATCH 26/31] drm/i915: Fix idle_frames counter Rodrigo Vivi
2015-11-05 18:50 ` [PATCH 27/31] drm/i915: Allow 1 vblank to let Sink CRC calculation to start or stop Rodrigo Vivi
2015-11-10 20:12   ` Paulo Zanoni
2015-11-05 18:50 ` [PATCH 28/31] drm/i915: Make Sink crc calculation waiting for counter to reset Rodrigo Vivi
2015-11-10 20:31   ` Paulo Zanoni
2015-11-10 21:49     ` Paulo Zanoni
2015-11-18 10:25       ` Daniel Vetter
2015-11-18 18:42         ` Vivi, Rodrigo
2015-11-05 18:50 ` [PATCH 29/31] drm/i915: Stop tracking last calculated Sink CRC Rodrigo Vivi
2015-11-10 21:36   ` Paulo Zanoni
2015-11-05 18:50 ` [PATCH 30/31] drm/i915: Rely on TEST_SINK_START instead of tracking Sink CRC state on dev_priv Rodrigo Vivi
2015-11-10 21:44   ` Paulo Zanoni
2015-11-05 18:50 ` [PATCH 31/31] drm/i915: Enable PSR by default Rodrigo Vivi
2015-11-05 21:07   ` Chris Wilson
2015-11-05 21:30     ` Vivi, Rodrigo
2015-11-09 11:47 ` [PATCH 00/31] IPS/DRRS/PSR rework with PSR enabled " Daniel Stone
2015-11-10 15:57   ` Vivi, Rodrigo
2015-11-10 16:26     ` Daniel Stone

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.