Commit 7242795d authored by Rob Clark's avatar Rob Clark
Browse files

drm/msm/gpu: Remove mutex from wait_event condition



The mutex wasn't really protecting anything before.  Before the previous
patch we could still be racing with the scheduler's kthread, as that is
not necessarily frozen yet.  Now that we've parked the sched threads,
the only race is with jobs retiring, and that is harmless, ie.

Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
Link: https://lore.kernel.org/r/20220310234611.424743-4-robdclark@gmail.com
parent 7e4167c9
Loading
Loading
Loading
Loading
+1 −10
Original line number Diff line number Diff line
@@ -607,15 +607,6 @@ static int adreno_runtime_resume(struct device *dev)
	return gpu->funcs->pm_resume(gpu);
}

static int active_submits(struct msm_gpu *gpu)
{
	int active_submits;
	mutex_lock(&gpu->active_lock);
	active_submits = gpu->active_submits;
	mutex_unlock(&gpu->active_lock);
	return active_submits;
}

static int adreno_runtime_suspend(struct device *dev)
{
	struct msm_gpu *gpu = dev_to_gpu(dev);
@@ -669,7 +660,7 @@ static int adreno_system_suspend(struct device *dev)
	suspend_scheduler(gpu);

	remaining = wait_event_timeout(gpu->retire_event,
				       active_submits(gpu) == 0,
				       gpu->active_submits == 0,
				       msecs_to_jiffies(1000));
	if (remaining == 0) {
		dev_err(dev, "Timeout waiting for GPU to suspend\n");