drm/i915/psr: Prevent PSR exit when a non-pipe related register is written
authorosé Roberto de Souza <jose.souza@intel.com>
Wed, 25 Apr 2018 21:23:31 +0000 (14:23 -0700)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 26 Apr 2018 22:35:06 +0000 (15:35 -0700)
Any write in any display register was causing HW to exit PSR,
masking it to allow more power savings. Writes to pipe related
registers will still cause HW to exit PSR.
This is already masked for PSR2.

It also do not break the Display WA #0884, writes to CURSURFLIVE
are still causing hardware to exit PSR. This was tested in CNL machine
by triggering a write to CURSURFLIVE when a debugfs was read by user.

Bspec: 7721 and 8042

v4: Checked that it do not breaks WA #0884 and added this information
to the commit message.

Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180425212334.21109-1-jose.souza@intel.com
drivers/gpu/drm/i915/intel_psr.c

index 0d548292dd09b1a56125de065ec1cc105aeedc1c..e35a3b94fa6999074f1fdb78a6f6c06e0ce6d824 100644 (file)
@@ -667,7 +667,8 @@ static void hsw_psr_enable_source(struct intel_dp *intel_dp,
                I915_WRITE(EDP_PSR_DEBUG,
                           EDP_PSR_DEBUG_MASK_MEMUP |
                           EDP_PSR_DEBUG_MASK_HPD |
-                          EDP_PSR_DEBUG_MASK_LPSP);
+                          EDP_PSR_DEBUG_MASK_LPSP |
+                          EDP_PSR_DEBUG_MASK_DISP_REG_WRITE);
        }
 }