Merge #18237: ati_drivers_x11: patch for kernel 4.6

This commit is contained in:
Vladimír Čunát 2016-09-17 01:24:34 +02:00
commit 12a45a8496
3 changed files with 46 additions and 2 deletions

View File

@ -73,8 +73,11 @@ stdenv.mkDerivation rec {
./patches/15.9-kcl_str.patch
./patches/15.9-mtrr.patch
./patches/15.9-preempt.patch
./patches/15.9-sep_printf.patch
];
./patches/15.9-sep_printf.patch ]
++ optionals ( kernel != null &&
(builtins.compareVersions kernel.version "4.6") >= 0 )
[ ./patches/kernel-4.6-get_user_pages.patch
./patches/kernel-4.6-page_cache_release-put_page.patch ];
buildInputs =
[ xorg.libXrender xorg.libXext xorg.libX11 xorg.libXinerama xorg.libSM

View File

@ -0,0 +1,25 @@
diff --git a/common/lib/modules/fglrx/build_mod/firegl_public.c b/common/lib/modules/fglrx/build_mod/firegl_public.c
index 9c70211..b2242af 100755
--- a/common/lib/modules/fglrx/build_mod/firegl_public.c
+++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
@@ -3220,7 +3220,7 @@ int ATI_API_CALL KCL_LockUserPages(unsigned long vaddr, unsigned long* page_list
int ret;
down_read(&current->mm->mmap_sem);
- ret = get_user_pages(current, current->mm, vaddr, page_cnt, 1, 0, (struct page **)page_list, NULL);
+ ret = get_user_pages(vaddr, page_cnt, 1, 0, (struct page **)page_list, NULL);
up_read(&current->mm->mmap_sem);
return ret;
@@ -3238,7 +3238,7 @@ int ATI_API_CALL KCL_LockReadOnlyUserPages(unsigned long vaddr, unsigned long* p
int ret;
down_read(&current->mm->mmap_sem);
- ret = get_user_pages(current, current->mm, vaddr, page_cnt, 0, 0, (struct page **)page_list, NULL);
+ ret = get_user_pages(vaddr, page_cnt, 0, 0, (struct page **)page_list, NULL);
up_read(&current->mm->mmap_sem);
return ret;
--
2.9.2

View File

@ -0,0 +1,16 @@
diff --git a/common/lib/modules/fglrx/build_mod/firegl_public.c b/common/lib/modules/fglrx/build_mod/firegl_public.c
index b2242af..586129c 100755
--- a/common/lib/modules/fglrx/build_mod/firegl_public.c
+++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
@@ -3249,7 +3249,7 @@ void ATI_API_CALL KCL_UnlockUserPages(unsigned long* page_list, unsigned int pag
unsigned int i;
for (i=0; i<page_cnt; i++)
{
- page_cache_release((struct page*)page_list[i]);
+ put_page((struct page*)page_list[i]);
}
}
--
2.9.2