]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 11 Feb 2022 11:39:14 +0000 (12:39 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 11 Feb 2022 11:39:14 +0000 (12:39 +0100)
added patches:
drm-amdgpu-set-a-suitable-dev_info.gart_page_size.patch

queue-5.10/drm-amdgpu-set-a-suitable-dev_info.gart_page_size.patch [new file with mode: 0644]
queue-5.10/series

diff --git a/queue-5.10/drm-amdgpu-set-a-suitable-dev_info.gart_page_size.patch b/queue-5.10/drm-amdgpu-set-a-suitable-dev_info.gart_page_size.patch
new file mode 100644 (file)
index 0000000..d37b2ff
--- /dev/null
@@ -0,0 +1,52 @@
+From f4d3da72a76a9ce5f57bba64788931686a9dc333 Mon Sep 17 00:00:00 2001
+From: Huacai Chen <chenhc@lemote.com>
+Date: Tue, 30 Mar 2021 23:33:33 +0800
+Subject: drm/amdgpu: Set a suitable dev_info.gart_page_size
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Huacai Chen <chenhc@lemote.com>
+
+commit f4d3da72a76a9ce5f57bba64788931686a9dc333 upstream.
+
+In Mesa, dev_info.gart_page_size is used for alignment and it was
+set to AMDGPU_GPU_PAGE_SIZE(4KB). However, the page table of AMDGPU
+driver requires an alignment on CPU pages.  So, for non-4KB page system,
+gart_page_size should be max_t(u32, PAGE_SIZE, AMDGPU_GPU_PAGE_SIZE).
+
+Signed-off-by: Rui Wang <wangr@lemote.com>
+Signed-off-by: Huacai Chen <chenhc@lemote.com>
+Link: https://github.com/loongson-community/linux-stable/commit/caa9c0a1
+[Xi: rebased for drm-next, use max_t for checkpatch,
+     and reworded commit message.]
+Signed-off-by: Xi Ruoyao <xry111@mengyan1223.wang>
+BugLink: https://gitlab.freedesktop.org/drm/amd/-/issues/1549
+Tested-by: Dan Horák <dan@danny.cz>
+Reviewed-by: Christian König <christian.koenig@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+[Salvatore Bonaccorso: Backport to 5.10.y which does not contain
+a5a52a43eac0 ("drm/amd/amdgpu/amdgpu_kms: Remove 'struct
+drm_amdgpu_info_device dev_info' from the stack") which removes dev_info
+from the stack and places it on the heap.]
+Tested-by: Timothy Pearson <tpearson@raptorengineering.com>
+Signed-off-by: Salvatore Bonaccorso <carnil@debian.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
+@@ -766,9 +766,9 @@ static int amdgpu_info_ioctl(struct drm_
+                       dev_info.high_va_offset = AMDGPU_GMC_HOLE_END;
+                       dev_info.high_va_max = AMDGPU_GMC_HOLE_END | vm_size;
+               }
+-              dev_info.virtual_address_alignment = max((int)PAGE_SIZE, AMDGPU_GPU_PAGE_SIZE);
++              dev_info.virtual_address_alignment = max_t(u32, PAGE_SIZE, AMDGPU_GPU_PAGE_SIZE);
+               dev_info.pte_fragment_size = (1 << adev->vm_manager.fragment_size) * AMDGPU_GPU_PAGE_SIZE;
+-              dev_info.gart_page_size = AMDGPU_GPU_PAGE_SIZE;
++              dev_info.gart_page_size = max_t(u32, PAGE_SIZE, AMDGPU_GPU_PAGE_SIZE);
+               dev_info.cu_active_number = adev->gfx.cu_info.number;
+               dev_info.cu_ao_mask = adev->gfx.cu_info.ao_cu_mask;
+               dev_info.ce_ram_size = adev->gfx.ce_ram_size;
index 6630e708b09a3a5d1608cd1342f6042fc880793e..bc9d1713560f1afbc60a5ce7d82f541227b0ae79 100644 (file)
@@ -9,3 +9,4 @@ net-phy-marvell-fix-mdi-x-polarity-setting-in-88e1118-compatible-phys.patch
 nfs-fix-initialisation-of-nfs_client-cl_flags-field.patch
 nfsd-clamp-write-offsets.patch
 nfsd-fix-offset-type-in-i-o-trace-points.patch
+drm-amdgpu-set-a-suitable-dev_info.gart_page_size.patch