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

Commit 2577d176 authored by Dhaval Patel's avatar Dhaval Patel
Browse files

msm: mdss: remove clk off scheduling when commit pending



There can be race condition possible between Early touch
event thread and kickoff thread. For ex:
 -> Eary touch event: Turns on clock and schedule the off
    after 4 vsync cycle.
 -> Kickoff thread: Leaves the clock on
 -> Second touch event: Reschedule the clock off workque

The second touch event call scheduling the clock off
after 4 vsync cycle. On loaded system, kickoff thread
might get intruppted and get chance to rerun after
4 vysnc cycle. The clocks will be turned off for such
use cases before PP done ISR.

Change-Id: I85923146645379be1e3ccc578fc795306cd987ad
Signed-off-by: default avatarDhaval Patel <pdhaval@codeaurora.org>
parent e7b7253a
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -861,8 +861,11 @@ int mdss_mdp_resource_control(struct mdss_mdp_ctl *ctl, u32 sw_event)
		 * 1. Early wakeup cancelled the gate work.
		 * 2. Early wakeup cancelled the off work.
		 * 3. Early wakeup changed the state to ON.
		 *
		 * Driver will not allow off work under one condition:
		 * 1. Kickoff is pending.
		 */
		if (schedule_off) {
		if (schedule_off && !ctl->mfd->validate_pending) {
			/*
			 * Schedule off work after cmd mode idle timeout is
			 * reached. This is to prevent the case where early wake