disp: msm: sde: avoid setting plane qos_dirty during cwb modeset
The encoder modeset updates all the plane's qos_dirty flag attached to the crtc to make sure the qos params are updated during seamless mode-switch cases like fps or resolution switch. But this is not required for cwb encoder modeset as it does not have any effect on the planes attached to the main display. Add check to avoid this reprogramming. Change-Id: I1ab7a71971b7200a50e6643407327734b1c9cbc5 Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

parent
83cb3d44af
commit
1b1618ed36
@@ -2643,7 +2643,13 @@ static void sde_encoder_virt_mode_set(struct drm_encoder *drm_enc,
|
||||
|
||||
sde_enc->crtc = drm_enc->crtc;
|
||||
sde_crtc = to_sde_crtc(drm_enc->crtc);
|
||||
sde_crtc_set_qos_dirty(drm_enc->crtc);
|
||||
|
||||
crtc_state = sde_crtc->base.state;
|
||||
sde_crtc_state = to_sde_crtc_state(crtc_state);
|
||||
|
||||
if (!((sde_enc->disp_info.intf_type == DRM_MODE_CONNECTOR_VIRTUAL) &&
|
||||
((sde_crtc_state->cached_cwb_enc_mask & drm_encoder_mask(drm_enc)))))
|
||||
sde_crtc_set_qos_dirty(drm_enc->crtc);
|
||||
|
||||
/* get and store the mode_info */
|
||||
conn = sde_encoder_get_connector(sde_kms->dev, drm_enc);
|
||||
@@ -2672,8 +2678,6 @@ static void sde_encoder_virt_mode_set(struct drm_encoder *drm_enc,
|
||||
if (ret)
|
||||
return;
|
||||
|
||||
crtc_state = sde_crtc->base.state;
|
||||
sde_crtc_state = to_sde_crtc_state(crtc_state);
|
||||
if ((sde_enc->disp_info.intf_type == DRM_MODE_CONNECTOR_VIRTUAL) &&
|
||||
((sde_crtc_state->cached_cwb_enc_mask & drm_encoder_mask(drm_enc)))) {
|
||||
SDE_EVT32(DRMID(drm_enc), sde_crtc_state->cwb_enc_mask,
|
||||
|
Reference in New Issue
Block a user