29 Oct, 2019
1 commit
-
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
4 commits
-
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) -
The DRM atomic core ensures crtc->state->event is not NULL when
calling the ->atomic_disable() or the ->atomic_flush() callbacks.
So, let's remove the unnecessary NULL check warning on it.Signed-off-by: Liu Ying
(cherry picked from commit 834bff532fe22a79708459ec976da0a74a2e97e2) -
When a full modeset is needed, the CRTC could be totally disabled or
enabled/re-enabled after the modeset. If it's re-enabled, a vblank
event would be sent during the CRTC enablement procedure. So, a bogus
event should be killed in the ->atomic_disable() callback.Signed-off-by: Liu Ying
(cherry picked from commit cee2d80af5e38fb022973c023f548ff02a515882) -
The Kdoc for the event entry of struct drm_crtc_state mentions that the
simplest way to send vblank event when a CRTC is being disabled is that
calling drm_crtc_send_vblank_event() somewhen after drm_crtc_vblank_off()
has been called. This patch takes the way mentioned above to send vblank
event in the ->atomic_disable() callback.Signed-off-by: Liu Ying
(cherry picked from commit 5b1a8127d98daf13d9f9891dfad2589f339b63d5)
23 Sep, 2019
3 commits
-
It is suitable for imx8qm and imx8qxp currently
Acked-by: Jun Li
Signed-off-by: Peter Chen
(cherry picked from commit c5068a42ef39fd97b46813fa51de00147826aaac) -
HDCP function could work in other TVs
but it failed with Sony TV when run hdcp enable/disable stress test.
The TMDS clock is not detected by Sony TV.
The TV seems time sensitive for HDMI TMDS.
Add 20ms delay before TMDS enable make it work.Signed-off-by: Sandor Yu
-
Signed-off-by: Julien Olivain
Reviewed-by: Zhou Peng
(cherry picked from commit d5ee37f96629716042bb0b8317ff8ea0000a769c)
21 Sep, 2019
1 commit
-
As DPU fetchunits support ITU601(limited range)/ITU601_FR(full range)
and ITU709(limited range) YUV to RGB color space conversions, we may
add color encoding and color range properties support for planes.
Considering software backward compatibility, the default color encoding
is set to ITU601 with full color range.Signed-off-by: Liu Ying
(cherry picked from commit f491e24e65cb360fb0b3ce56f74d04fd80da77ab)
20 Sep, 2019
5 commits
-
This patch adds mulitple pixel blend modes for DPU plane.
The modes are "None", "Pre-multiplied" and "Coverage".Signed-off-by: Liu Ying
(cherry picked from commit 1259fedbcf2a54f58b47e8531a09b35cc60a43f7) -
Now that we've already got proper default blend mode support,
we may introduce alpha in pixel feature for overlay planes.Signed-off-by: Liu Ying
(cherry picked from commit 4881b188f809d1e3de8662dff94b1b2dfc00a62a) -
DPU has no limitations on the plane's zpos, so we don't
have to limit the primary plane zpos to be zero and the
overlay plane zpos to be non-zero.Signed-off-by: Liu Ying
(cherry picked from commit 4487aca4ab19623e1995322871e6f14d48bfef74) -
This patch improves bailout path of dpu_plane_init().
As we'll add more drm properties to the planes later,
this would simply the code.Signed-off-by: Liu Ying
(cherry picked from commit 1a6ab9246b5d6e71e8a4a0a0b5ea15d7af0c9879) -
Without the new blend modes("None", "Pre-multiplied" and "Coverage")
introduced in the below commit, the old userspace assumes alpha in
pixel is per-premultiplied by default. So, let's support the default
blend mode properly.commit 468dba6432ca ("drm: Add per-plane pixel blend mode property")
Signed-off-by: Liu Ying
(cherry picked from commit ebb7b4874493a8fb42de636e9421877a54399177)