Permalink
Cannot retrieve contributors at this time
Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upMyyQi/patches/Mali/r17p0-01rel0/0001-Midgard-daptation-to-Linux-4.10.0-rcX-signatures.patch
Go to file| 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 | |