Commit 83b501c1 authored by Christian König's avatar Christian König
Browse files

drm/scheduler: remove full_recover from drm_sched_start



This was basically just another one of amdgpus hacks. The parameter
allowed to restart the scheduler without turning fence signaling on
again.

That this is absolutely not a good idea should be obvious by now since
the fences will then just sit there and never signal.

While at it cleanup the code a bit.

Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
Reviewed-by: default avatarMatthew Brost <matthew.brost@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240722083816.99685-1-christian.koenig@amd.com
parent 10ba3753
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -300,7 +300,7 @@ static int suspend_resume_compute_scheduler(struct amdgpu_device *adev, bool sus
			if (r)
				goto out;
		} else {
			drm_sched_start(&ring->sched, false);
			drm_sched_start(&ring->sched);
		}
	}

+2 −2
Original line number Diff line number Diff line
@@ -5862,7 +5862,7 @@ int amdgpu_device_gpu_recover(struct amdgpu_device *adev,
			if (!amdgpu_ring_sched_ready(ring))
				continue;

			drm_sched_start(&ring->sched, true);
			drm_sched_start(&ring->sched);
		}

		if (!drm_drv_uses_atomic_modeset(adev_to_drm(tmp_adev)) && !job_signaled)
@@ -6360,7 +6360,7 @@ void amdgpu_pci_resume(struct pci_dev *pdev)
		if (!amdgpu_ring_sched_ready(ring))
			continue;

		drm_sched_start(&ring->sched, true);
		drm_sched_start(&ring->sched);
	}

	amdgpu_device_unset_mp1_state(adev);
+2 −2
Original line number Diff line number Diff line
@@ -72,12 +72,12 @@ static enum drm_gpu_sched_stat etnaviv_sched_timedout_job(struct drm_sched_job

	drm_sched_resubmit_jobs(&gpu->sched);

	drm_sched_start(&gpu->sched, true);
	drm_sched_start(&gpu->sched);
	return DRM_GPU_SCHED_STAT_NOMINAL;

out_no_timeout:
	/* restart scheduler after GPU is usable again */
	drm_sched_start(&gpu->sched, true);
	drm_sched_start(&gpu->sched);
	return DRM_GPU_SCHED_STAT_NOMINAL;
}

+2 −2
Original line number Diff line number Diff line
@@ -782,7 +782,7 @@ static void pvr_queue_start(struct pvr_queue *queue)
		}
	}

	drm_sched_start(&queue->scheduler, true);
	drm_sched_start(&queue->scheduler);
}

/**
@@ -842,7 +842,7 @@ pvr_queue_timedout_job(struct drm_sched_job *s_job)
	}
	mutex_unlock(&pvr_dev->queues.lock);

	drm_sched_start(sched, true);
	drm_sched_start(sched);

	return DRM_GPU_SCHED_STAT_NOMINAL;
}
+1 −1
Original line number Diff line number Diff line
@@ -463,7 +463,7 @@ static enum drm_gpu_sched_stat lima_sched_timedout_job(struct drm_sched_job *job
	lima_pm_idle(ldev);

	drm_sched_resubmit_jobs(&pipe->base);
	drm_sched_start(&pipe->base, true);
	drm_sched_start(&pipe->base);

	return DRM_GPU_SCHED_STAT_NOMINAL;
}
Loading