Commit 8ab62eda authored by Jiawei Gu's avatar Jiawei Gu Committed by Christian König
Browse files

drm/sched: Add device pointer to drm_gpu_scheduler



Add device pointer so scheduler's printing can use
DRM_DEV_ERROR() instead, which makes life easier under multiple GPU
scenario.

v2: amend all calls of drm_sched_init()
v3: fill dev pointer for all drm_sched_init() calls

Signed-off-by: default avatarJiawei Gu <Jiawei.Gu@amd.com>
Reviewed-by: default avatarAndrey Grodzovsky <andrey.grodzovsky@amd.com>
Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220221095705.5290-1-Jiawei.Gu@amd.com
parent 95ee2a8b
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -2316,7 +2316,9 @@ static int amdgpu_device_init_schedulers(struct amdgpu_device *adev)

		r = drm_sched_init(&ring->sched, &amdgpu_sched_ops,
				   ring->num_hw_submission, amdgpu_job_hang_limit,
				   timeout, adev->reset_domain->wq, ring->sched_score, ring->name);
				   timeout, adev->reset_domain->wq,
				   ring->sched_score, ring->name,
				   adev->dev);
		if (r) {
			DRM_ERROR("Failed to create scheduler on ring %s.\n",
				  ring->name);
+1 −1
Original line number Diff line number Diff line
@@ -195,7 +195,7 @@ int etnaviv_sched_init(struct etnaviv_gpu *gpu)
	ret = drm_sched_init(&gpu->sched, &etnaviv_sched_ops,
			     etnaviv_hw_jobs_limit, etnaviv_job_hang_limit,
			     msecs_to_jiffies(500), NULL, NULL,
			     dev_name(gpu->dev));
			     dev_name(gpu->dev), gpu->dev);
	if (ret)
		return ret;

+1 −1
Original line number Diff line number Diff line
@@ -491,7 +491,7 @@ int lima_sched_pipe_init(struct lima_sched_pipe *pipe, const char *name)
	return drm_sched_init(&pipe->base, &lima_sched_ops, 1,
			      lima_job_hang_limit,
			      msecs_to_jiffies(timeout), NULL,
			      NULL, name);
			      NULL, name, pipe->ldev->dev);
}

void lima_sched_pipe_fini(struct lima_sched_pipe *pipe)
+1 −1
Original line number Diff line number Diff line
@@ -89,7 +89,7 @@ struct msm_ringbuffer *msm_ringbuffer_new(struct msm_gpu *gpu, int id,

	ret = drm_sched_init(&ring->sched, &msm_sched_ops,
			num_hw_submissions, 0, sched_timeout,
			NULL, NULL, to_msm_bo(ring->bo)->name);
			NULL, NULL, to_msm_bo(ring->bo)->name, gpu->dev->dev);
	if (ret) {
		goto fail;
	}
+1 −1
Original line number Diff line number Diff line
@@ -812,7 +812,7 @@ int panfrost_job_init(struct panfrost_device *pfdev)
				     nentries, 0,
				     msecs_to_jiffies(JOB_TIMEOUT_MS),
				     pfdev->reset.wq,
				     NULL, "pan_js");
				     NULL, "pan_js", pfdev->dev);
		if (ret) {
			dev_err(pfdev->dev, "Failed to create scheduler: %d.", ret);
			goto err_sched;
Loading