diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4339-drm-amdgpu-gpuvm-add-some-additional-comments-in-amd.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4339-drm-amdgpu-gpuvm-add-some-additional-comments-in-amd.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4339-drm-amdgpu-gpuvm-add-some-additional-comments-in-amd.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4339-drm-amdgpu-gpuvm-add-some-additional-comments-in-amd.patch new file mode 100644 index 00000000..1fa8121e --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4339-drm-amdgpu-gpuvm-add-some-additional-comments-in-amd.patch @@ -0,0 +1,48 @@ +From 440816a0d5fc263273fe9fb85d862ea964f99222 Mon Sep 17 00:00:00 2001 +From: Alex Deucher <alexander.deucher@amd.com> +Date: Wed, 30 Oct 2019 13:53:27 -0400 +Subject: [PATCH 4339/4736] drm/amdgpu/gpuvm: add some additional comments in + amdgpu_vm_update_ptes +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +To better clarify what is happening in this function. + +Reviewed-by: Christian König <christian.koenig@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +index d0604167cd74..7c5d9891d89a 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +@@ -1408,6 +1408,9 @@ static int amdgpu_vm_update_ptes(struct amdgpu_vm_update_params *params, + uint64_t incr, entry_end, pe_start; + struct amdgpu_bo *pt; + ++ /* make sure that the page tables covering the address range are ++ * actually allocated ++ */ + r = amdgpu_vm_alloc_pts(params->adev, params->vm, &cursor, + params->direct); + if (r) +@@ -1481,7 +1484,12 @@ static int amdgpu_vm_update_ptes(struct amdgpu_vm_update_params *params, + } while (frag_start < entry_end); + + if (amdgpu_vm_pt_descendant(adev, &cursor)) { +- /* Free all child entries */ ++ /* Free all child entries. ++ * Update the tables with the flags and addresses and free up subsequent ++ * tables in the case of huge pages or freed up areas. ++ * This is the maximum you can free, because all other page tables are not ++ * completely covered by the range and so potentially still in use. ++ */ + while (cursor.pfn < frag_start) { + amdgpu_vm_free_pts(adev, params->vm, &cursor); + amdgpu_vm_pt_next(adev, &cursor); +-- +2.17.1 + |