[PATCH 32/74] media: qcom: camss: vfe: Update an output group's write masters on buffer done
From: bod
Date: Mon Oct 05 2026 - 13:34:18 EST
From: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx>
vfe_buf_done() hands the next buffer to the write master directly with
vfe_wm_update(), so an output group never sees it. Hand it to
vfe_output_update() when the backend provides one, as starting the
output and queuing a buffer already do.
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx>
---
drivers/media/platform/qcom/camss/camss-vfe.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/media/platform/qcom/camss/camss-vfe.c b/drivers/media/platform/qcom/camss/camss-vfe.c
index 20d8b3e1e4459..23c86e08776ea 100644
--- a/drivers/media/platform/qcom/camss/camss-vfe.c
+++ b/drivers/media/platform/qcom/camss/camss-vfe.c
@@ -624,9 +624,12 @@ void vfe_buf_done(struct vfe_device *vfe, int wm)
output->buf[index] = vfe_buf_get_pending(output);
if (output->buf[index]) {
- ops->vfe_wm_update(vfe, output->wm[0].bus_client,
- output->buf[index]->addr[0],
- line);
+ if (ops->vfe_output_update)
+ ops->vfe_output_update(vfe, output, output->buf[index]);
+ else
+ ops->vfe_wm_update(vfe, output->wm[0].bus_client,
+ output->buf[index]->addr[0],
+ line);
ops->reg_update(vfe, line->id);
} else {
output->gen2.active_num--;
--
2.55.0