[PATCH] drm/amdgpu: fix amdgpu_vm_clear_freed

Zhang, Jerry (Junwei) Jerry.Zhang at amd.com
Thu Apr 20 06:12:52 UTC 2017


On 04/20/2017 01:49 PM, Zhang, Jerry (Junwei) wrote:
> On 04/19/2017 10:07 PM, Christian König wrote:
>> From: Christian König <christian.koenig at amd.com>
>>
>> Use amdgpu_vm_bo_update_mapping() instead of amdgpu_vm_bo_split_mapping() here.
>>
>> We don't want any flags set in the cleared areas and splitting
>> should be unnecessary.
>
> Yeah, the mappings in the freed list are split already, I think.
>
>>
>> Signed-off-by: Christian König <christian.koenig at amd.com>
>> ---
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 5 +++--
>>   1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>> index 9017b51..27af436 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>> @@ -1631,8 +1631,9 @@ int amdgpu_vm_clear_freed(struct amdgpu_device *adev,
>>               struct amdgpu_bo_va_mapping, list);
>>           list_del(&mapping->list);
>>
>> -        r = amdgpu_vm_bo_split_mapping(adev, NULL, 0, NULL, vm, mapping,
>> -                           0, 0, &f);
>> +        r = amdgpu_vm_bo_update_mapping(adev, NULL, 0, NULL, vm,
>> +                        mapping->start, mapping->last,
>> +                        0, 0, &f);
>
> We may also pass the offset for updating.
> +        r = amdgpu_vm_bo_update_mapping(adev, NULL, 0, NULL, vm,
> +                        mapping->start, mapping->last,
> +                        0, mapping->offset, &f);

Checking it more, the offset is not key value for clear op, as it's invalid 
then regardless of the address bit inside the PTE.

So,
Reviewed-by: Junwei Zhang <Jerry.Zhang at amd.com>

>
> Jerry
>
>>           amdgpu_vm_free_mapping(adev, vm, mapping, f);
>>           if (r) {
>>               fence_put(f);
>>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx


More information about the amd-gfx mailing list