This patchset adds the resolution change event to the MFC
decoder. This will be used for triggering the runtime resolution
change.
Changes from v1
---
- Addressed review comments from Hans and Laurent
https://patchwork.kernel.org/patch/4000951/
Pawel Osciak (2):
v4l: Add
From: Pawel Osciak posc...@chromium.org
When a resolution change point is reached, queue an event to signal the
userspace that a new set of buffers is required before decoding can
continue.
Signed-off-by: Pawel Osciak posc...@chromium.org
Signed-off-by: Arun Kumar K arun...@samsung.com
---
From: Pawel Osciak posc...@chromium.org
This event indicates that the decoder has reached a point in the stream,
at which the resolution changes. The userspace is expected to provide a new
set of CAPTURE buffers for the new format before decoding can continue.
The event can also be used for more
Hi Pawel,
On Mon, Apr 21, 2014 at 2:58 PM, Pawel Osciak posc...@chromium.org wrote:
Arun, I think it'd better if you attributed this patch to yourself, I'm not
the author of it. I only wrote patch 2/2 in this series.
Thanks,
Pawel
Sure I will change it. I kept your name as it was a rework
Hi Arun,
Thank you for the patch.
On Monday 21 April 2014 14:56:01 Arun Kumar K wrote:
From: Pawel Osciak posc...@chromium.org
This event indicates that the decoder has reached a point in the stream,
at which the resolution changes. The userspace is expected to provide a new
set of CAPTURE
Hi Laurent,
Thank you for the review.
On Mon, Apr 21, 2014 at 3:54 PM, Laurent Pinchart
laurent.pinch...@ideasonboard.com wrote:
Hi Arun,
Thank you for the patch.
On Monday 21 April 2014 14:56:01 Arun Kumar K wrote:
From: Pawel Osciak posc...@chromium.org
This event indicates that the
The WARN_ON statements in the buffer allocation functions try to catch
conditions where buffers would have already been allocated. As the
buffers are explicitly freed right before being allocated this can't
happen.
Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
---
The macro is meant to test whether the statistics engine uses an
external DMA engine to transfer data or supports DMA directly. As both
cases will be supported by DMA coherent buffers rename the macro to
ISP_STAT_USES_DMAENGINE for improved clarity.
Signed-off-by: Laurent Pinchart
Hello,
This is the second version of the patch set that ports the OMAP3 ISP driver to
the videobuf2 framework. I've tried to keep patches small and reviewable
(24/25 is a bit too big for my taste, but splitting it further would be pretty
difficult), so please look at them for details.
The
Move code common between the isp_stat_bufs_alloc_dma() and
isp_stat_bufs_alloc_iommu() functions to isp_stat_bufs_alloc().
Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
---
drivers/media/platform/omap3isp/ispstat.c | 114 ++
1 file changed, 54
The v4l buffer bytesused field is a value that will be returned to
userspace when the buffer gets dequeued. As such it doesn't need to be
set early at buffer queue time. Move the assignment to buffer completion
in the omap3isp_video_buffer_next() function to prepare for the video
buffers queue
Replace the OMAP-specific IOMMU API usage by the DMA API for LSC. The
table is now allocated using dma_alloc_coherent() and the related sg
table is retrieved using dma_get_sgtable() for sync operations.
Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
---
As a preparation for the switch from the OMAP IOMMU API to the DMA API
move all IOMMU handling code from the video node implementation to the
buffers queue implementation.
Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
---
drivers/media/platform/omap3isp/ispqueue.c | 78
Replace the OMAP-specific IOMMU API usage by the DMA API. All buffers
are now allocated using dma_alloc_coherent() and the related sg table is
retrieved using dma_get_sgtable() for sync operations.
Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
---
In preparation for the switch to the DMA API merge the two functions
that handle buffer preparation for the USERPTR cases (both page-backed
and non page-backed memory).
Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
---
drivers/media/platform/omap3isp/ispqueue.c | 169
Replace the OMAP-specific IOMMU API usage by the DMA API for FPC. The
table is now allocated using dma_alloc_coherent() and the related sg
table is retrieved using dma_get_sgtable() for sync operations.
Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
---
The scatterlist is not needed for those buffers, don't build it.
Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
---
drivers/media/platform/omap3isp/ispqueue.c | 24 +++-
drivers/media/platform/omap3isp/ispqueue.h | 8
2 files changed, 7
Replace the sglen and sglist fields stored in the buffer structure with
an sg_table. This allows using the sg table allocation helper function.
Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
---
drivers/media/platform/omap3isp/ispqueue.c | 108 ++---
And retrieve the related sg table using dma_get_sgtable().
Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
---
drivers/media/platform/omap3isp/ispqueue.c | 57 +-
drivers/media/platform/omap3isp/ispqueue.h | 2 ++
2 files changed, 27 insertions(+),
The fields store buffer addresses as seen from the device. The first one
is used with an external DMA engine while the second one is used with
the ISP DMA engine. As they're never used together, merge them.
Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
---
Userspace PFNMAP buffers need to be mapped to the device like the
userspace non-PFNMAP buffers in order for the DMA mapping implementation
to create IOMMU mappings when we'll switch to the IOMMU-aware DMA
mapping backend.
Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
---
Attach an ARM DMA I/O virtual address space to the ISP device. This
switches to the IOMMU-aware ARM DMA backend, we can thus remove the
explicit calls to the OMAP IOMMU map and unmap functions.
Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
---
drivers/media/platform/Kconfig
This prepares for the move to videobuf2.
Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
---
drivers/media/platform/omap3isp/ispqueue.h | 2 --
drivers/media/platform/omap3isp/ispvideo.c | 39 +++---
drivers/media/platform/omap3isp/ispvideo.h | 2 ++
3
This prepares for the move to videobuf2.
Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
---
drivers/media/platform/omap3isp/ispqueue.c | 102 -
drivers/media/platform/omap3isp/ispqueue.h | 2 -
drivers/media/platform/omap3isp/ispvideo.c | 72
When stopping a video stream the driver waits for ongoing DMA opeations
to complete for the currently active buffer, but doesn't release the
non-active queued buffers. This isn't a problem in most cases as the
video device is usually closed after the stream is stopped, which will
release all the
Replace the custom implementation with a call to the scatterlist helper
function.
Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
---
drivers/media/platform/omap3isp/ispqueue.c | 16 ++--
1 file changed, 2 insertions(+), 14 deletions(-)
diff --git
Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
---
drivers/media/platform/omap3isp/ispccdc.c| 4 ++--
drivers/media/platform/omap3isp/ispccp2.c| 4 ++--
drivers/media/platform/omap3isp/ispcsi2.c| 4 ++--
drivers/media/platform/omap3isp/isppreview.c | 8
The driver stores the IOMMU mapped iovm struct pointer in the buffer
structure but only needs the iovm sg table. Store the sg table instead
to prepare the migration to the DMA API.
Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
---
drivers/media/platform/omap3isp/ispstat.c |
The ispmmu_vmap() and ispmmu_vunmap() functions are just wrappers around
omap_iommu_vmap() and omap_iommu_vunmap(). Inline them.
Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
---
drivers/media/platform/omap3isp/ispqueue.c | 36 --
1 file changed, 4
When suspending a device while a video stream is active all buffers
marked as done but not dequeued yet will be kept across suspend and
given back to userspace after resume. This will result in outdated
buffers being dequeued.
Introduce a new vb2 function to mark all done buffers as erroneous
dma_map_sg() can merge sglist entries, and can thus return a number of
mapped entries different than the original value. Don't consider this as
an error.
Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
---
drivers/media/platform/omap3isp/ispqueue.c | 2 +-
1 file changed, 1
This prepares for the move to videobuf2.
Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
---
drivers/media/platform/omap3isp/isp.c | 6 +++---
drivers/media/platform/omap3isp/ispqueue.c | 13 +
drivers/media/platform/omap3isp/ispqueue.h | 5 +
Replace the custom buffers queue implementation with a videobuf2 queue.
Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
---
drivers/media/platform/omap3isp/Makefile |2 +-
drivers/media/platform/omap3isp/ispqueue.c | 1031
Guys,
I use motion for my old web camera (v4l1) with
export LD_PRELOAD=/usr/lib/i386-linux-gnu/libv4l/v4l2convert.so
v4l2convert.so run decompress helper ov511-decomp.
Processes look like:
/usr/bin/motion
\_ /usr/lib/i386-linux-gnu/libv4lconvert0/ov511-decomp
(motion -
Allow the system to merge CPU wakeups by specifying different minimum
and maximum usleep values.
Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
---
drivers/staging/media/omap4iss/iss.c | 2 +-
drivers/staging/media/omap4iss/iss_csi2.c | 4 ++--
2 files changed, 3
Instead of implementing usleep_range-based poll loops manually (and
slightly differently), create a generic iss_poll_wait_timeout() macro
and use it through the driver.
Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
---
drivers/staging/media/omap4iss/iss.c | 46
Hans, Guennadi,
Could you please review this patch ? I'd like to get it in v3.16.
On Tuesday 11 March 2014 11:14:38 Laurent Pinchart wrote:
The g_std and s_std operations are video-related, move them to the video
ops where they belong.
Signed-off-by: Laurent Pinchart
Hi,
Thanks for the bug report. I must say I don't really
like the suggested fix. Can you try removing the kill
altogether and moving the 2 close calls to above
the waitpid call and see if that helps, I think that
is a cleaner solution.
Thanks Regards,
Hans
On 04/21/2014 03:11 PM, Andrey
Hi Arun,
On Monday 21 April 2014 17:19:26 Arun Kumar K wrote:
On Mon, Apr 21, 2014 at 3:54 PM, Laurent Pinchart wrote:
On Monday 21 April 2014 14:56:01 Arun Kumar K wrote:
From: Pawel Osciak posc...@chromium.org
This event indicates that the decoder has reached a point in the stream,
This message is generated daily by a cron job that builds media_tree for
the kernels and architectures in the list below.
Results of the daily build of media_tree:
date: Tue Apr 22 04:00:15 CEST 2014
git branch: test
git hash: 701b57ee3387b8e3749845b02310b5625fbd8da0
gcc
40 matches
Mail list logo