Merge "disp: msm: sde: flush esd work before disabling the encoder"

This commit is contained in:
qctecmdr
2021-12-21 07:42:53 -08:00
committed by Gerrit - the friendly Code Review server
2 changed files with 4 additions and 1 deletions

View File

@@ -2769,7 +2769,7 @@ static void sde_connector_check_status_work(struct work_struct *work)
dev = conn->base.dev->dev; dev = conn->base.dev->dev;
if (!conn->ops.check_status || dev->power.is_suspended || if (!conn->ops.check_status || dev->power.is_suspended ||
(conn->dpms_mode != DRM_MODE_DPMS_ON)) { (conn->lp_mode == SDE_MODE_DPMS_OFF)) {
SDE_DEBUG("dpms mode: %d\n", conn->dpms_mode); SDE_DEBUG("dpms mode: %d\n", conn->dpms_mode);
mutex_unlock(&conn->lock); mutex_unlock(&conn->lock);
return; return;

View File

@@ -3069,6 +3069,7 @@ void sde_encoder_virt_reset(struct drm_encoder *drm_enc)
static void sde_encoder_virt_disable(struct drm_encoder *drm_enc) static void sde_encoder_virt_disable(struct drm_encoder *drm_enc)
{ {
struct sde_encoder_virt *sde_enc = NULL; struct sde_encoder_virt *sde_enc = NULL;
struct sde_connector *sde_conn;
struct sde_kms *sde_kms; struct sde_kms *sde_kms;
enum sde_intf_mode intf_mode; enum sde_intf_mode intf_mode;
int ret, i = 0; int ret, i = 0;
@@ -3090,6 +3091,7 @@ static void sde_encoder_virt_disable(struct drm_encoder *drm_enc)
} }
sde_enc = to_sde_encoder_virt(drm_enc); sde_enc = to_sde_encoder_virt(drm_enc);
sde_conn = to_sde_connector(sde_enc->cur_master->connector);
SDE_DEBUG_ENC(sde_enc, "\n"); SDE_DEBUG_ENC(sde_enc, "\n");
sde_kms = sde_encoder_get_kms(&sde_enc->base); sde_kms = sde_encoder_get_kms(&sde_enc->base);
@@ -3106,6 +3108,7 @@ static void sde_encoder_virt_disable(struct drm_encoder *drm_enc)
_sde_encoder_input_handler_unregister(drm_enc); _sde_encoder_input_handler_unregister(drm_enc);
flush_delayed_work(&sde_conn->status_work);
/* /*
* For primary command mode and video mode encoders, execute the * For primary command mode and video mode encoders, execute the
* resource control pre-stop operations before the physical encoders * resource control pre-stop operations before the physical encoders