On Tue Dec 9 14:36:10 2025 +0200, Sakari Ailus wrote:
> Always request a capture ack from a queued buffer. If streaming is
> disabled, no buffers would have been queued in the first place. Remove the
> streaming field from struct ipu6_isys_stream as well.
> 
> Signed-off-by: Sakari Ailus <[email protected]>
> Reviewed-by: Antti Laakso <[email protected]>

Patch committed.

Thanks,
Sakari Ailus

 drivers/media/pci/intel/ipu6/ipu6-fw-isys.c    | 5 +----
 drivers/media/pci/intel/ipu6/ipu6-isys-queue.c | 5 +----
 drivers/media/pci/intel/ipu6/ipu6-isys-video.h | 1 -
 3 files changed, 2 insertions(+), 9 deletions(-)

---

diff --git a/drivers/media/pci/intel/ipu6/ipu6-fw-isys.c 
b/drivers/media/pci/intel/ipu6/ipu6-fw-isys.c
index 9fc42c591dc3..2c71bf27a91d 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-fw-isys.c
+++ b/drivers/media/pci/intel/ipu6/ipu6-fw-isys.c
@@ -934,10 +934,7 @@ static void ipu6_fw_isys_prepare_buf_set(struct 
isys_fw_msgs *msg,
        set->send_irq_eof = 0;
        set->send_resp_eof = 0;
 
-       if (stream->streaming)
-               set->send_irq_capture_ack = 0;
-       else
-               set->send_irq_capture_ack = 1;
+       set->send_irq_capture_ack = 1;
        set->send_irq_capture_done = 0;
 
        set->send_resp_capture_ack = 1;
diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-queue.c 
b/drivers/media/pci/intel/ipu6/ipu6-isys-queue.c
index fd9935267769..35cfd7a10882 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-isys-queue.c
+++ b/drivers/media/pci/intel/ipu6/ipu6-isys-queue.c
@@ -250,8 +250,6 @@ static int ipu6_isys_stream_start(struct ipu6_isys_video 
*av)
        if (ret)
                return ret;
 
-       stream->streaming = 1;
-
        do {
                ret = ipu6_isys_buffer_list_get(stream, &bl);
                if (ret < 0)
@@ -576,13 +574,12 @@ static void stop_streaming(struct vb2_queue *q)
        ipu6_isys_update_stream_watermark(av, false);
 
        mutex_lock(&av->isys->stream_mutex);
-       if (stream->nr_streaming == stream->nr_queues && stream->streaming)
+       if (stream->nr_streaming == stream->nr_queues)
                ipu6_isys_video_set_streaming(av, 0);
        list_del(&aq->node);
        mutex_unlock(&av->isys->stream_mutex);
 
        stream->nr_streaming--;
-       stream->streaming = 0;
        mutex_unlock(&stream->mutex);
 
        ipu6_isys_stream_cleanup(av);
diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-video.h 
b/drivers/media/pci/intel/ipu6/ipu6-isys-video.h
index 5e0ce7979cfd..5e522686135f 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-isys-video.h
+++ b/drivers/media/pci/intel/ipu6/ipu6-isys-video.h
@@ -54,7 +54,6 @@ struct ipu6_isys_stream {
 
        int nr_queues;  /* Number of capture queues */
        int nr_streaming;
-       int streaming;  /* Has streaming been really started? */
        struct list_head queues;
        struct completion stream_open_completion;
        struct completion stream_close_completion;
_______________________________________________
linuxtv-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to