From: Ville Syrjälä <ville.syrj...@linux.intel.com>

Can't see why we'd want the sprite blocking PSR entry.
Mask it out.

Signed-off-by: Ville Syrjälä <ville.syrj...@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_display.c | 4 ++++
 drivers/gpu/drm/i915/display/intel_psr.c     | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c 
b/drivers/gpu/drm/i915/display/intel_display.c
index 5c7fdc82ac22..8eb1572793ef 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -3153,6 +3153,10 @@ static void bdw_set_pipe_misc(const struct 
intel_crtc_state *crtc_state)
        if (DISPLAY_VER(dev_priv) >= 12)
                val |= PIPE_MISC_PIXEL_ROUNDING_TRUNC;
 
+       /* allow PSR with sprite enabled */
+       if (IS_BROADWELL(dev_priv))
+               val |= PIPE_MISC_PSR_MASK_SPRITE_ENABLE;
+
        intel_de_write(dev_priv, PIPE_MISC(crtc->pipe), val);
 }
 
diff --git a/drivers/gpu/drm/i915/display/intel_psr.c 
b/drivers/gpu/drm/i915/display/intel_psr.c
index 97e609365db4..5bb24c1a54d7 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -1409,6 +1409,10 @@ static void intel_psr_enable_source(struct intel_dp 
*intel_dp,
        if (IS_DISPLAY_VER(dev_priv, 9, 10))
                mask |= EDP_PSR_DEBUG_MASK_DISP_REG_WRITE;
 
+       /* allow PSR with sprite enabled */
+       if (IS_HASWELL(dev_priv))
+               mask |= EDP_PSR_DEBUG_MASK_SPRITE_ENABLE;
+
        intel_de_write(dev_priv, psr_debug_reg(dev_priv, cpu_transcoder), mask);
 
        psr_irq_control(intel_dp);
-- 
2.39.3

Reply via email to