diff options
| author | Dikshita Agarwal <quic_dikshita@quicinc.com> | 2025-02-07 13:24:48 +0530 |
|---|---|---|
| committer | Hans Verkuil <hverkuil@xs4all.nl> | 2025-02-07 11:51:18 +0100 |
| commit | bb8a95aa038e099f5ec82c466e996b006e05abd7 (patch) | |
| tree | d8808355ae7f8a6db92d81b9cf3a0e1a1dfe390d /drivers/media/platform/qcom/iris/iris_vidc.c | |
| parent | media: iris: introduce host firmware interface with necessary hooks (diff) | |
| download | linux-bb8a95aa038e099f5ec82c466e996b006e05abd7.tar.gz linux-bb8a95aa038e099f5ec82c466e996b006e05abd7.zip | |
media: iris: implement power management
Implement runtime power management for iris, including a platform
specific power on/off sequence.
Tested-by: Stefan Schmidt <stefan.schmidt@linaro.org> # x1e80100 (Dell XPS 13 9345)
Reviewed-by: Stefan Schmidt <stefan.schmidt@linaro.org>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-QRD
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-HDK
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Diffstat (limited to 'drivers/media/platform/qcom/iris/iris_vidc.c')
| -rw-r--r-- | drivers/media/platform/qcom/iris/iris_vidc.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/media/platform/qcom/iris/iris_vidc.c b/drivers/media/platform/qcom/iris/iris_vidc.c index 5dd0ccbaa2fb..b8654e73f516 100644 --- a/drivers/media/platform/qcom/iris/iris_vidc.c +++ b/drivers/media/platform/qcom/iris/iris_vidc.c @@ -3,6 +3,7 @@ * Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved. */ +#include <linux/pm_runtime.h> #include <media/v4l2-ioctl.h> #include <media/v4l2-mem2mem.h> @@ -81,12 +82,19 @@ int iris_open(struct file *filp) struct iris_inst *inst; int ret; + ret = pm_runtime_resume_and_get(core->dev); + if (ret < 0) + return ret; + ret = iris_core_init(core); if (ret) { dev_err(core->dev, "core init failed\n"); + pm_runtime_put_sync(core->dev); return ret; } + pm_runtime_put_sync(core->dev); + inst = core->iris_platform_data->get_instance(); if (!inst) return -ENOMEM; |
