[PATCH v2] drm/sched: Use struct for drm_sched_init() params
Danilo Krummrich
dakr at redhat.com
Wed Jan 29 16:50:02 UTC 2025
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;
> > >
More information about the etnaviv
mailing list