interconnect: icc-rpm: Add support for bus power domain
authorYassine Oudjana <y.oudjana@protonmail.com>
Thu, 21 Oct 2021 13:24:42 +0000 (13:24 +0000)
committerGeorgi Djakov <djakov@kernel.org>
Mon, 22 Nov 2021 16:25:48 +0000 (18:25 +0200)
Add support for attaching to a power domain. This is required
for Aggregate 0 NoC on MSM8996, which is powered by a GDSC.

Signed-off-by: Yassine Oudjana <y.oudjana@protonmail.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Tested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> #db820c
Link: https://lore.kernel.org/r/20211021132329.234942-3-y.oudjana@protonmail.com
Signed-off-by: Georgi Djakov <djakov@kernel.org>
drivers/interconnect/qcom/icc-rpm.c
drivers/interconnect/qcom/icc-rpm.h

index ef7999a08c8bf2a18437dd8829c0d929bee7b05e..6b918d082ab6982c0d44aef9d5132260474647e5 100644 (file)
@@ -11,6 +11,7 @@
 #include <linux/of_device.h>
 #include <linux/of_platform.h>
 #include <linux/platform_device.h>
+#include <linux/pm_domain.h>
 #include <linux/regmap.h>
 #include <linux/slab.h>
 
@@ -340,6 +341,12 @@ int qnoc_probe(struct platform_device *pdev)
        if (ret)
                return ret;
 
+       if (desc->has_bus_pd) {
+               ret = dev_pm_domain_attach(dev, true);
+               if (ret)
+                       return ret;
+       }
+
        provider = &qp->provider;
        INIT_LIST_HEAD(&provider->nodes);
        provider->dev = dev;
index f5744de4da19d5320068bd3dd3e63f4f1184a700..fd06a3b9e3f7671a5f3eb22eb38c1be0319f5557 100644 (file)
@@ -77,6 +77,7 @@ struct qcom_icc_desc {
        size_t num_nodes;
        const char * const *clocks;
        size_t num_clocks;
+       bool has_bus_pd;
        bool is_bimc_node;
        const struct regmap_config *regmap_cfg;
        unsigned int qos_offset;