diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/2878-drm-amdgpu-Fix-unaligned-memory-copies.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.19.8/2878-drm-amdgpu-Fix-unaligned-memory-copies.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/2878-drm-amdgpu-Fix-unaligned-memory-copies.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/2878-drm-amdgpu-Fix-unaligned-memory-copies.patch new file mode 100644 index 00000000..e85e6ec6 --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/2878-drm-amdgpu-Fix-unaligned-memory-copies.patch @@ -0,0 +1,40 @@ +From 0bf98a3e05334750565b6d8ea248f1807f7d22c5 Mon Sep 17 00:00:00 2001 +From: Felix Kuehling <Felix.Kuehling@amd.com> +Date: Sat, 13 Jul 2019 02:35:37 -0400 +Subject: [PATCH 2878/2940] drm/amdgpu: Fix unaligned memory copies +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When starting a new mm_node, the page_offset becomes 0. + +Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com> +Reviewed-by: Alex Deucher <alexander.deucher@amd.com> +Reviewed-by: Christian König <christian.koenig@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +index 24996da3a6ee..12487f99e367 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +@@ -502,6 +502,7 @@ int amdgpu_ttm_copy_mem_to_mem(struct amdgpu_device *adev, + src_node_start = amdgpu_mm_node_addr(src->bo, ++src_mm, + src->mem); + src_node_size = (src_mm->size << PAGE_SHIFT); ++ src_page_offset = 0; + } else { + src_node_start += cur_size; + src_page_offset = src_node_start & (PAGE_SIZE - 1); +@@ -511,6 +512,7 @@ int amdgpu_ttm_copy_mem_to_mem(struct amdgpu_device *adev, + dst_node_start = amdgpu_mm_node_addr(dst->bo, ++dst_mm, + dst->mem); + dst_node_size = (dst_mm->size << PAGE_SHIFT); ++ dst_page_offset = 0; + } else { + dst_node_start += cur_size; + dst_page_offset = dst_node_start & (PAGE_SIZE - 1); +-- +2.17.1 + |