drm/msm/sde: detect ppdone timeouts and issue ctl reset

Add mechanism to detect pingpong done irq timeouts and report
back to CRTC that errors occurred. On reception of a max count
report panel dead event to the CRTC, which currently logs it.
If panic is enabled, ppdone timeout will trigger a register dump
and panic, if panic is not enabled, we try to recover by issuing
a CTL reset before the next kickoff.

CRs-Fixed: 2005394
Change-Id: I375c18da40754b879829df50c28ed56e4775cb38
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
diff --git a/drivers/gpu/drm/msm/sde/sde_encoder.h b/drivers/gpu/drm/msm/sde/sde_encoder.h
index 82576b4..61435c9 100644
--- a/drivers/gpu/drm/msm/sde/sde_encoder.h
+++ b/drivers/gpu/drm/msm/sde/sde_encoder.h
@@ -24,8 +24,9 @@
 #include "msm_prop.h"
 #include "sde_hw_mdss.h"
 
-#define SDE_ENCODER_FRAME_EVENT_DONE	BIT(0)
-#define SDE_ENCODER_FRAME_EVENT_ERROR	BIT(1)
+#define SDE_ENCODER_FRAME_EVENT_DONE		BIT(0)
+#define SDE_ENCODER_FRAME_EVENT_ERROR		BIT(1)
+#define SDE_ENCODER_FRAME_EVENT_PANEL_DEAD	BIT(2)
 
 /**
  * Encoder functions and data types