Message ID | 20210329131401.15724766@canb.auug.org.au (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | linux-next: manual merge of the drm tree with Linus' tree | expand |
Hi Stephen, On Mon, Mar 29, 2021 at 4:16 AM Stephen Rothwell <sfr@canb.auug.org.au> wrote: > Today's linux-next merge of the drm tree got a conflict in: > > drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > > between commits: > > 9adb125dde69 ("drm/amdgpu: re-enable suspend phase 2 for S0ix") > 4021229e32bd ("drm/amdgpu/swsmu: skip gfx cgpg on s0ix suspend") > 9bb735abcbd8 ("drm/amdgpu: update comments about s0ix suspend/resume") > > from Linus' tree and commit: > > e3c1b0712fdb ("drm/amdgpu: Reset the devices in the XGMI hive duirng probe") > > from the drm tree. > > I fixed it up (I think - 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_device.c > index 8a5a8ff5d362,0f82c5d21237..000000000000 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > @@@ -2743,16 -2712,15 +2720,25 @@@ static int amdgpu_device_ip_suspend_pha > continue; > } > > + /* skip suspend of gfx and psp for S0ix > + * gfx is in gfxoff state, so on resume it will exit gfxoff just > + * like at runtime. PSP is also part of the always on hardware > + * so no need to suspend it. > + */ > + if (adev->in_s0ix && > + (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_PSP || > + adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_GFX)) > + continue; > + > + /* skip unnecessary suspend if we do not initialize them yet */ > + if (adev->gmc.xgmi.pending_reset && > + !(adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_GMC || > + adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_SMC || > + adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_COMMON || > + adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_IH)) { > + adev->ip_blocks[i].status.hw = false; > + continue; > + } > /* XXX handle errors */ > r = adev->ip_blocks[i].version->funcs->suspend(adev); > /* XXX handle errors */ The above is not what you have in next-20210329? Your tree has a second copy of the first conflict block after the second: /* skip suspend of gfx and psp for S0ix [...] /* skip unnecessary suspend if we do not initialize them yet */ [...] /* skip suspend of gfx and psp for S0ix Gr{oetje,eeting}s, Geert
Hi Geert, On Tue, 30 Mar 2021 09:36:57 +0200 Geert Uytterhoeven <geert@linux-m68k.org> wrote: > > On Mon, Mar 29, 2021 at 4:16 AM Stephen Rothwell <sfr@canb.auug.org.au> wrote: > > Today's linux-next merge of the drm tree got a conflict in: > > > > drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > > > > between commits: > > > > 9adb125dde69 ("drm/amdgpu: re-enable suspend phase 2 for S0ix") > > 4021229e32bd ("drm/amdgpu/swsmu: skip gfx cgpg on s0ix suspend") > > 9bb735abcbd8 ("drm/amdgpu: update comments about s0ix suspend/resume") > > > > from Linus' tree and commit: > > > > e3c1b0712fdb ("drm/amdgpu: Reset the devices in the XGMI hive duirng probe") > > > > from the drm tree. > > > > I fixed it up (I think - 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_device.c > > index 8a5a8ff5d362,0f82c5d21237..000000000000 > > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > > @@@ -2743,16 -2712,15 +2720,25 @@@ static int amdgpu_device_ip_suspend_pha > > continue; > > } > > > > + /* skip suspend of gfx and psp for S0ix > > + * gfx is in gfxoff state, so on resume it will exit gfxoff just > > + * like at runtime. PSP is also part of the always on hardware > > + * so no need to suspend it. > > + */ > > + if (adev->in_s0ix && > > + (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_PSP || > > + adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_GFX)) > > + continue; > > + > > + /* skip unnecessary suspend if we do not initialize them yet */ > > + if (adev->gmc.xgmi.pending_reset && > > + !(adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_GMC || > > + adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_SMC || > > + adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_COMMON || > > + adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_IH)) { > > + adev->ip_blocks[i].status.hw = false; > > + continue; > > + } > > /* XXX handle errors */ > > r = adev->ip_blocks[i].version->funcs->suspend(adev); > > /* XXX handle errors */ > > The above is not what you have in next-20210329? > Your tree has a second copy of the first conflict block after the second: > > /* skip suspend of gfx and psp for S0ix > [...] > /* skip unnecessary suspend if we do not initialize them yet */ > [...] > /* skip suspend of gfx and psp for S0ix > It happened because those commits in Linus' tree are also (as different commits) in the amdgpu tree and so git happily did a new merge resolution and ended up with what you see :-( I'll see if I can fix it up for today.
diff --cc drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index 8a5a8ff5d362,0f82c5d21237..000000000000 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c