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

From: Christian König <[email-masked]>
Date: Fri, 29 Apr 2022 12:38:07 +0200

Am 29.04.22 um 03:13 schrieb Stephen Rothwell:
> Hi all,
>
> On Wed, 13 Apr 2022 10:10:14 +1000 Stephen Rothwell <[email-masked]> wrote:
>> On Wed, 6 Apr 2022 10:34:05 +1000 Stephen Rothwell <[email-masked]> 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 <[email-masked]>
>>> 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 <[email-masked]>
>>> ---
>>>   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.