]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
media: synopsys: hdmirx: Count dropped frames
authorNicolas Dufresne <nicolas.dufresne@collabora.com>
Thu, 10 Apr 2025 20:43:47 +0000 (16:43 -0400)
committerHans Verkuil <hverkuil@xs4all.nl>
Fri, 9 May 2025 09:55:07 +0000 (11:55 +0200)
The sequence number communicate the lost frames to userspace. For this
reason, it must be incremented even when a frame is skipped. This allows
userspace such as GStreamer to report the loss.

Fixes: 7b59b132ad439 ("media: platform: synopsys: Add support for HDMI input driver")
Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Reviewed-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c

index f5b3f5010ede55bde28756da326a434cc9245492..7af6765532e33239f4260b29ea82b31494b66213 100644 (file)
@@ -1956,10 +1956,6 @@ static void dma_idle_int_handler(struct snps_hdmirx_dev *hdmirx_dev,
                                        vb_done->field = V4L2_FIELD_NONE;
 
                                hdmirx_vb_done(stream, vb_done);
-                               stream->sequence++;
-                               if (stream->sequence == 30)
-                                       v4l2_dbg(1, debug, v4l2_dev,
-                                                "rcv frames\n");
                        }
 
                        stream->curr_buf = NULL;
@@ -1971,6 +1967,10 @@ static void dma_idle_int_handler(struct snps_hdmirx_dev *hdmirx_dev,
                        v4l2_dbg(3, debug, v4l2_dev,
                                 "%s: next_buf NULL, skip vb_done\n", __func__);
                }
+
+               stream->sequence++;
+               if (stream->sequence == 30)
+                       v4l2_dbg(1, debug, v4l2_dev, "rcv frames\n");
        }
 
 DMA_IDLE_OUT: