Skip to content

Commit fce52ad

Browse files
lumagGeorgi Djakov
authored andcommitted
interconnect: qcom: use icc_sync state for sm8[12]50
In addition to the rest of Qcom interconnect drivers use icc_sync_state for SM8150/SM8250 interconnect drivers to notify the interconnect framework when all consumers are probed and there is no need to keep the bandwidth set to maximum anymore. Also move the BCM initialization before creating the nodes to set the max bandwidth in hardware for the initialization/probing stage. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Fixes: 7d3b0b0 ("interconnect: qcom: Use icc_sync_state") Link: https://lore.kernel.org/r/20201027133418.976687-1-dmitry.baryshkov@linaro.org Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
1 parent 266cd33 commit fce52ad

2 files changed

Lines changed: 8 additions & 6 deletions

File tree

drivers/interconnect/qcom/sm8150.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -551,6 +551,9 @@ static int qnoc_probe(struct platform_device *pdev)
551551
return ret;
552552
}
553553

554+
for (i = 0; i < qp->num_bcms; i++)
555+
qcom_icc_bcm_init(qp->bcms[i], &pdev->dev);
556+
554557
for (i = 0; i < num_nodes; i++) {
555558
size_t j;
556559

@@ -574,9 +577,6 @@ static int qnoc_probe(struct platform_device *pdev)
574577
}
575578
data->num_nodes = num_nodes;
576579

577-
for (i = 0; i < qp->num_bcms; i++)
578-
qcom_icc_bcm_init(qp->bcms[i], &pdev->dev);
579-
580580
platform_set_drvdata(pdev, qp);
581581

582582
return 0;
@@ -627,6 +627,7 @@ static struct platform_driver qnoc_driver = {
627627
.driver = {
628628
.name = "qnoc-sm8150",
629629
.of_match_table = qnoc_of_match,
630+
.sync_state = icc_sync_state,
630631
},
631632
};
632633
module_platform_driver(qnoc_driver);

drivers/interconnect/qcom/sm8250.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -567,6 +567,9 @@ static int qnoc_probe(struct platform_device *pdev)
567567
return ret;
568568
}
569569

570+
for (i = 0; i < qp->num_bcms; i++)
571+
qcom_icc_bcm_init(qp->bcms[i], &pdev->dev);
572+
570573
for (i = 0; i < num_nodes; i++) {
571574
size_t j;
572575

@@ -590,9 +593,6 @@ static int qnoc_probe(struct platform_device *pdev)
590593
}
591594
data->num_nodes = num_nodes;
592595

593-
for (i = 0; i < qp->num_bcms; i++)
594-
qcom_icc_bcm_init(qp->bcms[i], &pdev->dev);
595-
596596
platform_set_drvdata(pdev, qp);
597597

598598
return 0;
@@ -643,6 +643,7 @@ static struct platform_driver qnoc_driver = {
643643
.driver = {
644644
.name = "qnoc-sm8250",
645645
.of_match_table = qnoc_of_match,
646+
.sync_state = icc_sync_state,
646647
},
647648
};
648649
module_platform_driver(qnoc_driver);

0 commit comments

Comments
 (0)