[PATCH 42/74] media: qcom: camss: vfe: Pass struct line to wm_stop
From: Bryan O'Donoghue
Date: Mon Oct 05 2026 - 13:33:44 EST
Passing the write-master is a function of being tied to RDI ports - almost
everywhere we pass wm we mean to pass line. Amend wm_stop to take the
struct line it needs to take. Once we get done converting all of the VFEs
to the new interface we can dispense with passing WM.
Signed-off-by: Bryan O'Donoghue <bod@xxxxxxxxxx>
---
drivers/media/platform/qcom/camss/camss-vfe-17x.c | 2 +-
drivers/media/platform/qcom/camss/camss-vfe-340.c | 2 +-
drivers/media/platform/qcom/camss/camss-vfe-480.c | 2 +-
drivers/media/platform/qcom/camss/camss-vfe-680.c | 2 +-
drivers/media/platform/qcom/camss/camss-vfe-690.c | 2 +-
drivers/media/platform/qcom/camss/camss-vfe-780.c | 2 +-
drivers/media/platform/qcom/camss/camss-vfe.c | 2 +-
drivers/media/platform/qcom/camss/camss-vfe.h | 3 ++-
8 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/drivers/media/platform/qcom/camss/camss-vfe-17x.c b/drivers/media/platform/qcom/camss/camss-vfe-17x.c
index 8cb0c028a3bce..52812d34530d6 100644
--- a/drivers/media/platform/qcom/camss/camss-vfe-17x.c
+++ b/drivers/media/platform/qcom/camss/camss-vfe-17x.c
@@ -247,7 +247,7 @@ static void vfe_wm_start(struct vfe_device *vfe, u8 wm, struct vfe_line *line)
writel_relaxed(val, vfe->base + VFE_BUS_WM_CFG(wm));
}
-static void vfe_wm_stop(struct vfe_device *vfe, u8 wm)
+static void vfe_wm_stop(struct vfe_device *vfe, u8 wm, struct vfe_line *line)
{
/* Disable WM */
writel_relaxed(0, vfe->base + VFE_BUS_WM_CFG(wm));
diff --git a/drivers/media/platform/qcom/camss/camss-vfe-340.c b/drivers/media/platform/qcom/camss/camss-vfe-340.c
index 6edbfcf766dad..87f3e8f2ff539 100644
--- a/drivers/media/platform/qcom/camss/camss-vfe-340.c
+++ b/drivers/media/platform/qcom/camss/camss-vfe-340.c
@@ -335,7 +335,7 @@ static void vfe_wm_start(struct vfe_device *vfe, u8 wm, struct vfe_line *line)
vfe->id, client, pix->width, pix->height, stride);
}
-static void vfe_wm_stop(struct vfe_device *vfe, u8 wm)
+static void vfe_wm_stop(struct vfe_device *vfe, u8 wm, struct vfe_line *line)
{
u8 client = tfe_wm_client_map[wm];
diff --git a/drivers/media/platform/qcom/camss/camss-vfe-480.c b/drivers/media/platform/qcom/camss/camss-vfe-480.c
index 73bfb53266c3e..6edbd8119aa7d 100644
--- a/drivers/media/platform/qcom/camss/camss-vfe-480.c
+++ b/drivers/media/platform/qcom/camss/camss-vfe-480.c
@@ -127,7 +127,7 @@ static void vfe_wm_start(struct vfe_device *vfe, u8 wm, struct vfe_line *line)
vfe->base + VFE_BUS_WM_CFG(wm));
}
-static void vfe_wm_stop(struct vfe_device *vfe, u8 wm)
+static void vfe_wm_stop(struct vfe_device *vfe, u8 wm, struct vfe_line *line)
{
wm = RDI_WM(wm); /* map to actual WM used (from wm=RDI index) */
writel_relaxed(0, vfe->base + VFE_BUS_WM_CFG(wm));
diff --git a/drivers/media/platform/qcom/camss/camss-vfe-680.c b/drivers/media/platform/qcom/camss/camss-vfe-680.c
index c002ff126135a..d9a6402e8d928 100644
--- a/drivers/media/platform/qcom/camss/camss-vfe-680.c
+++ b/drivers/media/platform/qcom/camss/camss-vfe-680.c
@@ -193,7 +193,7 @@ static void vfe_wm_start(struct vfe_device *vfe, u8 rdi, struct vfe_line *line)
rdi, wm, pix->width, pix->height, stride);
}
-static void vfe_wm_stop(struct vfe_device *vfe, u8 rdi)
+static void vfe_wm_stop(struct vfe_device *vfe, u8 rdi, struct vfe_line *line)
{
u8 wm = RDI_WM(rdi);
diff --git a/drivers/media/platform/qcom/camss/camss-vfe-690.c b/drivers/media/platform/qcom/camss/camss-vfe-690.c
index 88dc902dd30dd..fb40560d4ab41 100644
--- a/drivers/media/platform/qcom/camss/camss-vfe-690.c
+++ b/drivers/media/platform/qcom/camss/camss-vfe-690.c
@@ -90,7 +90,7 @@ static void vfe_wm_start(struct vfe_device *vfe, u8 wm, struct vfe_line *line)
writel(WM_CFG_EN | WM_CFG_MODE, vfe->base + VFE_BUS_WM_CFG(wm));
}
-static void vfe_wm_stop(struct vfe_device *vfe, u8 wm)
+static void vfe_wm_stop(struct vfe_device *vfe, u8 wm, struct vfe_line *line)
{
wm = RDI_WM(wm);
writel(0, vfe->base + VFE_BUS_WM_CFG(wm));
diff --git a/drivers/media/platform/qcom/camss/camss-vfe-780.c b/drivers/media/platform/qcom/camss/camss-vfe-780.c
index 32b6565aa91df..93f7c7a8e33f7 100644
--- a/drivers/media/platform/qcom/camss/camss-vfe-780.c
+++ b/drivers/media/platform/qcom/camss/camss-vfe-780.c
@@ -122,7 +122,7 @@ static void vfe_wm_start(struct vfe_device *vfe, u8 wm, struct vfe_line *line)
writel(WM_CFG_EN | WM_CFG_MODE, vfe->base + VFE_BUS_WM_CFG(wm));
}
-static void vfe_wm_stop(struct vfe_device *vfe, u8 wm)
+static void vfe_wm_stop(struct vfe_device *vfe, u8 wm, struct vfe_line *line)
{
wm = RDI_WM(wm);
writel(0, vfe->base + VFE_BUS_WM_CFG(wm));
diff --git a/drivers/media/platform/qcom/camss/camss-vfe.c b/drivers/media/platform/qcom/camss/camss-vfe.c
index 926cb7559f78e..e57590b417f3d 100644
--- a/drivers/media/platform/qcom/camss/camss-vfe.c
+++ b/drivers/media/platform/qcom/camss/camss-vfe.c
@@ -1012,7 +1012,7 @@ static int vfe_disable_output(struct vfe_line *line)
ops->vfe_output_stop(vfe, output);
else
for (i = 0; i < output->wm_num; i++)
- ops->vfe_wm_stop(vfe, output->wm[i].bus_client);
+ ops->vfe_wm_stop(vfe, output->wm[i].bus_client, line);
output->gen2.active_num = 0;
spin_unlock_irqrestore(&vfe->output_lock, flags);
diff --git a/drivers/media/platform/qcom/camss/camss-vfe.h b/drivers/media/platform/qcom/camss/camss-vfe.h
index 8fee26a0dc2e6..b84b324940b64 100644
--- a/drivers/media/platform/qcom/camss/camss-vfe.h
+++ b/drivers/media/platform/qcom/camss/camss-vfe.h
@@ -175,7 +175,8 @@ struct vfe_hw_ops {
/* RDI based API - deprecated */
void (*vfe_wm_start)(struct vfe_device *vfe, u8 wm,
struct vfe_line *line);
- void (*vfe_wm_stop)(struct vfe_device *vfe, u8 wm);
+ void (*vfe_wm_stop)(struct vfe_device *vfe, u8 wm,
+ struct vfe_line *line);
void (*vfe_buf_done)(struct vfe_device *vfe, int port_id);
void (*vfe_wm_update)(struct vfe_device *vfe, u8 wm, u32 addr,
struct vfe_line *line);
--
2.55.0