Message ID | 20231204132323.22811-3-benjamin.gaignard@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Clean up min_buffers_needed misusages | expand |
Hi Benjamin, On Mo, 2023-12-04 at 14:22 +0100, Benjamin Gaignard wrote: > This driver uses min_buffers_needed which vb2 uses to ensure > start_streaming is called when at least 'min_buffers_needed' > buffers are queued. However, this driver doesn't need this, > it can stream fine without any buffers queued. > Just drop this unnecessary restriction. Did you test this? I think there currently is some initialization in start_streaming() that doesn't quite work when starting without any buffers queued (it returns -EINVAL if called with count < 1). For example, the CODA960 decoder initialization expects 512 bytes of bitstream payload to run SEQ_INIT, and for JPEG decoding it tries to determine chroma subsampling from the JPEG header. regards Philipp
diff --git a/drivers/media/platform/chips-media/coda/coda-common.c b/drivers/media/platform/chips-media/coda/coda-common.c index f1d85758f6dd..d5529f988d2c 100644 --- a/drivers/media/platform/chips-media/coda/coda-common.c +++ b/drivers/media/platform/chips-media/coda/coda-common.c @@ -2546,7 +2546,6 @@ static int coda_queue_init(struct coda_ctx *ctx, struct vb2_queue *vq) * would need to be reflected in job_ready(). Currently we expect all * queues to have at least one buffer queued. */ - vq->min_buffers_needed = 1; vq->dev = ctx->dev->dev; return vb2_queue_init(vq);
This driver uses min_buffers_needed which vb2 uses to ensure start_streaming is called when at least 'min_buffers_needed' buffers are queued. However, this driver doesn't need this, it can stream fine without any buffers queued. Just drop this unnecessary restriction. Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com> CC: Philipp Zabel <p.zabel@pengutronix.de> --- drivers/media/platform/chips-media/coda/coda-common.c | 1 - 1 file changed, 1 deletion(-)