]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
interconnect: qcom: sdm845: Init BCMs before creating the nodes
authorGeorgi Djakov <georgi.djakov@linaro.org>
Tue, 13 Oct 2020 13:59:12 +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-2-georgi.djakov@linaro.org
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
drivers/interconnect/qcom/sdm845.c

index 67e8fc3396f8587687cfe163515b27bee374aa18..5304aea3b05850cdb986174fe85d9abb9fc2444f 100644 (file)
@@ -489,6 +489,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;
 
@@ -512,9 +515,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;