[PATCH DNI 21/26] media: pisp_be: Start and stop the media pipeline
Jacopo Mondi
jacopo.mondi at ideasonboard.com
Thu Jul 17 03:45:47 PDT 2025
Call video_device_pipeline_alloc_start() and
video_device_pipeline_stop() at streaming start/stop time for all
video nodes.
Signed-off-by: Jacopo Mondi <jacopo.mondi at ideasonboard.com>
---
drivers/media/platform/raspberrypi/pisp_be/pisp_be.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/media/platform/raspberrypi/pisp_be/pisp_be.c b/drivers/media/platform/raspberrypi/pisp_be/pisp_be.c
index b30891718d8df9c48ce1b83ad9fcafb201105625..423cb21298309c2ba51214b129fbf6e875370c98 100644
--- a/drivers/media/platform/raspberrypi/pisp_be/pisp_be.c
+++ b/drivers/media/platform/raspberrypi/pisp_be/pisp_be.c
@@ -878,6 +878,10 @@ static int pispbe_node_start_streaming(struct vb2_queue *q, unsigned int count)
if (ret < 0)
goto err_return_buffers;
+ ret = video_device_pipeline_alloc_start(&node->vfd);
+ if (ret)
+ goto err_return_buffers;
+
scoped_guard(spinlock_irq, &pispbe->hw_lock) {
node->pispbe->streaming_map |= BIT(node->id);
node->pispbe->sequence = 0;
@@ -933,6 +937,8 @@ static void pispbe_node_stop_streaming(struct vb2_queue *q)
vb2_wait_for_all_buffers(&node->queue);
+ video_device_pipeline_stop(&node->vfd);
+
spin_lock_irq(&pispbe->hw_lock);
pispbe->streaming_map &= ~BIT(node->id);
--
2.49.0
More information about the linux-arm-kernel
mailing list