19 Nov, 2020
15 commits
-
firmware
move timestamp to firmware, it will make our driver more easy to
upstreamSigned-off-by: Ming Qian
-
firmware
move timestamp to firmware, it will make our driver more easy to
upstreamSigned-off-by: Ming Qian
-
kernel debug file is moved to linux osal part,
Fix: "MGS-6060 gpu-viv: sync 20201116 patch release"Signed-off-by: Xianzhong
-
include critical bug-fixings for 6.4.3.p1 driver
Signed-off-by: Xianzhong
-
fix drm header and function related changes for new kernel
Signed-off-by: Xianzhong
-
weston-simple-dmabuf-egl has failure without drm render node,
need enable vivante drm to fix dmabuf failure issue.Signed-off-by: Xianzhong
-
checked return value
Date:30th Oct,2020
Signed-off-by Ya Zhou -
Signed-off-by: Jiyu Yang
-
Signed-off-by: Jiyu Yang
-
Signed-off-by: Jiyu Yang
-
this also fix LF-2472
Signed-off-by: Jiyu Yang -
Signed-off-by: Jiyu Yang
-
Signed-off-by: Jiyu Yang
-
checked return value
Date:30th Oct,2020
Signed-off-by Ya Zhou -
Signed-off-by: Xianzhong
28 Oct, 2020
1 commit
-
shall use the Bytes variable instead of heapBytes,
also fix bankSize assignment from heapBytes.Signed-off-by: Xianzhong
27 Oct, 2020
2 commits
-
default set two banks for large and small memory in 16:1,
there is no function impact for specified bank size.Signed-off-by: Xianzhong
-
[Solution] add Node null check
[Problem]CID 6124050 (#8 of 8): Dereference after null check (FORWARD_NULL)
14. var_deref_op: Dereferencing null pointer NodeSigned-off-by: Jiyu Yang
22 Oct, 2020
4 commits
-
[Solution]add U prefix to declare it is uint32_t type
[Problem]CID 6124050 (#8 of 8): Dereference after null check (FORWARD_NULL)
14. var_deref_op: Dereferencing null pointer NodeSigned-off-by: Jiyu Yang
-
a GetSGT func callback was wanted when reserved_mem was exported
Signed-off-by: Jiyu Yang
-
avoid the duplicated kernel version check and messy copy
Signed-off-by: Xianzhong
-
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
20 Oct, 2020
1 commit
-
add new feature for openvx 1.3 and vulkan 1.2.1
Signed-off-by: Xianzhong
18 Oct, 2020
1 commit
-
include gpu database update, clock debug and kernel fix
Signed-off-by: Xianzhong
16 Oct, 2020
1 commit
-
GPU galcore build as module will meet below error when do insmod
with latest android aosp 5.4 kernel.Fix below module load errors:
galcore: module uses symbol (kernel_write) from namespace
VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver,
but does not import it.
galcore: Unknown symbol kernel_write (err -22)Signed-off-by: Richard Liu
(cherry picked from commit 317ad82b310f740c436bdca2e73c556ac67041f6)
10 Sep, 2020
2 commits
-
Update gc_feature_database.h to 295136
Signed-off-by: Ke Feng
Signed-off-by: Xianzhong
-
dev64x_234062: show gpu video
memory free total size and fixed alloc/free counters in re-used processDB
uninitialize issue.(CL258074)Signed-off-by: Ke Feng
Signed-off-by: Xianzhong
04 Sep, 2020
3 commits
-
Loop play a video AVC_1080p_24fps_90Mbps_bird90.m2ts met UI
freeze and "rcu stall". Enable CONFIG_DEBUG_SPINLOCK kernel
debug get below call stack, the reason is due to spin_lock
be used in IRQ interrupt and caused deadlock.8mq board enabled Video overlay feature, there are two fences
enabled: out fence (represent frame on screen) and android out
fence (new added, represent frame off screen). When there are
two fences sync_file_set_fence() will call dma_fence_array_create()
to register irq_dma_fence_array_work(), then gckOS_DestroySignal()
will be called in IRQ which use spin_lock cause deadlock.Fix solution is use spin_lock_irqsave() instead of spin_lock()
for Database->lock if it is not called in IRQ interrupt.Call stack:
[ 608.902810] dump_backtrace.cfi_jt+0x0/0x4
[ 608.906914] show_stack+0x18/0x24
[ 608.910237] dump_stack+0xb8/0x114
[ 608.913644] spin_bug+0xb0/0xb4
[ 608.916788] do_raw_spin_lock+0xac/0x124
[ 608.920714] _raw_spin_lock+0x20/0x2c
[ 608.924384] gckOS_DestroySignal+0x6c/0x170
[ 608.928572] viv_fence_release+0x28/0x40
[ 608.932502] dma_fence_release+0x13c/0x280
[ 608.936603] dma_fence_array_release+0x74/0x98
[ 608.941049] dma_fence_release+0x13c/0x280
[ 608.945150] irq_dma_fence_array_work+0x6c/0x9c
[ 608.949690] irq_work_run_list+0xb4/0x148
[ 608.953702] irq_work_run+0x20/0x40
[ 608.957193] handle_IPI+0x10c/0x180
[ 608.960686] efi_header_end+0x13c/0x15c
[ 608.964526] el1_irq+0x104/0x200
[ 608.967761] radix_tree_lookup+0x38/0x84
[ 608.971686] gckOS_WaitSignal+0x54/0x258
[ 608.975615] gckKERNEL_Dispatch+0x1460/0x1754
[ 608.979977] gckDEVICE_Dispatch+0x1a0/0x1a4
[ 608.984165] drv_ioctl+0xb8/0x184
[ 608.987487] do_vfs_ioctl+0x3a0/0x6f0
[ 608.991154] __arm64_sys_ioctl+0x78/0xa4
[ 608.995082] el0_svc_common+0xb4/0x18c
[ 608.998834] el0_svc_handler+0x74/0x98
[ 609.002589] el0_svc+0x8/0xcChange-Id: Idf16a5707add70246c74d2f1446f7dbb7037f5f0
Signed-off-by: Haoran.Wang
Signed-off-by: Richard Liu -
There is kernel panic when stop android or kill surfaceflinger
after enable framebuffer tile compression on 8mq board.
The root cause of the issue is dcss driver not api to receive
ts fd, gpu driver will set the ts_dma_buf in _SetVidMemMetadata(),
dcss driver get the ts buffer physical address from ts_dma_buf,
when stop android framebuffer and matched ts buffer will free,
previous ts_dma_buf get from ts_fd will be invalid, when dcss
driver use this ts_dma_buf will cause problem. It is a common
issue, if Linux Weston do the similar stop should also meet
the same panic issue.Keep a reference for ts_dma_buf in _SetVidMemMetadata(),
decrease the reference in _dmabuf_release() can avoid the
panic issue.Kernel panic log:
[ 41.007431] kernel BUG at drivers/gpu/drm/drm_gem.c:154!
[ 41.139375] Call trace:
[ 41.141824] drm_gem_object_init+0xb8/0xbc
[ 41.145920] drm_gem_cma_prime_import_sg_table+0x84/0xdc
[ 41.151233] drm_gem_prime_import_dev+0xe8/0x194
[ 41.160036] dcss_plane_atomic_set_base+0x31c/0x3d0
[ 41.164915] dcss_plane_atomic_update+0x450/0x46c
[ 41.164923] drm_atomic_helper_commit_planes+0x130/0x31c
[ 41.182255] dcss_drm_atomic_commit_tail+0xcc/0x150
[ 41.187139] dcss_commit_work+0x10/0x1c
[ 41.197322] process_one_work+0x2d8/0x580
[ 41.201333] worker_thread+0x28c/0x518
[ 41.205085] kthread+0x14c/0x15c
[ 41.208316] ret_from_fork+0x10/0x18Change-Id: I385851b436d1fead1131ce25f496bdd5d3d14264
Signed-off-by: Richard Liu -
Android pass ts_address to dcss to fix kernel panic issue
reported in ticket MA-12928, this fix solution is not formal.
Remove ts_address code to keep align with Linux, if android
still meet panic issue for corner case we need check root
cause and do formal fix.Change-Id: I04a6294f237e0c1ed5544dce1dc13e5a6ac232ab
Signed-off-by: Richard Liu
31 Aug, 2020
1 commit
-
update the encoder parameters when bitrate is changed
Signed-off-by: Ming Qian
Reviewed-by: Shijie Qin
22 Aug, 2020
3 commits
-
Update gc_feature_database.h to 290561
Signed-off-by: Ke Feng
Signed-off-by: Xianzhong
-
fix
the bug#27413. no need to switch hardware object to query the name and chip
info of the chip.Signed-off-by: Ke Feng
Signed-off-by: Xianzhong
-
6.4.x: Always enable
gcdIGNORE_DRIVER_VERSION_MISMATCH for NXP tree.Signed-off-by: Ke Feng
Signed-off-by: Xianzhong
19 Aug, 2020
1 commit
-
use bframe to control low latency mode by default
deprecate the ctrl V4L2_CID_MPEG_VIDEO_H264_ASOSigned-off-by: Ming Qian
Reviewed-by: Shijie Qin
18 Aug, 2020
1 commit
-
user may not sync cache before free the cacheable memory,
when GPU allocate the non-sync memory for non-cacheable map,
it will lead to the unstable issue if cache sync is missing.revert previous optimization to sync cache for each request,
need work out other idea to reduce the memory consumption.Signed-off-by: Xianzhong
17 Aug, 2020
1 commit
-
gst will depend on the try_fmt api
if driver don't report the correct color space in try_fmt
gst may return failSigned-off-by: Ming Qian
Reviewed-by: Shijie Qin
14 Aug, 2020
3 commits
-
opencl conformance encounters out of memory on 6qp often
Normal free:223540kB, free_cma:180280kB
0 pages HighMem/MovableOnlycurrently GPU virtual memory allocate highmem only,
change to try normal zone first, then go highmem.Signed-off-by: Xianzhong
-
create dma mapping and scatter list pages for cachable memory,
also move the auxiliary memory allocation into map/unmap.Signed-off-by: Xianzhong
-
Disabled TX clock gating can not fix GFXBench hang on M865,
128B L2 cache mode for reading texture can fix that.Signed-off-by: Xianzhong