commit:     ca82103ffc4fb31a981fb7671a8251796df0f3fa
Author:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
AuthorDate: Wed May 12 18:40:31 2021 +0000
Commit:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
CommitDate: Wed May 12 18:41:05 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ca82103f

sys-kernel/gentoo-kernel: add amggpu pagesz patch to 5.10.33

Bug: https://bugs.gentoo.org/788847
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>

 .../files/5.10.33-amdgpu-pagesz.patch              | 50 ++++++++++++++++++++++
 .../gentoo-kernel/gentoo-kernel-5.10.33.ebuild     |  1 +
 2 files changed, 51 insertions(+)

diff --git a/sys-kernel/gentoo-kernel/files/5.10.33-amdgpu-pagesz.patch 
b/sys-kernel/gentoo-kernel/files/5.10.33-amdgpu-pagesz.patch
new file mode 100644
index 00000000000..23185919326
--- /dev/null
+++ b/sys-kernel/gentoo-kernel/files/5.10.33-amdgpu-pagesz.patch
@@ -0,0 +1,50 @@
+From 566c6e25f957ebdb0b6e8073ee291049118f47fb Mon Sep 17 00:00:00 2001
+From: Huacai Chen <[email protected]>
+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
+
+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 <[email protected]>
+Signed-off-by: Huacai Chen <[email protected]>
+Link: https://github.com/loongson-community/linux-stable/commit/caa9c0a1
+[Xi: rebased for drm-next, use max_t for checkpatch,
+     and reworded commit message.]
+[[email protected]: backported to apply cleanly to 5.10.33]
+Signed-off-by: Xi Ruoyao <[email protected]>
+BugLink: https://gitlab.freedesktop.org/drm/amd/-/issues/1549
+Tested-by: Dan Horák <[email protected]>
+Reviewed-by: Christian König <[email protected]>
+Signed-off-by: Alex Deucher <[email protected]>
+Cc: [email protected]
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+(limited to 'drivers/gpu/drm/amd/amdgpu')
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
+index 64beb3399604..a4e2cf7cada1 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
+@@ -766,9 +766,9 @@ int amdgpu_info_ioctl(struct drm_device *dev, void *data, 
struct drm_file *filp)
+                       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;
+-- 
+cgit v1.2.1
+

diff --git a/sys-kernel/gentoo-kernel/gentoo-kernel-5.10.33.ebuild 
b/sys-kernel/gentoo-kernel/gentoo-kernel-5.10.33.ebuild
index bd7b42ef34b..7beead52930 100644
--- a/sys-kernel/gentoo-kernel/gentoo-kernel-5.10.33.ebuild
+++ b/sys-kernel/gentoo-kernel/gentoo-kernel-5.10.33.ebuild
@@ -53,6 +53,7 @@ src_prepare() {
        local PATCHES=(
                # meh, genpatches have no directory
                "${WORKDIR}"/*.patch
+               "${FILESDIR}"/5.10.33-amdgpu-pagesz.patch
        )
        default
 

Reply via email to