On 13/05/2026 22:24, Erikas Bitovtas wrote:
+static int vcodec_domains_enable(struct venus_core *core)
+{
+ const struct venus_resources *res = core->res;
+ struct device *pd_dev;
+ int i = 0, ret;
+
+ if (!res->vcodec_pmdomains)
+ return 0;
+
+ for (; i < res->vcodec_pmdomains_num; i++) {
+ pd_dev = core->pmdomains->pd_devs[i];
+ ret = pm_runtime_resume_and_get(pd_dev);
+ if (ret)
+ goto err;
+
+ ret = dev_pm_genpd_set_hwmode(pd_dev, true);
+ if (ret && ret != -EOPNOTSUPP)
+ goto err;
+ }
+
+ return 0;
+err:
+ while (i--) {
+ pd_dev = core->pmdomains->pd_devs[i];
+ dev_pm_genpd_set_hwmode(pd_dev, false);
+ pm_runtime_put_sync(pd_dev);
+ }
\n> + return ret;
+}
+
+
Reviewed-by: Bryan O'Donoghue <[email protected]>
---
bod