Age | Commit message (Collapse) | Author |
|
CL_MEM_USE_HOST_PHYSICAL_ADDR_VIV
CL_MEM_USE_HOST_PHYSICAL_ADDR_VIV will use host physical memory directly, logical address is zero.
gckOS_UnlockPages will check Logical address and return invalid parameter,
that causes memory leak in OpenCL user library, need remove this check.
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
(cherry picked from commit 85a7c0f80d4f44d990f9ba85ecf2b6baea06053c)
(cherry picked from commit d3f9bbb64cc198f06a92676eb536a7b4c0f08eeb)
|
|
CONFIG_ZONE_DMA32 enable
When CONFIG_ZONE_DMA32 kernel configure enabled, use __GFP_DMA32 to ensure
allocated memory within 4GB, then dma, cma and gfp allocators all can be used.
Previous CMA LIMIT solution has limitation, only CMA allocator can ensure the
allocated memory within 4GB and only with CMA LIMIT flag can use CMA allocator,
some memory allocate fail due to no CMA limit flag but CMA still has much memory.
This patch will back compatible, if enable CONFIG_ZONE_DMA32 use __GFP_DMA32, else
keep previous CMA LIMIT logic.
4.19 kernel default enable CONFIG_ZONE_DMA32 by commit "ad67f5a6545f7fda8e",
this enable CONFIG_ZONE_DMA32 patch can be cherry-picked to 4.14 kernel.
Memory allocate fail cases due to without CMA LIMIT flag (can't use CMA memory) and
_GFPAlloc fail due to system does not have enough continue memory:
[ 3199.603326] gckOS_AllocatePagedMemoryEx(3171) cmafsl 7ea flag = 13 allocator->capability = c000011
[ 3199.612463] gckOS_AllocatePagedMemoryEx(3171) gfp 7ea flag = 13 allocator->capability = 300001b
[ 3199.644893] _GFPAlloc fail, 375, Allocator=ffff80083af76980 Mdl=ffff80082171a000 NumPages=2026 Flags=0x13
[ 3199.712954] gckOS_AllocatePagedMemoryEx(3171) cmafsl 7f8 flag = 1 allocator->capability = c000011
[ 3199.721925] gckOS_AllocatePagedMemoryEx(3171) gfp 7f8 flag = 1 allocator->capability = 300001b
[ 3199.735073] _GFPAlloc fail, 375, Allocator=ffff80083af76980 Mdl=ffff80006f6aff00 NumPages=2040 Flags=0x1
Change-Id: I56b93bfa06590bea1e0707c41b40009bd133fecb
Signed-off-by: Richard Liu <xuegang.liu@nxp.com>
|
|
kernel process(with zero pid) has no mdl mapping,
skip kernel process to avoid invalid mdl access.
also remove memory barrier to avoid rcu issue.
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
|
|
include critical gpu bug-fixings for Android 9.0
commit-id 20ea99e9db80e834c7970568a6122f11327dd5dc
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
|
|
- Fix GPU-viv drivers to build without SMP
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com>
|
|
Unable to handle kernel paging request at virtual address 1000100
[<ffff000008274ed8>] prefetch_freepointer.isra.37+0x8/0x14
[<ffff0000087bd3b0>] sync_file_create+0x28/0xc0
[<ffff000008b7c7e4>] gckOS_CreateNativeFence+0x74/0x110
[<ffff000008b89a78>] gckKERNEL_Dispatch+0xa54/0x15b0
[<ffff000008b8a8b8>] gckDEVICE_Dispatch+0x2e4/0x2f8
[<ffff000008b81160>] drv_ioctl+0x110/0x21c
[<ffff0000082b4478>] do_vfs_ioctl+0xb8/0x8b0
[<ffff0000082b4cf4>] SyS_ioctl+0x84/0x98
The reference count should be increased in one spin lock cycle.
Move spin lock out of _QueryIntegerId function.
Move signal reference count to gckOS_CreateNativeFence.
Change-Id: I1bf89b4de6055e5d0009baf7287f600696c4a529
Signed-off-by: Ivan.liu <xiaowen.liu@nxp.com>
|
|
there are lots of PFNs busy message when run GPU tests:
[ 622.370671] alloc_contig_range: [4ea70, 4ea7c) PFNs busy
[ 626.518072] alloc_contig_range: [4ea90, 4ea9c) PFNs busy
this problem is related with CMA migration for fragments,
move CMA allocator after GFP to avoid memory migration,
also fix CMA preempt for contiguous memory request.
can improve CTS and gpubench benchmarks on M850D.
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
|
|
display on 8mq.
BUG: scheduling while atomic: swapper/0/0/0x00010002
CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.14.62 #1
Call trace:
[<ffff00000808b2e0>] dump_backtrace+0x0/0x414
[<ffff00000808b708>] show_stack+0x14/0x1c
[<ffff000008fbd00c>] dump_stack+0x90/0xb0
[<ffff00000810b8fc>] __schedule_bug+0x50/0x6c
[<ffff000008fd3b18>] __schedule+0x720/0x8a8
[<ffff000008fd3cd8>] schedule+0x38/0x9c
[<ffff000008fd40f0>] schedule_preempt_disabled+0x20/0x38
[<ffff000008fd51d8>] __mutex_lock.isra.9+0x4dc/0x4fc
[<ffff000008fd5208>] __mutex_lock_slowpath+0x10/0x18
[<ffff000008fd5240>] mutex_lock+0x30/0x38
[<ffff000008b79960>] gckOS_DestroySignal+0x30/0xcc
[<ffff000008baa3b8>] viv_fence_release+0x24/0x38
[<ffff0000087babcc>] dma_fence_release+0x38/0xf4
[<ffff0000087bb55c>] dma_fence_array_release+0x78/0xac
[<ffff0000087babcc>] dma_fence_release+0x38/0xf4
[<ffff0000087bb748>] irq_dma_fence_array_work+0x40/0x4c
[<ffff0000081d2878>] irq_work_run_list+0x68/0xa8
[<ffff0000081d28dc>] irq_work_run+0x24/0x40
[<ffff000008092440>] handle_IPI+0x300/0x330
[<ffff00000808197c>] gic_handle_irq+0x8c/0x184
Replace signal mutex lock with spin lock to handle signal in irq.
Change-Id: Id18e68f03bcb96c2aaf3ca8a0055fe6a64e8d10a
Signed-off-by: Ivan.liu <xiaowen.liu@nxp.com>
|
|
GPU memory initialization will cause large boot time with 40ms.
If GPU memory is allocated from CMA, memset in cma kernel driver,
It is not necessary to add duplicated memset in GPU kernel driver.
Only GFP allocator need trigger a page fault with a simple write.
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
|
|
CL165804 fix read register when internal clock off 1. For
shared IRQ, read register may be called and that's not our
irq. 2. In some condition, when ISR handled normal FE/PE,
PM thread could trun off internal clock before ISR read
register of async FE. And then IRQ handler will call read
register with internal clock off. So here we need to skip
read in such case. This is simple fix.
cherry-pick patch:
6.2.4.p3-0019-CL165804-fix-read-register-when-internal-clock-off-1
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
|
|
Fix potential Resource leaks and memory illegal access issues.
Signed-off-by Yong Gan <yong.gan@ncp.com>
|
|
Allocate the real size of the buffer instead of whole page to aviod GPU
overwrite.
Date: 10th Aug, 2018
Signed-off-by: Ella Feng <ella.feng@nxp.com>
|
|
Support the kernel 4.9.y in fsl_6.2.4.p2.
Signed-off-by: Yong Gan<yong.gan@nxp.com>
|
|
Rename fence interfaces to dma_fence to match with the upstream
commit, f54d1867005c ("dma-buf: Rename struct fence to dma_fence"),
changes.
Fix compile issue sync_timeline_create is not defined.
Change-Id: I0f89a089f11131070f96a5ddc922938f4b28615f
Signed-off-by: zhang sanshan <sanshan.zhang@nxp.com>
|
|
version upgrade from 6.2.4.p1.150331 to 6.2.4.p2.163672
fixed gpu kernel panic for CONFIG_ARM64_SW_TTBR0_PAN,
support frequency query for gpu shader and core.
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
|
|
1. slightly increate performance for interrupt handler
2. refine powerMutex lock
3. remove obsolete power management mode
4. code refinement preparing fix for bug #19216, #19230
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
|
|
integrate 6.2.4.p1 driver and enable gpu build config,
fix 4.14 linux kernel build break in gpu-viv driver.
source branch: gpu-viv6/fsl_6.2.4.p1
source commit: 8aa3fcbcad9f51441b768bb41ce5c2686f7f143f
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
|