summaryrefslogtreecommitdiff
path: root/drivers/mxc
diff options
context:
space:
mode:
authorXianzhong <xianzhong.li@nxp.com>2020-10-22 13:28:24 +0800
committerXianzhong <xianzhong.li@nxp.com>2020-10-22 14:39:22 +0800
commit0fef6d7f6778f72cde9da11b306e8a6a51edeba9 (patch)
tree244e549cd5c5fff1473867d3992a2e2d31fb6b51 /drivers/mxc
parent72209dedd12935aabc8bed1554020d34a0202b86 (diff)
MGS-6012-5 [#imx-2337] fix 6.4.3.p1 build break for L5.10
6.4.3.p1 introduced more build break with mmap_sem usage, define current->mm->mmap_sem/lock with a macro. Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
Diffstat (limited to 'drivers/mxc')
-rw-r--r--drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/default/gc_hal_kernel_allocator_user_memory.c12
-rw-r--r--drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h6
2 files changed, 12 insertions, 6 deletions
diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/default/gc_hal_kernel_allocator_user_memory.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/default/gc_hal_kernel_allocator_user_memory.c
index d7f47c772071..d66066d2c547 100644
--- a/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/default/gc_hal_kernel_allocator_user_memory.c
+++ b/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/default/gc_hal_kernel_allocator_user_memory.c
@@ -438,9 +438,9 @@ _Import(
}
}
- down_read(&current->mm->mmap_sem);
+ down_read(&current_mm_mmap_sem);
vma = find_vma(current->mm, memory);
- up_read(&current->mm->mmap_sem);
+ up_read(&current_mm_mmap_sem);
if (!vma)
{
@@ -456,7 +456,7 @@ _Import(
vm_flags = vma->vm_flags;
vaddr = vma->vm_end;
- down_read(&current->mm->mmap_sem);
+ down_read(&current_mm_mmap_sem);
while (vaddr < memory + Size)
{
vma = find_vma(current->mm, vaddr);
@@ -464,20 +464,20 @@ _Import(
if (!vma)
{
/* No such memory. */
- up_read(&current->mm->mmap_sem);
+ up_read(&current_mm_mmap_sem);
gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
}
if ((vma->vm_flags & VM_PFNMAP) != (vm_flags & VM_PFNMAP))
{
/* Can not support different map type: both PFN and PAGE detected. */
- up_read(&current->mm->mmap_sem);
+ up_read(&current_mm_mmap_sem);
gcmkONERROR(gcvSTATUS_NOT_SUPPORTED);
}
vaddr = vma->vm_end;
}
- up_read(&current->mm->mmap_sem);
+ up_read(&current_mm_mmap_sem);
}
if (Physical != gcvINVALID_PHYSICAL_ADDRESS)
diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h
index b9edf7ae3472..d803cb242fe0 100644
--- a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h
+++ b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h
@@ -165,6 +165,12 @@
#endif
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,8,0)
+#define current_mm_mmap_sem current->mm->mmap_lock
+#else
+#define current_mm_mmap_sem current->mm->mmap_sem
+#endif
+
extern struct device *galcore_device;
/******************************************************************************\