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

Add the PSR interrupt handling code back for HSW. Looks like
the removal was never completed anyway since the irq setup
code was lest untouched.

Signed-off-by: Ville Syrjälä <ville.syrj...@linux.intel.com>
---
 drivers/gpu/drm/i915/i915_irq.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 2b94b8ca8ec9..e1c57ba4f80a 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -1781,6 +1781,20 @@ static void ivb_display_irq_handler(struct 
drm_i915_private *dev_priv,
        if (de_iir & DE_ERR_INT_IVB)
                ivb_err_int_handler(dev_priv);
 
+       if (de_iir & DE_EDP_PSR_INT_HSW) {
+               struct intel_encoder *encoder;
+
+               for_each_intel_encoder_with_psr(&dev_priv->drm, encoder) {
+                       struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
+                       u32 psr_iir;
+
+                       psr_iir = intel_uncore_rmw(&dev_priv->uncore,
+                                                  EDP_PSR_IIR, 0, 0);
+                       intel_psr_irq_handler(intel_dp, psr_iir);
+                       break;
+               }
+       }
+
        if (de_iir & DE_AUX_CHANNEL_A_IVB)
                dp_aux_irq_handler(dev_priv);
 
-- 
2.39.2

Reply via email to