[PATCH DNI 21/26] media: pisp_be: Start and stop the media pipeline

From: Jacopo Mondi
Date: Thu Jul 17 2025 - 06:51:23 EST


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@xxxxxxxxxxxxxxxx>
---
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