aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_drv.h
diff options
context:
space:
mode:
authorJosé Roberto de Souza <jose.souza@intel.com>2018-11-21 14:54:39 -0800
committerJosé Roberto de Souza <jose.souza@intel.com>2018-11-22 13:51:18 -0800
commit183b8e676db2cbf80c0769e472d045bb602e4ea5 (patch)
tree77b2a0a9904bee7ddcd8414c4f85bf87bf1881a0 /drivers/gpu/drm/i915/i915_drv.h
parentdrm/i915: Do not enable PSR in the next modeset after a error (diff)
downloadlinux-dev-183b8e676db2cbf80c0769e472d045bb602e4ea5.tar.xz
linux-dev-183b8e676db2cbf80c0769e472d045bb602e4ea5.zip
drm/i915: Disable PSR when a PSR aux error happen
While PSR is active hardware will do aux transactions by it self to wakeup sink to receive a new frame when necessary. If that transaction is not acked by sink, hardware will trigger this interruption. So let's disable PSR as it is a hint that there is problem with this sink. The removed FIXME was asking to manually train the link but we don't need to do that as by spec sink should do a short pulse when it is out of sync with source, we just need to make sure it is awaken and the SDP header with PSR inactive set it will trigger the short pulse with a error set in the link status. v3: added workarround to fix scheduled work starvation cause by to frequent PSR error interruption v4: only setting irq_aux_error as we don't care in clear it and not using dev_priv->irq_lock as consequence. v5: rebased: using edp_psr_shift() Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: José Roberto de Souza <jose.souza@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20181121225441.18785-4-jose.souza@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/i915_drv.h')
-rw-r--r--drivers/gpu/drm/i915/i915_drv.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 97cbcb7b016a..f763b30f98d9 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -505,6 +505,7 @@ struct i915_psr {
ktime_t last_entry_attempt;
ktime_t last_exit;
bool sink_not_reliable;
+ bool irq_aux_error;
};
enum intel_pch {