diff --git a/drivers/accel/rocket/rocket_job.c b/drivers/accel/rocket/rocket_job.c
index 25b31f28e932aaee86173b9a0962932c9c640c03..35172223e063c63e14b33ebd7794c1db7d095755 100644
--- a/drivers/accel/rocket/rocket_job.c
+++ b/drivers/accel/rocket/rocket_job.c
@@ -529,6 +529,15 @@ static irqreturn_t rocket_job_irq_handler(int irq, void *data)
 
 int rocket_job_init(struct rocket_core *core)
 {
+	struct drm_sched_init_args sched_args = {
+		.ops = &rocket_sched_ops,
+		.num_rqs = DRM_SCHED_PRIORITY_COUNT,
+		.credit_limit = 1,
+		.hang_limit = 0,
+		.timeout = msecs_to_jiffies(JOB_TIMEOUT_MS),
+		.name = "rocket",
+		.dev = core->dev,
+	};
 	int ret;
 
 	INIT_WORK(&core->reset.work, rocket_reset_work);
@@ -552,15 +561,12 @@ int rocket_job_init(struct rocket_core *core)
 	if (!core->reset.wq)
 		return -ENOMEM;
 
+	sched_args.timeout_wq = core->reset.wq;
+
 	core->fence_context = dma_fence_context_alloc(1);
 
-	ret = drm_sched_init(&core->sched,
-				&rocket_sched_ops, NULL,
-				DRM_SCHED_PRIORITY_COUNT,
-				1, 0,
-				msecs_to_jiffies(JOB_TIMEOUT_MS),
-				core->reset.wq,
-				NULL, "rocket", core->dev);
+
+	ret = drm_sched_init(&core->sched, &sched_args);
 	if (ret) {
 		dev_err(core->dev, "Failed to create scheduler: %d.", ret);
 		goto err_sched;