Merge #18237: ati_drivers_x11: patch for kernel 4.6
This commit is contained in:
commit
12a45a8496
|
@ -73,8 +73,11 @@ stdenv.mkDerivation rec {
|
||||||
./patches/15.9-kcl_str.patch
|
./patches/15.9-kcl_str.patch
|
||||||
./patches/15.9-mtrr.patch
|
./patches/15.9-mtrr.patch
|
||||||
./patches/15.9-preempt.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 =
|
buildInputs =
|
||||||
[ xorg.libXrender xorg.libXext xorg.libX11 xorg.libXinerama xorg.libSM
|
[ xorg.libXrender xorg.libXext xorg.libX11 xorg.libXinerama xorg.libSM
|
||||||
|
|
|
@ -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(¤t->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(¤t->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(¤t->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(¤t->mm->mmap_sem);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
--
|
||||||
|
2.9.2
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue