[PATCH 10/14] media: qcom: camss: csid-gen2: Enable RDI EOF tracking

From: bryan . odonoghue

Date: Thu Oct 29 2026 - 05:59:36 EST


From: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx>

Enable the EOF interrupt and notify csid_eof_event() to drive the
vb.sequence.

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx>
---
drivers/media/platform/qcom/camss/camss-csid-gen2.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/media/platform/qcom/camss/camss-csid-gen2.c b/drivers/media/platform/qcom/camss/camss-csid-gen2.c
index a351ac4b91728..44f437c3f1ace 100644
--- a/drivers/media/platform/qcom/camss/camss-csid-gen2.c
+++ b/drivers/media/platform/qcom/camss/camss-csid-gen2.c
@@ -39,6 +39,7 @@
+ 0x10 * (rdi))

#define RDIN_IRQ_INFO_INPUT_SOF BIT(12)
+#define RDIN_IRQ_INFO_INPUT_EOF BIT(9)

#define CSID_TOP_IRQ_STATUS 0x70
#define TOP_IRQ_STATUS_RESET_DONE 0
@@ -329,7 +330,7 @@ static void __csid_configure_rdi_irq(struct csid_device *csid, u8 enable, u8 rdi
u32 val = 0;

if (enable)
- val = RDIN_IRQ_INFO_INPUT_SOF;
+ val = RDIN_IRQ_INFO_INPUT_SOF | RDIN_IRQ_INFO_INPUT_EOF;

writel_relaxed(val, csid->base + CSID_CSI2_RDIN_IRQ_MASK(rdi));
}
@@ -388,6 +389,9 @@ static irqreturn_t csid_isr(int irq, void *dev)
writel_relaxed(val, csid->base + CSID_CSI2_RDIN_IRQ_CLEAR(i));
if (val & RDIN_IRQ_INFO_INPUT_SOF)
csid_sof_event(csid, i);
+
+ if (val & RDIN_IRQ_INFO_INPUT_EOF)
+ csid_eof_event(csid, i);
}

val = 1 << IRQ_CMD_CLEAR;

--
2.56.0