Age | Commit message (Collapse) | Author |
|
method for GC7000
Adapted from 7a3d1096aa0cc77e258. This brings back the ability for
gputop to read HW counter values.
Signed-off-by: Marius Vlad <marius-cristian.vlad@nxp.com>
|
|
Save the meta data info in the _gcsVIDMEM_NODE.
DCSS can query the meta data, and get the tile statust buffer info.
Date: Apr 13, 2018
Signed-off-by: Yong Gan yong.gan@nxp.com
|
|
the original patch will skip CMA memory allocation with CMA_LIMIT flag,
that enforces GPU memory allocation from virtual pool with MMU mapping,
then both 2D and 3D performance will have performance regression on i.MX6.
Revert "6.2.4.p1-0044-CL142820-check-flag-match-even-try-to-allocate-from-"
This reverts commit 8a8cbf389ad56dc49685ea078698087be867655a.
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
|
|
Update the gpu kernel to 6.2.4.p1.pre2
Date: Jan 26, 2017
Signed-off-by: Yuchou Gan yuchou.gan@nxp.com
|
|
CtsMediaTestCases module CTS test can't uncompleted due to native crash,
the crash is due to memory leak in drm gralloc, when total leak reach to
4GB it will report mmap fail and cause CTS thread crash.
Crash log:
12-02 08:14:51.982 1156 25401 E gralloc-viv: gralloc_vivante_lock#573: failed to mmap
12-02 08:14:51.982 1156 25401 E gralloc-viv: gralloc_lock#136: err=-25
12-02 08:14:51.982 1156 25401 E gralloc : gralloc_lock lock memory failed
12-02 08:14:51.982 1156 25401 W GraphicBufferMapper: lock(0xed4c2740, ...) failed: 5
12-02 08:14:51.982 1156 25401 F SoftwareRenderer: frameworks/av/media/libstagefright/
colorconversion/SoftwareRenderer.cpp:230 CHECK_EQ( 0,mapper.lock( buf->handle,
GRALLOC_USAGE_SW_WRITE_OFTEN, bounds, &dst)) failed: 0 vs. 5
Dec. 20, 2017
Signed-off-by: Richard Liu <xuegang.liu@nxp.com>
|
|
include more GPU bug-fxings for Android DRM feature
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
|
|
need release user memory before close the drmfb handle,
there is no galcore kernel interface for immediate free.
add new interface to release the user memory by force,
[ 112.487090] [<ffff0000081748c0>] free_contig_range+0xa0/0xc0
[ 112.492757] [<ffff0000081d944c>] cma_release+0x94/0xc0
[ 112.497900] [<ffff0000085e344c>]
dma_release_from_contiguous+0x2c/0x38
[ 112.504432] [<ffff000008095ab8>]
__dma_free_coherent.isra.14+0x50/0xb8
[ 112.510962] [<ffff000008095b7c>] __dma_free+0x5c/0x90
[ 112.516022] [<ffff0000085c56b4>] drm_gem_cma_free_object+0xa4/0x130
[ 112.522293] [<ffff0000085a6384>] drm_gem_object_free+0x1c/0x58
[ 112.528130] [<ffff0000085a646c>]
drm_gem_object_unreference_unlocked+0x54/0x130
[ 112.535445] [<ffff0000085a65c0>]
drm_gem_object_handle_unreference_unlocked+0x60/0xb0
[ 112.543281] [<ffff0000085a6664>]
drm_gem_object_release_handle+0x54/0x90
[ 112.549989] [<ffff0000083c085c>] idr_for_each+0xb4/0x118
[ 112.555304] [<ffff0000085a73cc>] drm_gem_release+0x24/0x38
[ 112.560794] [<ffff0000085a62dc>] drm_release+0x28c/0x318
[ 112.566111] [<ffff0000081df344>] __fput+0x8c/0x1d0
[ 112.570906] [<ffff0000081df4ec>] ____fput+0xc/0x18
[ 112.575705] [<ffff0000080d7e84>] task_work_run+0xc4/0xe0
[ 112.581020] [<ffff0000080c0770>] do_exit+0x2d0/0x970
[ 112.585988] [<ffff0000080c0e78>] do_group_exit+0x38/0xa0
[ 112.591306] [<ffff0000080caf8c>] get_signal+0x1f4/0x508
[ 112.596536] [<ffff000008087970>] do_signal+0x70/0x550
[ 112.601591] [<ffff000008088080>] do_notify_resume+0x90/0xb0
[ 112.607168] [<ffff000008082ddc>] work_pending+0x8/0x10
Date: Nov 14, 2017
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
Reviewed-by: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
Reviewed-by: Yuchou Gan <yuchou.gan@nxp.com>
|
|
add dmabuf/gem feature through drm galcore,
include more bug-fixing in gpu kernel driver.
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
|
|
there are lots of events to pipeline for database destroy,
wait for event queue empty before do power-off for last process.
side note for the proposed solution:
it is not the way to flush pipeline in drv_release thread,
since the clock may be turned off by other threads unexpectedly,
also the potential deadlock if lock up the power in drv_release.
Date: Aug 31, 2017
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
|
|
The former patch "Fix power-off random failure when GPU become idle" which wait for gpu idle when tried to power off that
will cause performance drops when multi applications run at the same time.
Refine this patch so that the patch only run at first time when probe, suspend or last process run finished.
Date: Aug 29, 2017
Signed-off-by: Yuchou Gan yuchou.gan@nxp.com
|
|
gpu hang alway happen when insmod galcore secondly on i.mx8mq,
this problem is related gpu mmu setup with virtual command buffer.
revert the virtual command buffer change to align 6.2.2 driver.
Date: Aug 03, 2017
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
|
|
Upgrade GPU driver to enable OpenVX 1.1 for i.MX8QM,
Integrated more bug-fixing for critical gpu issues.
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
|
|
gpu1 hang is reproducible when run es32 cts with power mangement.
there is the gpu1 power-off/up when commit gpu0 and gpu1 early or late,
then gpu0 will break the inter-semaphore & stall from gpu1, and end up,
when gpu1 execute its command, will stuck to wait for gpu0 infinitely.
prevent the unexpected power-off bofore command commit on dual cores.
Date: Jun 18, 2017
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
|
|
Include some bug-fixings for critical gpu issue.
source repo: gpu-viv6
source branch: fsl_6.2.2
Source commit: ef725bcb98733bfe640e814c6ca2b1aa7412402b
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
|
|
integrated critical gpu bug-fixing for i.MX6/i.MX7ULP/i.MX8,
solved gpu hang and khronos conformance issues for below features:
- OpenGL ES11/ES20/ES30/ES31/ES32,
- OpenCL 1.1/1.2FP,
- OpenVX 1.0.1
- Vulkan 1.0
- OpenVG 1.1
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
|
|
The new gpu mmu has no base address feature and need set zero,
But hardware mmu version is not initialized before set baseaddress,
Hence kernel will get the wrong base address and pass to user driver,
This fix will add mmu version initialization before version check.
Date: Feb 15, 2017
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
|
|
on gpu0 and bridged mode. 100%
There are 2 devices in the MX8 board, and each needs a commitMutex, instead of one big commitMutex in the kernel.
Date: Dec 6, 2016
Signed-off-by: Yuchou Gan<yuchou.gan@nxp.com>
|
|
kernel mutex cannot be shared with gpu0,gpu1 and bridge mode together.
use device mutex to prevent the sync problem for gpu command operations.
this change is reasonable and fixed one hole in existing implementation.
but this patch cannot fix the GPU hang for MGS-2429.
Date: Nov 28, 2016
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
|
|
when the app is killed, the kernel driver will free database from the gpu0.
if the app is running on gpu1, its database may be freed by gpu0 unexpectely.
free the record from the right kernel, this patch is refined from MGS-2302-1.
also Revert "MGS-2302-1 [#imx-225] fix the gpu1 hang with independent mode"
This reverts commit 39472fb8b1b30a047c637c82be1b59e0b975bc03.
Date: Nov 07, 2016
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
|
|
when the app is killed, the kernel driver will free database from the gpu0.
if the app is running on gpu1, its database may be freed by gpu0 unexpectely.
need check kernel pointer in record to prevent the incorrect database free.
Date: Oct 17, 2016
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
|
|
Limited baseAddress offset only for GPU without MC20 feature.
Date: Oct 14, 2016
Signed-off-by: Yong Gan <yong.gan@nxp.com>
|
|
Integrate gpu kernel driver for 6.2.0 official release
Date: Oct 9, 2016
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
|
|
the unified gpu driver to support all graphics APIs for i.MX8,
include OpenGL ES, OpenCL, OpenVX, Vulkan, OpenVG.
Date: Sep 18, 2016
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
|
|
Integrate gpu kernel driver part for 6.1.1 release
Date: Jul 26, 2016
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
|
|
gcoVGHARDWARE_FreeVideoMemory user space implementation has some problem,
the asynchronous unlock/free is required by kernel memory managment, by not available in this function.
because user command buffer & struct cannot be freed through committing new vg command to hardware,
the new workaround is to double unlock the video memory for gcvHAL_RELEASE_VIDEO_MEMORY,
also removed the database as the asynchronous unlock is not available in vg user space driver.
Date: May 18, 2016
Signed-off-by: Yong Gan <yong.gan@freescale.com>
|
|
Integrate gles base driver of 6.1.0 gpu release,
hal/security_v1 is the new added feature.
Date: May 09, 2016
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
|
|
GPU 3D clock will still enable/disable when video playback,
actually there is no 3D usage, to saving power we should
avoid 3D clock enable/disable. This patch optimize event
synchronization by not pass signal/sync_point to gpu when
current gcoHARDWARE is already sync'ed GPU and no command
buffer required.
Date: Apr 13, 2016
Signed-off-by: Richard Liu <r66033@freescale.com>
Signed-off-by: Meng Mingming <mingming.meng@nxp.com>
|
|
The patch removes the dependence between cache flush operation and node.
Node is not used anymore when flush cache. Cache flush can work with only
logical address passed into underlying functions does not need physical
address.
Signed-off-by: Richard Liu <r66033@freescale.com>
(cherry picked from commit ad65770512d2baeb45f5d0622d985f9856b7cc1e)
|
|
it is necessary to check the node object pointer before use,
otherwise the board will reboot with kernel crash.
Date: Jan 19, 2016
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
|
|
Updated 5.0.11.p8 driver copyright from 2015 to 2016
Date: Jan 11, 2016
Signed-off-by: Xianzhong <b07117@freescale.com>
|
|
Once received Vivate 5.0.11.p8_early_pre driver, integrate the kernel
related part to kernel.
Signed-off-by: Shawn Xiao <b49994@freescale.com>
|
|
1. Upstream 5.0.11p7 driver to kernel
2. Add the GPU configuration to imx6q.dtsi
3. Remove IRQF_DISABLED in GPU driver
The IRQF_DISABLED has been removed from 4.1.0 kernel. To accomodate with
the change, add version check logic and use 0x0 instead of IRQF_DISABLED
from 4.1.0 kernel on.
4. Convert file->f_dentry->d_inode to file_inode() in GPU driver
The file struct has changed since 3.19. Changed the usage in GPU driver
too.
5. Add version check for CONFIG_PM_RUNTIME
The CONFIG_PM_RUNTIME will never be used in 4.1.0 kernel. Add version
check to avoid calling it in GPU driver.
Signed-off-by: Shawn Xiao <b49994@freescale.com>
|