[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251209123136.273938-7-isaac.scott@ideasonboard.com>
Date: Tue, 9 Dec 2025 12:31:36 +0000
From: Isaac Scott <isaac.scott@...asonboard.com>
To: dafna@...tmail.com
Cc: laurent.pinchart@...asonboard.com,
mchehab@...nel.org,
heiko@...ech.de,
linux-media@...r.kernel.org,
linux-rockchip@...ts.infradead.org,
linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org,
Isaac Scott <isaac.scott@...asonboard.com>
Subject: [RFC PATCH 6/6] media: rkisp1: Give buffers back instead of dropping in bypass mode
In the data mode used for YUV passthrough, falling VSYNC events are used
to determine when a buffer is complete. This means there is no 'Frame
End' signal.
Previously, all buffers would be dropped when bypass mode was active.
Instead of dropping every frame, we should return the buffer to user
space if it is marked as complete by a falling VSYNC signal.
Signed-off-by: Isaac Scott <isaac.scott@...asonboard.com>
---
drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c
index 6dcefd144d5a..ffce08e45200 100644
--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c
+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c
@@ -832,6 +832,11 @@ irqreturn_t rkisp1_capture_isr(int irq, void *ctx)
for (i = 0; i < dev_count; ++i) {
struct rkisp1_capture *cap = &rkisp1->capture_devs[i];
+ if (rkisp1->in_bypass) {
+ rkisp1_handle_buffer(cap);
+ continue;
+ }
+
if (!(status & RKISP1_CIF_MI_FRAME(cap)))
continue;
if (!cap->is_stopping) {
--
2.43.0
Powered by blists - more mailing lists