drm/msm/sde: update kickoff sequence for command mode

Current command mode sequence configures the ctl_start
on primary controller for frame "N" and does not wait
for any event before updating LM/SSPP for frame "N+1".
This causes the pingpong timeout issue with rsc solver
mode. This patch updates the kickoff sequence with
ctl prepare configuration and ctl_start interrupt wait
before allowing to program the LM/SSP for frame "N+1".

Change-Id: I8108e96cb4a408b7fa8416a3a7694f62171d77b2
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
diff --git a/drivers/gpu/drm/msm/sde/sde_encoder.h b/drivers/gpu/drm/msm/sde/sde_encoder.h
index bd3d68b..c5ddee6 100644
--- a/drivers/gpu/drm/msm/sde/sde_encoder.h
+++ b/drivers/gpu/drm/msm/sde/sde_encoder.h
@@ -104,6 +104,13 @@
 		struct sde_encoder_kickoff_params *params);
 
 /**
+ * sde_encoder_trigger_kickoff_pending - Clear the flush bits from previous
+ *        kickoff and trigger the ctl prepare progress for command mode display.
+ * @encoder:	encoder pointer
+ */
+void sde_encoder_trigger_kickoff_pending(struct drm_encoder *encoder);
+
+/**
  * sde_encoder_kickoff - trigger a double buffer flip of the ctl path
  *	(i.e. ctl flush and start) immediately.
  * @encoder:	encoder pointer