10 Apr, 2019
1 commit
-
should check imx8-gpu instead of imx8x-gpu string for i.mx8 gpu sub-system
Signed-off-by: Xianzhong
(cherry picked from commit ce6483c43465651469c75b0e5093bdc749866f84)
29 Mar, 2019
2 commits
-
CID: 5781508
device pointer should not be used before null checkSigned-off-by: Xianzhong
(cherry picked from commit 17942905375a282ed9896c3cc778a246c321f5f0) -
Vulkan driver has problem to commit command without device mutex,
command object has race condition risk without mutex protection.move _ProcessUserCommandBufferList into command mutex region.
Signed-off-by: Xianzhong
(cherry picked from commit 10120a64fd9342c8effd21eb62bc51f88f1493cb)
28 Mar, 2019
4 commits
-
To avoid potential division by zero in ipu_init_sync_panel(),
let's check the rounded_pixel_clk rate prior to that.Detected by CoverityScan, CID#56278 ("Division or modulo by zero")
Signed-off-by: Liu Ying
(cherry picked from commit 1523150b71f1aa0610f61ea47a9f3bdbcda92522) -
To avoid potential division by zero in ipu_init_async_panel(),
let's check the di_clk rate prior to that.Detected by CoverityScan, CID#56264 ("Division or modulo by zero")
Signed-off-by: Liu Ying
(cherry picked from commit d7777247e6ba4ca9fcc313bef6672060859fed19) -
To avoid potential out of bounds array access on tbl->used[][],
let's check the tsk->ipu_id prior to that. Based on the context,
this is what we can do to make the coverity happy.Detected by CoverityScan, CID#17689 ("Derefernece before null check")
Signed-off-by: Liu Ying
(cherry picked from commit f5dcf709c54da8e64eb84f1dd7a4452ad8d942cf) -
The check on !sp_tsk0 is unnecessary in ipu_task_thread(), because the
beforehand "list_del(&sp_tsk0->node);" within the context implies sp_tsk0
is not null, otherwise, we'll dereference a null pointer earlier.Detected by CoverityScan, CID#17842 ("Logically dead code")
Signed-off-by: Liu Ying
(cherry picked from commit 9ad5edd076d61bc8bb3a558e523cc7b31f2c3043)
24 Mar, 2019
2 commits
-
Fixed a dead code error reported by Coverity.
CID 1826265: Logically dead codeSigned-off-by: Oliver Brown
(cherry picked from commit 4b25b038a2278b0782e144ec3e3907fbcbc138c1) -
Fixed two issues resported by Coverity:
CID 343354: Uninitialized scalar variable
CID 343355: Uninitialized scalar variableSigned-off-by: Oliver Brown
(cherry picked from commit abc359e835dca5942d9dc101bfdc55f243e01d65)
22 Mar, 2019
2 commits
-
Signed-off-by: ming_qian
-
Error implement in function CDN_API_DPTX_ForceLanes_blocking,
it should call function CDN_API_DPTX_ForceLanes.Signed-off-by: Sandor Yu
(cherry picked from commit 458736a5adeec6527dc86de5993c7ddec84daa15)
21 Mar, 2019
3 commits
-
If CONFIG_KASAN enabled, gpu kernel driver will throw out the following error:
drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_command.c: In function ‘gckCOMMAND_Commit’:
rivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_command.c:2646:1: error:
the frame size of 2784 bytes is larger than 2048 bytes [-Werror=frame-larger-than=]Signed-off-by: Xianzhong
(cherry picked from commit d5237ed9bca46858875a9b0ef4134ad477832102) -
set skip firmware bss flag when when driver clear firmware buffer.
If driver didn't clear the buffer, and the flag is set.
Something unexpected may happen.
So clear firmware buffer before download firmware every times.Signed-off-by: ming_qian
-
if seq header is not found before user streamoff.
and user streamon again.
the firmware is keeping parsing seq state.
but it don't really parse seq header
because it has been canceled by streamoff.
The firmware needs driver trigger again to start parse next seq.
In this case, driver will send stop cmd to firmware first,
and send start cmd to firmware to restart parse seq header.
And the user need transfer spspps before I frame again.Signed-off-by: ming_qian
20 Mar, 2019
1 commit
-
in the former patch, the order of allocate dma buffer will be changed.
if there is no enough memory, some error may occur.
so revert the former change, and add lock for alloc and free dmaSigned-off-by: ming_qian
18 Mar, 2019
1 commit
-
after seek
replace flush_drv_q() with clear_queue()Signed-off-by: Shijie Qin
15 Mar, 2019
5 commits
-
1. extend resolution change function
2. change uFBCInUse to uActiveSeqTag in struct MediaIPFW_Video_SeqInfoSigned-off-by: Shijie Qin
-
1. refine code for set_pic_end_flag and clear_pic_end_flag
2. Reduce 'find buffer NULL' printing level to prevent printing all the time when normal playingSigned-off-by: Shijie Qin
-
It's caused by allocating and freeing dma buffer in the same time.
and there is no any protection for this case.
refine the driver to avoid this case.destroy workqueue before release resource
Signed-off-by: ming_qian
-
the api supplied by videobuf2 is not thread safe.
so in multi thread case, it may cause crash
refine the decoder driver, make sure the api are synchronizedSigned-off-by: ming_qian
-
the api supplied by videobuf2 is not thread safe.
so in multi thread case, it may cause crash
refine the encoder driver, make sure the api are synchronizedSigned-off-by: ming_qian
12 Mar, 2019
1 commit
-
The IPUv3 fb driver would call ipu_init_sync_panel() to enable a display.
It reads the DI_GENERAL register first and sets the bit
DI_GEN_POLARITY_DISP_CLK to high if sig.clk_pol is false. This assumes
no one else would program the bit and the pixel clock polarity never
changes(which is usually the case). However, the commit mentioned below
sets the bit to high in ipu_uninit_sync_panel() when a display is disabled,
in order to avoid power leakage for display pins. This would keep the
bit being high as long as the display was disabled since the system is
actively running. This patch explicitly clears the bit when necessary
to fix the issue. Tests are done for CLAA-WVGA parallel LCD panel,
SEIKO-WVGA parallel LCD panel, Hannstar XGA LVDS panel(LVDS0 and LVDS1),
HIMAX WVGA MIPI DSI panel and native HDMI output on i.MX6q SabreSD board.Fixes: 9afd177e7524 ("ENGR00141552 ipuv3: fix display pin's power leak")
Signed-off-by: Liu Ying
(cherry picked from commit 02db8c7829d72bd45967d866965a17d818b9cc57)
04 Mar, 2019
1 commit
-
H264 frame
H264 may re-order the sequence of frame. report the sequence through
v4l2_buffer->sequence.
copy the timestamp of yuv frame to h264 frameSigned-off-by: ming_qian
01 Mar, 2019
1 commit
-
1. specify feed_mod when start
2. modify firmware debug log
extend 'vpu_frmdgb_ena' for multi-instance
update structure MediaIPFW_Video_DbgLogDesc
add one parameter to config 'uDecStatusLogLevel'
3. update structure MediaIPFW_Video_SeqInfo to get Color Aspect
information from firmware in furture
4. add verifation before handle vb2_buffer address
5. add verifation before handle ctx->dbglog_dir
6. delete '#ifdecf COREPLAY_API' in mediasys_types.hSigned-off-by: Shijie Qin
26 Feb, 2019
1 commit
-
reduce the time that open operation spent,
allocate the buffer when neededSigned-off-by: ming_qian
25 Feb, 2019
1 commit
-
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
(cherry picked from commit 5ced43c64b88fb4c6106fa295dc7e55a1a5c7bef)
22 Feb, 2019
1 commit
-
the data is invalid in first read for dma registers,
add second read to get the correct register data.Signed-off-by: Xianzhong
(cherry picked from commit 90ee1cbacb7794eb4db0cfa0e8b6d0bb2ed45bf6)
15 Feb, 2019
2 commits
-
Galcore kernel panic when reading from sysfs during modprobe,
This issue occurs when gc sysfs entries are read while the modprobe
of the galcore module is in progress.Register the GC debugfs attributes in sysfs after the driver data-structures
have been initialized, instead of before.Add defensive sanity checks in all _show() functions used by debugfs
attributes, to check for NULL pointers before dereferencing them.
Return -ENXIO in case of NULL pointers.Signed-off-by: Xianzhong
(cherry picked from commit 3283efbeadbc11cb38146cb7874becfecf27f981) -
GPU hang will happen when run multiple test instances.
link command could be used for context switch often,
it is not reliable to check wait or link command only.need check command address first, then check command.
Signed-off-by: Xianzhong
(cherry picked from commit a7d6f50164039334f371fef1575de7d80d10aa58)
13 Feb, 2019
2 commits
-
If pointer is released, but it didn't set to NULL, it will be a wild
pointer. It may cause unexpected error, and hard to debug.
To avoid this bug, define a macro to release pointer and set it to NULL.Signed-off-by: ming_qian
-
MXC_VPU_MALONE -> MXC_VPU_LEGACY
vpu-malone -> vpu_legacyMXC_VPU_DECODER -> MXC_VPU_MALONE
vpu-decoder-b0 -> vpu_maloneSigned-off-by: ming_qian
12 Feb, 2019
9 commits
-
Cleaning up HDCP code to remove coding errors and warnings in calling
functions. Also, removed printk's from HDCP APIs.Signed-off-by: Oliver Brown
-
when it is skipped frame, report skip event to application
Signed-off-by: Huang Chaofan
-
buffer twice
1. Modify adding buffer for queue list to not queue same buffer twice
2. remove decoder_str in dts fileSigned-off-by: Huang Chaofan
-
the region of CMA associated with M0+ core is in [256M, 1G]
It can't be guaranteed that it's uncachable for M0+ core.
There are some risk, reserve memory to make sure it's in [128M, 256M].
Eliminate the potential risksSigned-off-by: ming_qian
-
change MXC_VPU_DECODER to MXC_VPU_MALONE
change the directory name vpu-encoder-b0 to vpu_windsorSigned-off-by: ming_qian
-
use a bitmap to represent the log level.
Logs of a certain type can be opened separately
You can also open several combinations of logs
for example:
LVL_CMD (1 << 5) switch the cmd log
LVL_EVT (1 << 6) switch the event log
LVL_DEBUG (1 << 7) switch the debug log
LVL_CTRL (1 << 8) switch the v4l2 ctrl logSigned-off-by: ming_qian
-
it is caused by "avoid oom killer in gpu kernel driver",
only enable __GFP_ATOMIC for contiguous allocator.Signed-off-by: Xianzhong
-
mu will access the actFrames,
and it's legal address space is [0, 1GB),
so the address of actFrames can't above 1G of boot address.
if the address is above 1G of boot address,
the firmware will meet exception.
To avoid the firmware exception,
check the actFrames address,
if it's invalid, give an error message and return failSigned-off-by: ming_qian
-
there are some log in vpu_enc_probe, it will cause that the time this
function spent is up to tens of milliseconds.
reduce these log and the boot time can be speeded upset the quick boot for firmware(base[18] =1), the time of boot firmware
can be reduced from 101 ms to 59 ms.Signed-off-by: ming_qian