On 12/4/23 16:03, Hans Verkuil wrote: > On 04/12/2023 14:22, 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. >> >> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxxxxx> >> CC: Eugen Hristev <eugen.hristev@xxxxxxxxxxxxx> >> --- >> drivers/media/platform/microchip/microchip-isc-base.c | 1 - >> 1 file changed, 1 deletion(-) >> >> diff --git a/drivers/media/platform/microchip/microchip-isc-base.c b/drivers/media/platform/microchip/microchip-isc-base.c >> index 3fba0e2844b6..63c39981f47a 100644 >> --- a/drivers/media/platform/microchip/microchip-isc-base.c >> +++ b/drivers/media/platform/microchip/microchip-isc-base.c >> @@ -1821,7 +1821,6 @@ static int isc_async_complete(struct v4l2_async_notifier *notifier) >> q->mem_ops = &vb2_dma_contig_memops; >> q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; >> q->lock = &isc->lock; >> - q->min_buffers_needed = 1; > > I don't think this can be dropped. Looking at the isc_start_streaming() function > it expects to have at least one buffer queued. Stream goes frame by frame with DMA directly into the buffers. Will this still work without any buffers queued ? > > Regards, > > Hans > >> q->dev = isc->dev; >> >> ret = vb2_queue_init(q); >