disp: msm: sde: move HW recovery outside ppdone wait

With posted start enabled SW no longer waits for ppdone events
unless more than one frame is in queue. HW recovery logic relied
on these waits to know when we recover from a timeout. This
change moves the HW recovery SUCCESS event signalling outside of
the wait to ensure this event is sent to user-space regardless
of the status of posted start.

Change-Id: I8896e8126284b415513499723ccf0155ee8bc6a7
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
This commit is contained in:
Steve Cohen
2020-04-22 00:00:30 -04:00
committed by Gerrit - the friendly Code Review server
parent 947fa56080
commit d26bf3c6fd
2 changed files with 25 additions and 19 deletions

View File

@@ -293,6 +293,7 @@ struct sde_encoder_irq {
* programming ROT and MDP fetch start
* @frame_trigger_mode: frame trigger mode indication for command
* mode display
* @recovered: flag set to true when recovered from pp timeout
*/
struct sde_encoder_phys {
struct drm_encoder *parent;
@@ -335,6 +336,7 @@ struct sde_encoder_phys {
bool in_clone_mode;
int vfp_cached;
enum frame_trigger_mode_type frame_trigger_mode;
bool recovered;
};
static inline int sde_encoder_phys_inc_pending(struct sde_encoder_phys *phys)