Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bf57c794 authored by Dhaval Patel's avatar Dhaval Patel
Browse files

drm/msm/sde: turn on mdp clock before rsc mode_2 exit



Input touch event handler was turning on sde_rsc
clocks followed by mdss core gdsc without turning on
mdp clock. This sequence may cause the link clock
on failure. Input touch event must also follow the
pre_kickoff sequence due to mmcx dependency.

Change-Id: I35540f07db3c83a76bccbd6247333aa1ec655c17
Signed-off-by: default avatarDhaval Patel <pdhaval@codeaurora.org>
parent 4ab8d223
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -2467,8 +2467,20 @@ static int sde_encoder_resource_control(struct drm_encoder *drm_enc,
						IDLE_POWERCOLLAPSE_DURATION));
		} else if (sde_enc->rc_state == SDE_ENC_RC_STATE_IDLE) {
			/* enable all the clks and resources */
			ret = _sde_encoder_resource_control_helper(drm_enc,
					true);
			if (ret) {
				SDE_ERROR_ENC(sde_enc,
						"sw_event:%d, rc in state %d\n",
						sw_event, sde_enc->rc_state);
				SDE_EVT32(DRMID(drm_enc), sw_event,
						sde_enc->rc_state,
						SDE_EVTLOG_ERROR);
				mutex_unlock(&sde_enc->rc_lock);
				return ret;
			}

			_sde_encoder_resource_control_rsc_update(drm_enc, true);
			_sde_encoder_resource_control_helper(drm_enc, true);

			kthread_mod_delayed_work(&disp_thread->worker,
						&sde_enc->delayed_off_work,