On 16/01/2025 10:02, Philipp Stanner wrote: > On Mon, 2025-01-13 at 10:33 +0000, Tvrtko Ursulin wrote: >> Instead of manually peeking into the DRM scheduler implementation >> details >> lets use the previously added helper. >> >> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxx> >> Cc: Christian König <christian.koenig@xxxxxxx> >> Cc: Danilo Krummrich <dakr@xxxxxxxxxx> >> Cc: Matthew Brost <matthew.brost@xxxxxxxxx> >> Cc: Philipp Stanner <pstanner@xxxxxxxxxx> >> Cc: Frank Binns <frank.binns@xxxxxxxxxx> >> Cc: Matt Coster <matt.coster@xxxxxxxxxx> >> Reviewed-by: Matt Coster <matt.coster@xxxxxxxxxx> > > Matt, just to be sure, you're OK with me pulling those two into drm- > misc-next, aren't you? Yup, all good! Thanks for checking :) -- Matt Coster E: matt.coster@xxxxxxxxxx > > P. > >> --- >> drivers/gpu/drm/imagination/pvr_job.c | 12 +++--------- >> 1 file changed, 3 insertions(+), 9 deletions(-) >> >> diff --git a/drivers/gpu/drm/imagination/pvr_job.c >> b/drivers/gpu/drm/imagination/pvr_job.c >> index 618503a212a7..1cdb3cfd058d 100644 >> --- a/drivers/gpu/drm/imagination/pvr_job.c >> +++ b/drivers/gpu/drm/imagination/pvr_job.c >> @@ -597,8 +597,6 @@ update_job_resvs_for_each(struct pvr_job_data >> *job_data, u32 job_count) >> static bool can_combine_jobs(struct pvr_job *a, struct pvr_job *b) >> { >> struct pvr_job *geom_job = a, *frag_job = b; >> - struct dma_fence *fence; >> - unsigned long index; >> >> /* Geometry and fragment jobs can be combined if they are >> queued to the >> * same context and targeting the same HWRT. >> @@ -609,13 +607,9 @@ static bool can_combine_jobs(struct pvr_job *a, >> struct pvr_job *b) >> a->hwrt != b->hwrt) >> return false; >> >> - xa_for_each(&frag_job->base.dependencies, index, fence) { >> - /* We combine when we see an explicit geom -> frag >> dep. */ >> - if (&geom_job->base.s_fence->scheduled == fence) >> - return true; >> - } >> - >> - return false; >> + /* We combine when we see an explicit geom -> frag dep. */ >> + return drm_sched_job_has_dependency(&frag_job->base, >> + &geom_job->base.s_fence- >>> scheduled); >> } >> >> static struct dma_fence * >
Attachment:
OpenPGP_signature.asc
Description: OpenPGP digital signature