summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBarnabás Czémán <barnabas.czeman@mainlining.org>2024-11-03 10:45:34 +0100
committerHans Verkuil <hverkuil@xs4all.nl>2024-11-08 13:38:11 +0100
commitbe5a002d432a77939bb577596db8b515d7a4a543 (patch)
treef14f086be5bdb15b592af7a16218eb1d259ecf2e
parent8964eb23408243ae0016d1f8473c76f64ff25d20 (diff)
media: qcom: camss: implement pm domain ops for VFE v4.1
MSM8917 and MSM8953 have multiple VFE power-domains they have to be powered on/off explicitly. Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
-rw-r--r--drivers/media/platform/qcom/camss/camss-vfe-4-1.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/media/platform/qcom/camss/camss-vfe-4-1.c b/drivers/media/platform/qcom/camss/camss-vfe-4-1.c
index 1bd3a6ef1d04..9a9007c3ff33 100644
--- a/drivers/media/platform/qcom/camss/camss-vfe-4-1.c
+++ b/drivers/media/platform/qcom/camss/camss-vfe-4-1.c
@@ -938,7 +938,10 @@ static irqreturn_t vfe_isr(int irq, void *dev)
*/
static void vfe_4_1_pm_domain_off(struct vfe_device *vfe)
{
- /* nop */
+ if (!vfe->res->has_pd)
+ return;
+
+ vfe_pm_domain_off(vfe);
}
/*
@@ -947,7 +950,10 @@ static void vfe_4_1_pm_domain_off(struct vfe_device *vfe)
*/
static int vfe_4_1_pm_domain_on(struct vfe_device *vfe)
{
- return 0;
+ if (!vfe->res->has_pd)
+ return 0;
+
+ return vfe_pm_domain_on(vfe);
}
static const struct vfe_hw_ops_gen1 vfe_ops_gen1_4_1 = {