kernel/0075-img-gpu-kmd-fix-vm_flags-setting-issue.patch
2024-12-19 16:34:44 -05:00

81 lines
2.7 KiB
Diff

From e32eae5a93a81be8998ef8317e0e9ec7f01809d5 Mon Sep 17 00:00:00 2001
From: Sakura286 <sakura286@outlook.com>
Date: Fri, 5 Jul 2024 11:34:07 +0800
Subject: [PATCH 075/219] img gpu kmd: fix vm_flags setting issue
ref: https://gist.github.com/vejeta/9078219f082d2bfd62b08b6eada780e6
---
.../img-volcanic/services/server/env/linux/osfunc.c | 4 ++--
.../img-volcanic/services/server/env/linux/pmr_os.c | 13 +++++++------
2 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/img/img-volcanic/services/server/env/linux/osfunc.c b/drivers/gpu/drm/img/img-volcanic/services/server/env/linux/osfunc.c
index 1a7d406fb085..6d060ddc97d7 100644
--- a/drivers/gpu/drm/img/img-volcanic/services/server/env/linux/osfunc.c
+++ b/drivers/gpu/drm/img/img-volcanic/services/server/env/linux/osfunc.c
@@ -1796,7 +1796,7 @@ PVRSRV_ERROR OSChangeSparseMemCPUAddrMap(void **psPageArray,
if ((psVMA->vm_flags & VM_MIXEDMAP) || bIsLMA)
{
- psVMA->vm_flags |= VM_MIXEDMAP;
+ vm_flags_set(psVMA, VM_MIXEDMAP);
bMixedMap = IMG_TRUE;
}
else
@@ -1818,7 +1818,7 @@ PVRSRV_ERROR OSChangeSparseMemCPUAddrMap(void **psPageArray,
#endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0)) */
{
bMixedMap = IMG_TRUE;
- psVMA->vm_flags |= VM_MIXEDMAP;
+ vm_flags_set(psVMA, VM_MIXEDMAP);
break;
}
}
diff --git a/drivers/gpu/drm/img/img-volcanic/services/server/env/linux/pmr_os.c b/drivers/gpu/drm/img/img-volcanic/services/server/env/linux/pmr_os.c
index fac2bd45a371..7cf4df444089 100644
--- a/drivers/gpu/drm/img/img-volcanic/services/server/env/linux/pmr_os.c
+++ b/drivers/gpu/drm/img/img-volcanic/services/server/env/linux/pmr_os.c
@@ -393,19 +393,20 @@ OSMMapPMRGeneric(PMR *psPMR, PMR_MMAP_DATA pOSMMapData)
}
ps_vma->vm_page_prot = sPageProt;
- ps_vma->vm_flags |= VM_IO;
+ vm_flags_set(ps_vma, VM_IO);
/* Don't include the mapping in core dumps */
- ps_vma->vm_flags |= VM_DONTDUMP;
+ vm_flags_set(ps_vma, VM_DONTDUMP);
/*
* Disable mremap because our nopage handler assumes all
* page requests have already been validated.
*/
- ps_vma->vm_flags |= VM_DONTEXPAND;
+ vm_flags_set(ps_vma, VM_DONTEXPAND);
+
/* Don't allow mapping to be inherited across a process fork */
- ps_vma->vm_flags |= VM_DONTCOPY;
+ vm_flags_set(ps_vma, VM_DONTCOPY);
uiLength = ps_vma->vm_end - ps_vma->vm_start;
@@ -492,12 +493,12 @@ OSMMapPMRGeneric(PMR *psPMR, PMR_MMAP_DATA pOSMMapData)
if (bUseMixedMap)
{
- ps_vma->vm_flags |= VM_MIXEDMAP;
+ vm_flags_set(ps_vma, VM_MIXEDMAP);
}
}
else
{
- ps_vma->vm_flags |= VM_PFNMAP;
+ vm_flags_set(ps_vma, VM_PFNMAP);
}
/* For each PMR page-size contiguous bytes, map page(s) into user VMA */
--
2.47.0