14 Dec, 2020
40 commits
-
release clk to avoid memory leak
Signed-off-by: Zhou Peng
(cherry picked from commit 76d95bf26376a7f774f2939052e3595b8d2aefdb) -
change module device table name to fix build error as module
rename the c source name to avoid conflict with h1
release clk avoid memory leak
fix typo error in core indexSigned-off-by: Zhou Peng
(cherry picked from commit 099a3ae272672978b7720257f012dcf38e537dc0) -
This fixes build issue when MEDIA_SUPPORT is configured as module.
Signed-off-by: Li Yang
-
Signed-off-by: Li Yang
-
When firmware exception, send error event instead of eos event,
avoid doubt or might send eos event twice(exception + parsed eos data).Signed-off-by: Shijie Qin
Reviewed-by: ming_qian -
When suspend happen between enable-HW and wait-HW-ready, user can't
fetch correct HW registers value after resume due to power off in suspend.
So drvier should explicitly restore and restore HW registers during
suspend/resume.Signed-off-by: Zhou Peng
(cherry picked from commit 1f9442d519bcf8d6abb567e458f47ffbdcff6d87) -
The default aspect ratio supplied by firmware may be not correct.
And V4L2 have some ctrl interface to set it.
V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE,
V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC,
V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH,
V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT
So driver can implement these controls and supply a proper default value
vpu_windsor driver 1.0.3Signed-off-by: Ming Qian
Reviewed-by: Shijie Qin -
Add suspend related operation:
- add ioctl 'HX280ENC_IOCG_EN_CORE' to trigger HW in kernel
- backup/restore HW registers only after frame ready interrupt received
- notify application re-config HW to avoid unexpected HW behaviorSigned-off-by: Zhou Peng
-
Implement hantro vc8000e ioctl32 for imx8mp
Signed-off-by: xiahong.bao
Reviewed-by: Zhou Peng -
One internal index variable 'i' was reused and lead to overflow of array
Signed-off-by: Zhou Peng
-
ioremap has provided non-cached semantics by default since the Linux 2.6
Signed-off-by: Zhou Peng
Signed-off-by: Li Yang -
Add vc8000e driver source code
Signed-off-by: Zhou Peng
-
There are two dcp buffer case:
1. for some small resolution, the calcuated buffer size is too small.
2. after decode h264, the dcp info will be reported by the second seq hdr,
driver need calcuate the correct dcp buffer size using the second seq hdr.Signed-off-by: Ming Qian
Reviewed-by: Shijie Qin -
kfifo memory size must roundup to power-of-two if it is
allocated by driver. Because kfifo elements size will
roundup to power-of-two in kfifo_init(), must guarantee
allocated memory is enough.Signed-off-by: Shijie Qin
Reviewed-by: ming_qian -
Need to call mailbox's request/free channel according to runtime PM.
Ohterwise MUs power always 'on' during runtime suspend.Remove requesting mu from probe, it will be requested through
pm_runtime_resume indirectly, so there is no need call it
directly.Signed-off-by: Shijie Qin
Reviewed-by: ming_qian
Reviewed-by: Zhou Peng
Reviewed-by: Anson Huang -
Need to call mailbox's request/free channel according to runtime PM.
Ohterwise MUs power always 'on' during runtime suspend.Remove requesting mu from probe, it will be requested through
pm_runtime_resume indirectly, so there is no need call it
directly.Signed-off-by: Shijie Qin
Reviewed-by: ming_qian
Reviewed-by: Zhou Peng
Reviewed-by: Anson Huang -
If firmware already finished, and output / capture already streamoff too,
v4l2_poll directly return. Avoid waiting for timeout and delay close
operation.Signed-off-by: Shijie Qin
Reviewed-by: ming_qian -
…ectly handle buffers with same timestamp
The following patch of ts managet is not included,
the ts managet not correctly handle buffers with same timestamp.
Port the patch to vpu_malone.
the subentry is no longer useful, so remove it.Author: Jian Li <jian.li@freescale.com>
Date: Wed Aug 7 11:09:34 2013 +0800Support for rtsp streaming
1) Fix issue in timestamp manager not correctly
handle buffers with same timestamp.
2) Don't need to pause pipeline for rtsp/live streams.
pause/resume pipeline will cause pipeline freeze.Signed-off-by: Ming Qian <ming.qian@nxp.com>
Reviewed-by: Shijie Qin <shijie.qin@nxp.com> -
…P instead of worst case
firmware have supplied the detailed formula to
calcuate the actually dcp buffer size.
so we can allocate dcp buffer according the resolutionSigned-off-by: Ming Qian <ming.qian@nxp.com>
-
…trace some key information
Keep up with the decoder.
Signed-off-by: Ming Qian <ming.qian@nxp.com>
-
…s not sent in some case
If close encoder after streamon immediately,
driver may try to stop instance before really start,
so stop cmd may be not sent,
but start cmd will be send when mem_request event is received.
It'll led to intance hang
driver version 1.0.2Signed-off-by: Ming Qian <ming.qian@nxp.com>
Reviewed-by: Shijie Qin <shijie.qin@nxp.com> -
The legacy one VFL_TYPE_GRABBER was removed since:
dc42cf74d98a ("media: v4l2-dev.h: remove VFL_TYPE_GRABBER")Signed-off-by: Dong Aisheng
-
The legacy one VFL_TYPE_GRABBER was removed since:
dc42cf74d98a ("media: v4l2-dev.h: remove VFL_TYPE_GRABBER")Signed-off-by: Dong Aisheng
-
As eos event, when receive res change event from FW,
don't send it to framework until dst done_list is empty.
Avoid to framework ignore a few decoded frames.Signed-off-by: Shijie Qin
Reviewed-by: ming_qian -
…l memory instead of dma
only cpu will access the v4l2 buffer of output stream,
so there is no need for allocate dma for it
use virtual memory can decreate the usage of dma,
and won't bring side effortSigned-off-by: Ming Qian <ming.qian@nxp.com>
-
set the last_buffer_queued flag
Signed-off-by: Ming Qian
-
1.calcuate a timestamp for the eos frame
2.send eos event after all frames are dequeueedSigned-off-by: Ming Qian
-
supply a default sizeimage for output
Signed-off-by: Ming Qian
-
Suggest to use vmalloc for fifo entity.
Then use kfifo_init to init the fifo structure.
Then we do not have to require contiguous memory from buddy,
especially in a high pressure of memory resource.Signed-off-by: Ming Qian
-
If allocate mbi buffer and free mbi buffer is out of sync.
The buffer status may be incorrect, and led to unpredictable resultSigned-off-by: Ming Qian
Acked-by: Shijie Qin -
Upstream removed 32bit timespec to deal with y2038 issue.
Update MXC drivers to deal with the change.Signed-off-by: Li Yang
Reviewed-by: Shijie Qin -
replace ioremap_nocache with ioremap
ioremap has provided non-cached semantics by default since the Linux 2.6Signed-off-by: Zhou Peng
Signed-off-by: Li Yang -
If the resolution is too bit to support,
driver should report an error event,
so application can do the cancel flowSigned-off-by: Ming Qian
Acked-by: Shijie Qin -
…sume from suspend when run multi h264 instance
don't block the abort when wait res change
Signed-off-by: Ming Qian <ming.qian@nxp.com>
Acked-by: Shijie Qin <shijie.qin@nxp.com> -
…sume from suspend when run multi h264 instance
fix the similar issue of vpu windsor
Signed-off-by: Ming Qian <ming.qian@nxp.com>
Acked-by: Shijie Qin <shijie.qin@nxp.com> -
…sume from suspend when run multi h264 instance
1. make sure mu interrupt in the fifo has been handled.
2. make sure event in the fifo has been handled.Signed-off-by: Ming Qian <ming.qian@nxp.com>
Acked-by: Shijie Qin <shijie.qin@nxp.com> -
…sume from suspend when run multi h264 instance
don't alloc dma in the message handler.
because it may block the eventSigned-off-by: Ming Qian <ming.qian@nxp.com>
Acked-by: Shijie Qin <shijie.qin@nxp.com> -
…sume from suspend when run multi h264 instance
don't clear the pic end flag as it should be cleared by firmware.
Signed-off-by: Ming Qian <ming.qian@nxp.com>
Acked-by: Shijie Qin <shijie.qin@nxp.com> -
…sume from suspend when run multi h264 instance
don't lock around cancel_work_sync, otherwise may cause dead lock.
Signed-off-by: Ming Qian <ming.qian@nxp.com>
Acked-by: Shijie Qin <shijie.qin@nxp.com> -
…sume from suspend when run multi h264 instance
make the fw_flow_mutex a local mutex instead of a global mutex.
the global may cause dead lock when there are one instanceSigned-off-by: Ming Qian <ming.qian@nxp.com>
Acked-by: Shijie Qin <shijie.qin@nxp.com>