Message ID | 20241025132105.2348441-1-boris.brezillon@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/panthor: Fail job creation when the group is dead | expand |
On 25/10/2024 14:21, Boris Brezillon wrote: > Userspace can use GROUP_SUBMIT errors as a trigger to check the group > state and recreate the group if it became unusable. Make sure we > report an error when the group became unusable. > > Fixes: de8548813824 ("drm/panthor: Add the scheduler logical block") > Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by: Steven Price <steven.price@arm.com> > --- > drivers/gpu/drm/panthor/panthor_sched.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/gpu/drm/panthor/panthor_sched.c b/drivers/gpu/drm/panthor/panthor_sched.c > index 423743ad8842..9f02554a20db 100644 > --- a/drivers/gpu/drm/panthor/panthor_sched.c > +++ b/drivers/gpu/drm/panthor/panthor_sched.c > @@ -3678,6 +3678,11 @@ panthor_job_create(struct panthor_file *pfile, > goto err_put_job; > } > > + if (!group_can_run(job->group)) { > + ret = -EINVAL; > + goto err_put_job; > + } > + > if (job->queue_idx >= job->group->queue_count || > !job->group->queues[job->queue_idx]) { > ret = -EINVAL;
On Fri, Oct 25, 2024 at 03:21:05PM +0200, Boris Brezillon wrote: > Userspace can use GROUP_SUBMIT errors as a trigger to check the group > state and recreate the group if it became unusable. Make sure we > report an error when the group became unusable. > > Fixes: de8548813824 ("drm/panthor: Add the scheduler logical block") > Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by: Liviu Dudau <liviu.dudau@arm.com> Best regards, Liviu > --- > drivers/gpu/drm/panthor/panthor_sched.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/gpu/drm/panthor/panthor_sched.c b/drivers/gpu/drm/panthor/panthor_sched.c > index 423743ad8842..9f02554a20db 100644 > --- a/drivers/gpu/drm/panthor/panthor_sched.c > +++ b/drivers/gpu/drm/panthor/panthor_sched.c > @@ -3678,6 +3678,11 @@ panthor_job_create(struct panthor_file *pfile, > goto err_put_job; > } > > + if (!group_can_run(job->group)) { > + ret = -EINVAL; > + goto err_put_job; > + } > + > if (job->queue_idx >= job->group->queue_count || > !job->group->queues[job->queue_idx]) { > ret = -EINVAL; > -- > 2.46.2 >
diff --git a/drivers/gpu/drm/panthor/panthor_sched.c b/drivers/gpu/drm/panthor/panthor_sched.c index 423743ad8842..9f02554a20db 100644 --- a/drivers/gpu/drm/panthor/panthor_sched.c +++ b/drivers/gpu/drm/panthor/panthor_sched.c @@ -3678,6 +3678,11 @@ panthor_job_create(struct panthor_file *pfile, goto err_put_job; } + if (!group_can_run(job->group)) { + ret = -EINVAL; + goto err_put_job; + } + if (job->queue_idx >= job->group->queue_count || !job->group->queues[job->queue_idx]) { ret = -EINVAL;
Userspace can use GROUP_SUBMIT errors as a trigger to check the group state and recreate the group if it became unusable. Make sure we report an error when the group became unusable. Fixes: de8548813824 ("drm/panthor: Add the scheduler logical block") Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> --- drivers/gpu/drm/panthor/panthor_sched.c | 5 +++++ 1 file changed, 5 insertions(+)