[PATCH v2 11/15] drm/panthor: Add the scheduler logical block

Boris Brezillon boris.brezillon at collabora.com
Tue Aug 29 16:36:31 UTC 2023


On Fri, 18 Aug 2023 16:38:57 +0100
Steven Price <steven.price at arm.com> wrote:

> > +/**
> > + * sched_queue_work() - Queue a scheduler work.
> > + * @sched: Scheduler object.
> > + * @wname: Work name.
> > + *
> > + * Conditionally queues a scheduler work if no reset is pending/in-progress.
> > + */
> > +#define sched_queue_work(sched, wname) \
> > +	do { \
> > +		if (sched->reset.in_progress || \  
> 
> Is this missing a '!'? This executes if a reset is in progress.

What?! I wonder how this went unnoticed. I guess the fact I only use
scheduler-level works for user sync object signaling (which are not
used yet) and ping (I'm sure I tested it, but it must have been before I
extended the reset logic...) could explain that, but still...

> 
> > +		    !panthor_device_reset_is_pending((sched)->ptdev)) \
> > +			queue_work((sched)->wq, &(sched)->wname ## _work); \
> > +	} while (0)


More information about the dri-devel mailing list