mirror of
https://github.com/Fishwaldo/build.git
synced 2025-03-27 09:11:49 +00:00
87 lines
3.2 KiB
Diff
87 lines
3.2 KiB
Diff
From a105b027add8a85686cb024cf180808d8a81724b Mon Sep 17 00:00:00 2001
|
|
From: Myy <myy@miouyouyou.fr>
|
|
Date: Fri, 10 Feb 2017 15:07:21 +0000
|
|
Subject: [PATCH 3/3] Adaptation to Linux 4.10.0-rcX signatures
|
|
|
|
These changes are due to these commits:
|
|
|
|
* mm: add locked parameter to get_user_pages_remote()
|
|
5b56d49fc31dbb0487e14ead790fc81ca9fb2c99
|
|
Kernel: 4.10.0-rc
|
|
|
|
* ktime: Get rid of the union
|
|
2456e855354415bfaeb7badaa14e11b3e02c8466
|
|
Kernel: 4.10.0-rc
|
|
|
|
* mm: use vmf->address instead of of vmf->virtual_address
|
|
1a29d85eb0f19b7d8271923d8917d7b4f5540b3e
|
|
Kernel: 4.10.0-rc
|
|
|
|
Signed-off-by: Myy <myy@miouyouyou.fr>
|
|
---
|
|
drivers/gpu/arm/midgard/mali_kbase_jd.c | 7 +++++++
|
|
drivers/gpu/arm/midgard/mali_kbase_mem.c | 8 +++++++-
|
|
drivers/gpu/arm/midgard/mali_kbase_mem_linux.c | 4 +++-
|
|
3 files changed, 17 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/drivers/gpu/arm/midgard/mali_kbase_jd.c b/drivers/gpu/arm/midgard/mali_kbase_jd.c
|
|
index e3ea5f8..bcab4d3 100644
|
|
--- a/drivers/gpu/arm/midgard/mali_kbase_jd.c
|
|
+++ b/drivers/gpu/arm/midgard/mali_kbase_jd.c
|
|
@@ -975,7 +975,14 @@ bool jd_submit_atom(struct kbase_context *kctx, const struct base_jd_atom_v2 *us
|
|
* the scheduler: 'not ready to run' and 'dependency-only' jobs. */
|
|
jctx->job_nr++;
|
|
|
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)
|
|
katom->start_timestamp.tv64 = 0;
|
|
+#else
|
|
+ /* ktime_t is not an union anymore in the 4.10.0
|
|
+ Commit: 2456e855354415bfaeb7badaa14e11b3e02c8466
|
|
+ */
|
|
+ katom->start_timestamp = 0;
|
|
+#endif
|
|
katom->udata = user_atom->udata;
|
|
katom->kctx = kctx;
|
|
katom->nr_extres = user_atom->nr_extres;
|
|
diff --git a/drivers/gpu/arm/midgard/mali_kbase_mem.c b/drivers/gpu/arm/midgard/mali_kbase_mem.c
|
|
index 20a18a9..3d487b2 100644
|
|
--- a/drivers/gpu/arm/midgard/mali_kbase_mem.c
|
|
+++ b/drivers/gpu/arm/midgard/mali_kbase_mem.c
|
|
@@ -2154,12 +2154,18 @@ static int kbase_jd_user_buf_map(struct kbase_context *kctx,
|
|
alloc->imported.user_buf.nr_pages,
|
|
reg->flags & KBASE_REG_GPU_WR,
|
|
0, pages, NULL);
|
|
-#else
|
|
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)
|
|
pinned_pages = get_user_pages_remote(NULL, mm,
|
|
address,
|
|
alloc->imported.user_buf.nr_pages,
|
|
reg->flags & KBASE_REG_GPU_WR ? FOLL_WRITE : 0,
|
|
pages, NULL);
|
|
+#else
|
|
+ pinned_pages = get_user_pages_remote(NULL, mm,
|
|
+ address,
|
|
+ alloc->imported.user_buf.nr_pages,
|
|
+ reg->flags & KBASE_REG_GPU_WR ? FOLL_WRITE : 0,
|
|
+ pages, NULL, NULL);
|
|
#endif
|
|
|
|
if (pinned_pages <= 0)
|
|
diff --git a/drivers/gpu/arm/midgard/mali_kbase_mem_linux.c b/drivers/gpu/arm/midgard/mali_kbase_mem_linux.c
|
|
index 503a5ec..b5b138b 100644
|
|
--- a/drivers/gpu/arm/midgard/mali_kbase_mem_linux.c
|
|
+++ b/drivers/gpu/arm/midgard/mali_kbase_mem_linux.c
|
|
@@ -1735,7 +1735,9 @@ static int kbase_cpu_vm_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
|
|
|
|
/* insert all valid pages from the fault location */
|
|
i = rel_pgoff;
|
|
- addr = (pgoff_t)((uintptr_t)vmf->virtual_address >> PAGE_SHIFT);
|
|
+/* virtual_address has been dropped because it served no purpose.
|
|
+ Commit: 1a29d85eb0f19b7d8271923d8917d7b4f5540b3e */
|
|
+ addr = vmf->address >> PAGE_SHIFT;
|
|
while (i < map->alloc->nents && (addr < vma->vm_end >> PAGE_SHIFT)) {
|
|
int ret = vm_insert_pfn(vma, addr << PAGE_SHIFT,
|
|
PFN_DOWN(map->alloc->pages[i]));
|
|
--
|
|
2.10.2
|
|
|