Message ID | 20221116104752.4c64495a@canb.auug.org.au (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | linux-next: manual merge of the drm-misc tree with the drm-misc-fixes tree | expand |
Hi all, On Wed, 16 Nov 2022 10:47:52 +1100 Stephen Rothwell <sfr@canb.auug.org.au> wrote: > > Today's linux-next merge of the drm-misc tree got a conflict in: > > drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c > > between commit: > > eca13f3c67b6 ("drm/amdgpu: use the last IB as gang leader v2") > > from the drm-misc-fixes tree and commit: > > 1728baa7e4e6 ("drm/amdgpu: use scheduler dependencies for CS") > > from the drm-misc tree. > > I fixed it up (see below) and can carry the fix as necessary. This > is now fixed as far as linux-next is concerned, but any non trivial > conflicts should be mentioned to your upstream maintainer when your tree > is submitted for merging. You may also want to consider cooperating > with the maintainer of the conflicting tree to minimise any particularly > complex conflicts. > > -- > Cheers, > Stephen Rothwell > > diff --cc drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c > index de5cb056c9ad,0528c2b1db6e..000000000000 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c > @@@ -1197,10 -1201,7 +1203,10 @@@ static int amdgpu_cs_sync_rings(struct > } > > for (i = 0; i < p->gang_size; ++i) { > + if (p->jobs[i] == leader) > + continue; > + > - r = amdgpu_sync_clone(&leader->sync, &p->jobs[i]->sync); > + r = amdgpu_sync_push_to_job(&p->sync, p->jobs[i]); > if (r) > return r; > } > @@@ -1241,14 -1243,11 +1247,14 @@@ static int amdgpu_cs_submit(struct amdg > for (i = 0; i < p->gang_size; ++i) > drm_sched_job_arm(&p->jobs[i]->base); > > - for (i = 0; i < (p->gang_size - 1); ++i) { > + for (i = 0; i < p->gang_size; ++i) { > struct dma_fence *fence; > > + if (p->jobs[i] == leader) > + continue; > + > fence = &p->jobs[i]->base.s_fence->scheduled; > - r = amdgpu_sync_fence(&leader->sync, fence); > + r = drm_sched_job_add_dependency(&leader->base, fence); > if (r) > goto error_cleanup; > } Note that I had to keep the declaration of "leader" in amdgpu_cs_sync_rings().
Am 16.11.22 um 01:25 schrieb Stephen Rothwell: > Hi all, > > On Wed, 16 Nov 2022 10:47:52 +1100 Stephen Rothwell <sfr@canb.auug.org.au> wrote: >> Today's linux-next merge of the drm-misc tree got a conflict in: >> >> drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c >> >> between commit: >> >> eca13f3c67b6 ("drm/amdgpu: use the last IB as gang leader v2") >> >> from the drm-misc-fixes tree and commit: >> >> 1728baa7e4e6 ("drm/amdgpu: use scheduler dependencies for CS") >> >> from the drm-misc tree. >> >> I fixed it up (see below) and can carry the fix as necessary. This >> is now fixed as far as linux-next is concerned, but any non trivial >> conflicts should be mentioned to your upstream maintainer when your tree >> is submitted for merging. You may also want to consider cooperating >> with the maintainer of the conflicting tree to minimise any particularly >> complex conflicts. >> >> -- >> Cheers, >> Stephen Rothwell >> >> diff --cc drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c >> index de5cb056c9ad,0528c2b1db6e..000000000000 >> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c >> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c >> @@@ -1197,10 -1201,7 +1203,10 @@@ static int amdgpu_cs_sync_rings(struct >> } >> >> for (i = 0; i < p->gang_size; ++i) { >> + if (p->jobs[i] == leader) >> + continue; >> + >> - r = amdgpu_sync_clone(&leader->sync, &p->jobs[i]->sync); >> + r = amdgpu_sync_push_to_job(&p->sync, p->jobs[i]); >> if (r) >> return r; >> } >> @@@ -1241,14 -1243,11 +1247,14 @@@ static int amdgpu_cs_submit(struct amdg >> for (i = 0; i < p->gang_size; ++i) >> drm_sched_job_arm(&p->jobs[i]->base); >> >> - for (i = 0; i < (p->gang_size - 1); ++i) { >> + for (i = 0; i < p->gang_size; ++i) { >> struct dma_fence *fence; >> >> + if (p->jobs[i] == leader) >> + continue; >> + >> fence = &p->jobs[i]->base.s_fence->scheduled; >> - r = amdgpu_sync_fence(&leader->sync, fence); >> + r = drm_sched_job_add_dependency(&leader->base, fence); >> if (r) >> goto error_cleanup; >> } > Note that I had to keep the declaration of "leader" in amdgpu_cs_sync_rings(). This and all your other merge resolutions look good to me. And sorry for the noise, drm-tip somehow doesn't seem to work any more and we had a lot of conflicting patches going in through -fixes and -next. Regards, Christian. >
diff --cc drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c index de5cb056c9ad,0528c2b1db6e..000000000000 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c