diff options
author | Sebastian Fricke <sebastian.fricke@collabora.com> | 2023-11-08 22:29:21 +0300 |
---|---|---|
committer | Som Qin <som.qin@starfivetech.com> | 2024-01-23 11:51:00 +0300 |
commit | d57180a8d5cb69518f598e7c8e53b87a31ca0223 (patch) | |
tree | 6ef337796fdcd84b8e054086fe957bd1429ce255 | |
parent | 86117fcef7bd4b7201630d36edb8ee704c5b7655 (diff) | |
download | linux-d57180a8d5cb69518f598e7c8e53b87a31ca0223.tar.xz |
media: v4l2: Allow M2M job queuing w/o streaming CAP queue
Allow decoder drivers to enable set the ignore_streaming flag on their
CAPTURE queue, to allow queuing jobs to the M2M ready queue and perform
firmware sequence analysis with just a streaming OUTPUT queue and
available bitstream data.
Signed-off-by: Sebastian Fricke <sebastian.fricke@collabora.com>
Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
-rw-r--r-- | drivers/media/v4l2-core/v4l2-mem2mem.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/media/v4l2-core/v4l2-mem2mem.c b/drivers/media/v4l2-core/v4l2-mem2mem.c index be7fde1ed3ea..08727bf5fcf9 100644 --- a/drivers/media/v4l2-core/v4l2-mem2mem.c +++ b/drivers/media/v4l2-core/v4l2-mem2mem.c @@ -301,9 +301,12 @@ static void __v4l2_m2m_try_queue(struct v4l2_m2m_dev *m2m_dev, dprintk("Trying to schedule a job for m2m_ctx: %p\n", m2m_ctx); - if (!m2m_ctx->out_q_ctx.q.streaming - || !m2m_ctx->cap_q_ctx.q.streaming) { - dprintk("Streaming needs to be on for both queues\n"); + if (!m2m_ctx->out_q_ctx.q.streaming || + (!m2m_ctx->cap_q_ctx.q.streaming && !m2m_ctx->ignore_cap_streaming)) { + if (!m2m_ctx->ignore_cap_streaming) + dprintk("Streaming needs to be on for both queues\n"); + else + dprintk("Streaming needs to be on for the OUTPUT queue\n"); return; } |