[Intel-gfx] [PATCH v2] drm/i915/display: Not to try to re-enable PSR after being raised an irq aux error

Gwan-gyeong Mun gwan-gyeong.mun at intel.com
Wed Mar 17 21:26:32 UTC 2021


If an irq aux error happens, it does not need to wait for PSR "IDLE state"
for re-enabling PSR. And it should not try to re-enable PSR.

The PSR interrupt handler sets irq_aux_error when the PSR error happens.
And it schedules the inter_psr_work(). but the current intel_psr_work() can
be scheduled by another PSR internal routine.
Therefore, we should not re-enable PSR after handing irq_aux_error in
intel_psr_work().

v2: Address Jose's review comment.
 - Handling the closing function in the check routine of irq_aux_error.
 - Add a detailed commit message for the scenario.

Cc: José Roberto de Souza <jose.souza at intel.com>
Signed-off-by: Gwan-gyeong Mun <gwan-gyeong.mun at intel.com>
---
 drivers/gpu/drm/i915/display/intel_psr.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
index cd434285e3b7..aba15846e78e 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -1683,8 +1683,10 @@ static void intel_psr_work(struct work_struct *work)
 	if (!intel_dp->psr.enabled)
 		goto unlock;
 
-	if (READ_ONCE(intel_dp->psr.irq_aux_error))
+	if (READ_ONCE(intel_dp->psr.irq_aux_error)) {
 		intel_psr_handle_irq(intel_dp);
+		goto unlock;
+	}
 
 	/*
 	 * We have to make sure PSR is ready for re-enable
-- 
2.30.1



More information about the Intel-gfx mailing list