Re: linux-next: manual merge of the amdgpu tree with the drm-misc tree

From: Christian König
Date: Fri Apr 29 2022 - 06:38:21 EST


Am 29.04.22 um 03:13 schrieb Stephen Rothwell:
Hi all,

On Wed, 13 Apr 2022 10:10:14 +1000 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
On Wed, 6 Apr 2022 10:34:05 +1000 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
Today's linux-next merge of the amdgpu tree got a conflict in:

drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c

between commit:

fee2ede15542 ("drm/ttm: rework bulk move handling v5")

from the drm-misc tree and commit:

184a69ca4d41 ("drm/amdgpu: separate VM PT handling into amdgpu_vm_pt.c")

from the amdgpu tree.

I fixed it up (I used this file from the latter and added the following
patch) 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.

From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Wed, 6 Apr 2022 10:28:53 +1000
Subject: [PATCH] fix up for "drm/ttm: rework bulk move handling v5"

Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c
index 958d7ed97882..a29933fa001f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c
@@ -630,7 +630,14 @@ static void amdgpu_vm_pt_free(struct amdgpu_vm_bo_base *entry)
if (!entry->bo)
return;
+
shadow = amdgpu_bo_shadowed(entry->bo);
+ if (shadow) {
+ ttm_bo_set_bulk_move(&shadow->tbo, NULL);
+ amdgpu_bo_unref(&shadow);
+ }
+
+ ttm_bo_set_bulk_move(&entry->bo->tbo, NULL);
entry->bo->vm_bo = NULL;
list_del(&entry->vm_status);
amdgpu_bo_unref(&shadow);
@@ -653,8 +660,6 @@ static void amdgpu_vm_pt_free_dfs(struct amdgpu_device *adev,
struct amdgpu_vm_pt_cursor cursor;
struct amdgpu_vm_bo_base *entry;
- vm->bulk_moveable = false;
-
for_each_amdgpu_vm_pt_dfs_safe(adev, vm, start, cursor, entry)
amdgpu_vm_pt_free(entry);
--
2.35.1
This is now a conflict between the drm tree and the amdgpu tree.
I noticed that commit 184a69ca4d41 was merged into the drm tree but
only the second hunk of this merge fixup was applied. So is the first
hunk above unnecessary?

Ah! Thanks a lot for noticing this.

And the hunk is absolutely necessary and we already have a bug report that it is missing wondering why I can't reproduce this.

Thanks,
Christian.