Merge "disp: msm: sde: add delay after porches changed" into display-kernel.lnx.5.4
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

commit
6d768e78df
@@ -52,13 +52,16 @@ enum sde_enc_split_role {
|
||||
* @SDE_ENC_ENABLED: Encoder is enabled
|
||||
* @SDE_ENC_ERR_NEEDS_HW_RESET: Encoder is enabled, but requires a hw_reset
|
||||
* to recover from a previous error
|
||||
* @SDE_ENC_TIMING_ENGINE_RECONFIG: Encoder is enabled and timing engine
|
||||
* parameters are updated
|
||||
*/
|
||||
enum sde_enc_enable_state {
|
||||
SDE_ENC_DISABLING,
|
||||
SDE_ENC_DISABLED,
|
||||
SDE_ENC_ENABLING,
|
||||
SDE_ENC_ENABLED,
|
||||
SDE_ENC_ERR_NEEDS_HW_RESET
|
||||
SDE_ENC_ERR_NEEDS_HW_RESET,
|
||||
SDE_ENC_TIMING_ENGINE_RECONFIG,
|
||||
};
|
||||
|
||||
struct sde_encoder_phys;
|
||||
|
@@ -830,6 +830,8 @@ skip_flush:
|
||||
/* ctl_flush & timing engine enable will be triggered by framework */
|
||||
if (phys_enc->enable_state == SDE_ENC_DISABLED)
|
||||
phys_enc->enable_state = SDE_ENC_ENABLING;
|
||||
if (phys_enc->enable_state == SDE_ENC_ENABLED)
|
||||
phys_enc->enable_state = SDE_ENC_TIMING_ENGINE_RECONFIG;
|
||||
}
|
||||
|
||||
static void sde_encoder_phys_vid_destroy(struct sde_encoder_phys *phys_enc)
|
||||
@@ -1120,6 +1122,11 @@ static void sde_encoder_phys_vid_handle_post_kickoff(
|
||||
lock_flags);
|
||||
}
|
||||
phys_enc->enable_state = SDE_ENC_ENABLED;
|
||||
} else if (phys_enc->enable_state == SDE_ENC_TIMING_ENGINE_RECONFIG) {
|
||||
/* add 2 vsync delay for timing engine change */
|
||||
sde_encoder_phys_vid_single_vblank_wait(phys_enc);
|
||||
sde_encoder_phys_vid_single_vblank_wait(phys_enc);
|
||||
phys_enc->enable_state = SDE_ENC_ENABLED;
|
||||
}
|
||||
|
||||
avr_mode = sde_connector_get_qsync_mode(phys_enc->connector);
|
||||
|
Reference in New Issue
Block a user