]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
interconnect: qcom: sc7180: Init BCMs before creating the nodes
authorGeorgi Djakov <georgi.djakov@linaro.org>
Tue, 13 Oct 2020 13:59:13 +0000 (16:59 +0300)
committerGeorgi Djakov <georgi.djakov@linaro.org>
Thu, 15 Oct 2020 06:24:00 +0000 (09:24 +0300)
Currently if we use sync_state, by default the bandwidth is maxed out,
but in order to set this in hardware, the BCMs (Bus Clock Managers) need
to be initialized first. Move the BCM initialization before creating the
nodes to fix this.

Fixes: 7d3b0b0d8184 ("interconnect: qcom: Use icc_sync_state")
Acked-by: Saravana Kannan <saravanak@google.com>
Link: https://lore.kernel.org/r/20201013135913.29059-3-georgi.djakov@linaro.org
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
drivers/interconnect/qcom/sc7180.c

index bf11b82ed55cf8a521b384c57f0318c8f219bf76..8d9044ed18ab9efbd25f4a49922abdd587e41879 100644 (file)
@@ -553,6 +553,9 @@ static int qnoc_probe(struct platform_device *pdev)
                return ret;
        }
 
+       for (i = 0; i < qp->num_bcms; i++)
+               qcom_icc_bcm_init(qp->bcms[i], &pdev->dev);
+
        for (i = 0; i < num_nodes; i++) {
                size_t j;
 
@@ -576,9 +579,6 @@ static int qnoc_probe(struct platform_device *pdev)
        }
        data->num_nodes = num_nodes;
 
-       for (i = 0; i < qp->num_bcms; i++)
-               qcom_icc_bcm_init(qp->bcms[i], &pdev->dev);
-
        platform_set_drvdata(pdev, qp);
 
        return 0;