03 Sep, 2020
1 commit
31 Aug, 2020
1 commit
14 Jul, 2020
1 commit
07 Jul, 2020
1 commit
16 Apr, 2020
1 commit
31 Oct, 2019
1 commit
-
dummy draw is required for 8MM GPU errata - HBN1285,
this fix shall be applied for GPU power-up transition,
otherwise GPU shader hang with the unnecessary flush.check GPU MMU state to enable dummy draw fix only.
Signed-off-by: Xianzhong
(cherry picked from commit f3f44f213eb1c5210aa4fe723256a2e1e699a4dc)
30 Oct, 2019
1 commit
-
For imx8qxp/qm, gpio will go to low level when system suspend and
will to high when system resume. It will lead ov5640 sensor to reset.
So add reinitialization for sensor when system resume at first time.For imx815, gpio will have no this issue because GPIO will keep high
when system suspend. So the patch is for fixing issue introduced by
MLK-22202-1. More info, please refer to the ticket.OV5640 will work at DVP mode by default, but in our use case, it need
to work on MIPI mode, so we can know whether sensor is resetted by
system by checking 0x300E[2] bits.Signed-off-by: Guoniu.zhou
29 Oct, 2019
6 commits
-
M4 deals with the rpmsg msg by FIFO. When a timeout occurs on Acore
side, it might impact the next several rpmsg requests and cause the
these requests timeout, too.For this case, add a msg_id in the unused buffer field, check the
request id of response each time.Signed-off-by: Clark Wang
(cherry picked from commit 8a94d641b4648a52bcfc43a41e8e8c084e64d2e7) -
When vm_mmap fail, code jump to OnError with error status and userLogical variable != 0.
Then _CMAFSLUnmapUser is called with a invalid virtual address (MdlMap->vmaAddr) and cause panic.Check userLogical to avoid GPU kernel panic for error handling.
Signed-off-by: Xianzhong
(cherry picked from commit 710bbfc815c1058d32ad2295d630efb238ef1beb) -
Fix GPU safe memory with gcvALLOC_FLAG_4GB_ADDR
Signed-off-by: Xianzhong
(cherry picked from commit 34b0f803e1ae45db7456fb732612fcdd87ef747a) -
Fix GPU memory problem when disable CMA allocator,
set LINUX_CMA_FSL=0 in gc_hal_kernel_platform_imx.configSigned-off-by: Xianzhong
(cherry picked from commit ecd385c98fdbf8b0b83519b1ae710f08a617fc82) -
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 busythis 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
(cherry picked from commit ad77ed61b72c8362b04361acd2deb685fee15436) -
When alloc NonContiguous1MPages, if malloc fail, need free the pages to avoid memory leak
Signed-off-by: Xianzhong Li
(cherry picked from commit 30b05a615613a7e47db5e98dddb0fae9ca42b924)
25 Oct, 2019
1 commit
-
The first input only sequence info, shall do not count to
input-data amount.Signed-off-by: Shijie Qin
Reviewed-by: ming_qian
(cherry picked from commit fe111d74927f5f1ddfb8e096fc2f1fcacd377e76)
24 Oct, 2019
10 commits
-
Reset seek_flag and wait_res_change_done when receive
VID_API_EVENT_STOPPED event.This also can fix an Andorid case indirectly:
Seek in the beginning, but has not do capture port streamoff/on
when receive res changed event, then will cause seek_flag status
incorrect.
If abort before receive seq_hdr_found evnt will call stop cmd to
fw, then will reset seek_flag and wait_res_change_done.Signed-off-by: Shijie Qin
Reviewed-by: ming_qian
(cherry picked from commit 93019dc136f9ad3c294e6b4be73049977895aed4) -
refine code to make it more clear
Signed-off-by: ming_qian
Reviewed-by: Shijie Qin
(cherry picked from commit 8e694ece0711d53339feacd22cbe99560b96957f) -
frame
If the free space of stream buffer is not enough for one frame,
vpu may overwrite the data or hang.
so check before encode frame can avoid it.
Add new ctrl V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE,
user can use this ctrl to set the coded picture buffer size.Signed-off-by: ming_qian
Reviewed-by: Shijie Qin
(cherry picked from commit 1af0b35c6bfffa57e27f0a39c8b040b93d973278) -
1. the start command is mixed with transfer data,
separate them and make code more clear
2. some condition of start_code_bypass is missing.
3. config the pStreamBuffDesc only before send start commandSigned-off-by: ming_qian
Reviewed-by: Shijie Qin
(cherry picked from commit 775033eb3dcba27a2b7093caccbc81c1df55ba46) -
If firmware report sequence header twice,
and the user don't support the format, such as 10-bit NV12,
user may close vpu decoder directly, it will send stop cmd.
but when driver receive the second sequence header event,
it may waiting for resolution change done,
it'll block the stop command, and cause it timeout.Signed-off-by: ming_qian
Reviewed-by: Shijie Qin
(cherry picked from commit 9e1d28861a6f89b9f25641131f8db1ef17b81d3a) -
Correct frame_byte typedef to int in order to align with
update_stream_addr_vpu() typedef, it maybe negative.Signed-off-by: Shijie Qin
Reviewed-by: ming_qian
(cherry picked from commit b04249f00b7cb28a17d3b7b992d565ca0edbee28) -
change event
If b_firstseq is cleared after sending source change event,
user may get invalid frame size.Signed-off-by: ming_qian
Reviewed-by: Shijie Qin
Reviewed-by: Zhou Peng
(cherry picked from commit 6794c08937d4b9b1f8509935ebaeb1072af0b4aa) -
Free space may not enough when (end - wptr < SCODE_SIZE),
add this check.Signed-off-by: Shijie Qin
(cherry picked from commit ce944686a765f514a70e4731379179df30dbba0a) -
1. change to use list record performance info for better trace each
time-point and not limited to a fixed flow.
2. add total time from open device to each time-point.Signed-off-by: Shijie Qin
Reviewed-by: Zhou Peng
Reviewed-by: ming_qian
(cherry picked from commit 563d17921b33e3b1be96414ef80535146f00edb5) -
There are no u/v planars in the pixel formats
IPU_PIX_FMT_BGRA4444/IPU_PIX_FMT_BGRA5551/IPU_PIX_FMT_AYUV,
so we should explicitly get zero u/v_offset from __ipu_ch_offset_calc()
for those pixel formats. Without this patch, '-EINVAL' will be
returned from __ipu_ch_offset_calc() as the function return value
and input parameter u/v_offset will not be touched, which is not a
good behavior, because the caller is likely to ignore the function
return value and take the u/v_offset as valid value. The MXC IPUv3 fb
driver is a such kind of caller, which may get the u/v_offset
for those pixel formats without checking the function return value,
and hence wrongly pass the u/v_offset to PRE driver(finally causes
malfunction).Signed-off-by: Liu Ying
(cherry picked from commit c1ff0b03944e5196497be4f606979f5cb0c1b413)
23 Oct, 2019
4 commits
-
Modified parameter msg in dsp, make sure still can transfer right msg
between DSP and user, modified parameter msg in kernel.Signed-off-by: Zhang Peng
(cherry picked from commit ea234701fd310d822a8dd777e96f430ae0b70bc9) -
Do not enable interrupt in dev_2_dev with cyclic case, since in such
case no any interrupt needed. Otherwise many interrupt will come in
every 64 words transfered in ASRC case, which cause heavy system
loading.Signed-off-by: Robin Gong
Reviewed-by: Shengjiu Wang
(cherry picked from commit f0a3172e1ceb04c46377160486ad7dc6ee022850) -
Fix no wakeup from suspend while AC/USB charger plug in.
Signed-off-by: Robin Gong
Reviewed-by: Anson Huang
(cherry picked from commit 1674f23cf12175833fa96e8030e9ceeff20f5998) -
scfw think 'new_pretimeout' as the time stamp from now, not
the time before watchdog timeout which is different with kernel
define. Convert it to scfw's format.Signed-off-by: Robin Gong
Reviewed-by: Anson Huang
(cherry picked from commit 674332ac12ddf593d89e87517573b31be2bbead3)
21 Oct, 2019
1 commit
-
When we do set-par for background framebuffer without on-the-fly
flag being set, we should also unset the enabled overlay framebuffer's
on-the-fly flag, otherwise the overlay framebuffer cannot be enabled
again properly because a full mode set procedure is needed for overlay
framebuffer as it experiences a period of time when background
framebuffer stops fetching frames.Signed-off-by: Liu Ying
(cherry picked from commit fad9437d99ae234f1c66087d47ad8a547f5f1142)
19 Oct, 2019
1 commit
-
set minimal scaling factor with 20 for 8MM and 6SX GPU
Signed-off-by: Xianzhong
(cherry picked from commit 03f411ed00d173b683ff2d00edf6196724cccf9d)
12 Oct, 2019
6 commits
-
Enable all SECO MUs and increase number of users on the first one.
Signed-off-by: Stéphane Dion
(cherry picked from commit 56099536022e7e66cfc932069aa4a4701d84aa0b) -
enable all SECO MUs and increase number of users on the first one.
Signed-off-by: Stéphane Dion
(cherry picked from commit 2197e1f3a75fe9d9832cff3aa979aa4235a1e7a7) -
Enabling use of the first SECO MU on i.MX8QM
Signed-off-by: Stephane Dion
(cherry picked from commit 2b65b323254965b1d563e0aee80e18678d631b9d) -
Enabling use of the first SECO MU on i.MX8QXP
Signed-off-by: Stephane Dion
(cherry picked from commit b7865b23439de010187a211d1c283d6159807569) -
Driver to communicate with SECO over messaging unit.
Expose a char device to user-space so user can write messages that
will be sent to SECO and read messages received from it.
Data that should be exchanged with SECO through shared memory are
indicated to this driver through ioctl calls.Signed-off-by: Stephane Dion
(cherry picked from commit eb721810fdc309b6a32a7a64c7686eaa6052cdc7) -
Documentation of device-tree entry describing messaging
unit (MU) used to communicate with SECO core on i.MX8.Signed-off-by: Stephane Dion
(cherry picked from commit 238c7e4dab3b500c61b7def62dcd940b9c103658)
11 Oct, 2019
1 commit
-
Fix Coverity high impact and Vulkan 1.1.3 issues
Signed-off-by: Xianzhong
(cherry picked from commit b1c86d22ff27aefbd3d07b78d27cf5d7491cbc1c)
08 Oct, 2019
1 commit
-
hsync in struct of drm_display_mode is modes's hsync rate in kHz.
But DP register should been set the value of Horizontal Sync Width
that is not define in DRM_MODE().
It could get by (mode->hsync_end - mode->hsync_start).Signed-off-by: Sandor Yu
27 Sep, 2019
1 commit
-
- Refine the tx/rx impedance ratio setting.
- Set the RxWaterMark to fix the GEN3 link unstable issue on iMX8QM.Signed-off-by: Richard Zhu
(cherry picked from commit 13234ea070f3b0048c98b59200bb3ed85659d013)
26 Sep, 2019
1 commit
-
If CRTC is active, we should send vblank event in vblank
interrupt handler to make sure it's sent precisely. This
patch caches the event to be sent at dpu_crtc->event in
the ->atomic_enable() and the ->atomic_flush() callbacks
and finally sends it out in dpu_vbl_irq_handler(). Since
we rely on the interrupt handler to send the event, we
call drm_crtc_vblank_get() to get a vblank refcount to
guarantee the interrupt is enabled when caching the event
in dpu_crtc_queue_state_event() and call drm_crtc_vblank_put()
to drop a vblank refcount in the interrupt handler.Signed-off-by: Liu Ying
(cherry picked from commit c5f325790615eb16fe5a448e4b0afa122a33c23e)