disp: msm: sde: fix imbalance power vote during cwb and dms concurrency
Imbalance power vote caused with below scenario: 1. Primary display running with CWB enabled. 2. Idle-PC has kicked in causing primary and cwb encoder to rc_idle state. 3. Post idle-PC with DMS switch enabled along with CWB. Changes made are to avoid pre_modeset and post_modeset callbacks for CWB encoder as it not required and it puts a unnecessary power vote causing power issues in suspend usecase. Change-Id: I95b7ba093484f50be5f575cafa63a02e8fbca441 Signed-off-by: Jayaprakash Madisetty <jmadiset@codeaurora.org>
This commit is contained in:
parent
73b5bf579d
commit
dbe2279227
@ -2272,9 +2272,9 @@ static int sde_encoder_virt_modeset_rc(struct drm_encoder *drm_enc,
|
||||
|
||||
if (pre_modeset) {
|
||||
intf_mode = sde_encoder_get_intf_mode(drm_enc);
|
||||
if (msm_is_mode_seamless_dms(adj_mode) ||
|
||||
(msm_is_mode_seamless_dyn_clk(adj_mode) &&
|
||||
is_cmd_mode)) {
|
||||
if ((msm_is_mode_seamless_dms(adj_mode) ||
|
||||
msm_is_mode_seamless_dyn_clk(adj_mode)) &&
|
||||
is_cmd_mode) {
|
||||
/* restore resource state before releasing them */
|
||||
ret = sde_encoder_resource_control(drm_enc,
|
||||
SDE_ENC_RC_EVENT_PRE_MODESET);
|
||||
@ -2298,9 +2298,9 @@ static int sde_encoder_virt_modeset_rc(struct drm_encoder *drm_enc,
|
||||
adj_mode);
|
||||
}
|
||||
} else {
|
||||
if (msm_is_mode_seamless_dms(adj_mode) ||
|
||||
(msm_is_mode_seamless_dyn_clk(adj_mode) &&
|
||||
is_cmd_mode))
|
||||
if ((msm_is_mode_seamless_dms(adj_mode) ||
|
||||
msm_is_mode_seamless_dyn_clk(adj_mode)) &&
|
||||
is_cmd_mode)
|
||||
sde_encoder_resource_control(&sde_enc->base,
|
||||
SDE_ENC_RC_EVENT_POST_MODESET);
|
||||
else if (msm_is_mode_seamless_poms(adj_mode))
|
||||
|
Loading…
Reference in New Issue
Block a user