On Wed, Jan 29, 2025 at 04:18:30PM +0100, Philipp Stanner wrote: > On Tue, 2025-01-28 at 15:56 +0100, Danilo Krummrich wrote: > > On Tue, Jan 28, 2025 at 03:29:27PM +0100, Philipp Stanner wrote: > > > diff --git a/drivers/gpu/drm/nouveau/nouveau_sched.c > > > b/drivers/gpu/drm/nouveau/nouveau_sched.c > > > index 4412f2711fb5..b5aac8eebfdd 100644 > > > --- a/drivers/gpu/drm/nouveau/nouveau_sched.c > > > +++ b/drivers/gpu/drm/nouveau/nouveau_sched.c > > > @@ -404,7 +404,15 @@ nouveau_sched_init(struct nouveau_sched > > > *sched, struct nouveau_drm *drm, > > > { > > > struct drm_gpu_scheduler *drm_sched = &sched->base; > > > struct drm_sched_entity *entity = &sched->entity; > > > - const long timeout = > > > msecs_to_jiffies(NOUVEAU_SCHED_JOB_TIMEOUT_MS); > > > + const struct drm_sched_init_args args = { > > > + .ops = &nouveau_sched_ops, > > > + .submit_wq = wq, > > > + .num_rqs = DRM_SCHED_PRIORITY_COUNT, > > > + .credit_limit = credit_limit, > > > + .timeout = > > > msecs_to_jiffies(NOUVEAU_SCHED_JOB_TIMEOUT_MS), > > > + .name = "nouveau_sched", > > > + .dev = drm->dev->dev > > > + }; > > > int ret; > > > > > > if (!wq) { > > > @@ -416,10 +424,7 @@ nouveau_sched_init(struct nouveau_sched > > > *sched, struct nouveau_drm *drm, > > > sched->wq = wq; > > Do you want it set here > > args.submit_wq = wq; > > or below, outside the if-block? Should be the same AFAICS Yeah, shouldn't make a difference. Personally, I'd prefer to set it once after the if-block. > > > > > > This change breaks Nouveau, you need to set args.submit_wq here as > > well. > > I overlooked the allocation below. > > > P. > > > > > > } > > > > > > - ret = drm_sched_init(drm_sched, &nouveau_sched_ops, wq, > > > - NOUVEAU_SCHED_PRIORITY_COUNT, > > > - credit_limit, 0, timeout, > > > - NULL, NULL, "nouveau_sched", drm- > > > >dev->dev); > > > + ret = drm_sched_init(drm_sched, &args); > > > if (ret) > > > goto fail_wq; > > >