mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-10 14:19:09 -04:00
Merge "interconnect: qcom: yupik: Configure QoS during probe"
This commit is contained in:
commit
1f03c355b8
1 changed files with 10 additions and 34 deletions
|
|
@ -262,7 +262,7 @@ static struct qcom_icc_qosbox qxm_crypto_qos = {
|
|||
.offsets = { 0x1d000 },
|
||||
.config = &(struct qos_config) {
|
||||
.prio = 2,
|
||||
.urg_fwd = 1,
|
||||
.urg_fwd = 0,
|
||||
},
|
||||
};
|
||||
|
||||
|
|
@ -298,44 +298,22 @@ static struct qcom_icc_node qxm_ipa = {
|
|||
.links = { SLAVE_A2NOC_SNOC },
|
||||
};
|
||||
|
||||
static struct qcom_icc_qosbox xm_pcie3_0_qos = {
|
||||
.regs = icc_qnoc_qos_regs[ICC_QNOC_QOSGEN_TYPE_RPMH],
|
||||
.num_ports = 1,
|
||||
.offsets = { 0xd000 },
|
||||
.config = &(struct qos_config) {
|
||||
.prio = 2,
|
||||
.urg_fwd = 0,
|
||||
},
|
||||
};
|
||||
|
||||
static struct qcom_icc_node xm_pcie3_0 = {
|
||||
.name = "xm_pcie3_0",
|
||||
.id = MASTER_PCIE_0,
|
||||
.channels = 1,
|
||||
.buswidth = 8,
|
||||
.noc_ops = &qcom_qnoc4_ops,
|
||||
.qosbox = &xm_pcie3_0_qos,
|
||||
.num_links = 1,
|
||||
.links = { SLAVE_ANOC_PCIE_GEM_NOC },
|
||||
};
|
||||
|
||||
static struct qcom_icc_qosbox xm_pcie3_1_qos = {
|
||||
.regs = icc_qnoc_qos_regs[ICC_QNOC_QOSGEN_TYPE_RPMH],
|
||||
.num_ports = 1,
|
||||
.offsets = { 0xf000 },
|
||||
.config = &(struct qos_config) {
|
||||
.prio = 2,
|
||||
.urg_fwd = 0,
|
||||
},
|
||||
};
|
||||
|
||||
static struct qcom_icc_node xm_pcie3_1 = {
|
||||
.name = "xm_pcie3_1",
|
||||
.id = MASTER_PCIE_1,
|
||||
.channels = 1,
|
||||
.buswidth = 8,
|
||||
.noc_ops = &qcom_qnoc4_ops,
|
||||
.qosbox = &xm_pcie3_1_qos,
|
||||
.num_links = 1,
|
||||
.links = { SLAVE_ANOC_PCIE_GEM_NOC },
|
||||
};
|
||||
|
|
@ -640,23 +618,12 @@ static struct qcom_icc_node qnm_mnoc_sf = {
|
|||
.links = { SLAVE_GEM_NOC_CNOC, SLAVE_LLCC },
|
||||
};
|
||||
|
||||
static struct qcom_icc_qosbox qnm_pcie_qos = {
|
||||
.regs = icc_qnoc_qos_regs[ICC_QNOC_QOSGEN_TYPE_RPMH],
|
||||
.num_ports = 1,
|
||||
.offsets = { 0xd2000 },
|
||||
.config = &(struct qos_config) {
|
||||
.prio = 2,
|
||||
.urg_fwd = 0,
|
||||
},
|
||||
};
|
||||
|
||||
static struct qcom_icc_node qnm_pcie = {
|
||||
.name = "qnm_pcie",
|
||||
.id = MASTER_ANOC_PCIE_GEM_NOC,
|
||||
.channels = 1,
|
||||
.buswidth = 16,
|
||||
.noc_ops = &qcom_qnoc4_ops,
|
||||
.qosbox = &qnm_pcie_qos,
|
||||
.num_links = 2,
|
||||
.links = { SLAVE_GEM_NOC_CNOC, SLAVE_LLCC },
|
||||
};
|
||||
|
|
@ -2582,6 +2549,8 @@ static int qnoc_probe(struct platform_device *pdev)
|
|||
if (qp->num_clks < 0)
|
||||
return qp->num_clks;
|
||||
|
||||
ret = clk_bulk_prepare_enable(qp->num_clks, qp->clks);
|
||||
|
||||
for (i = 0; i < num_nodes; i++) {
|
||||
size_t j;
|
||||
|
||||
|
|
@ -2596,6 +2565,11 @@ static int qnoc_probe(struct platform_device *pdev)
|
|||
goto err;
|
||||
}
|
||||
|
||||
if (qnodes[i]->qosbox) {
|
||||
qnodes[i]->noc_ops->set_qos(qnodes[i]);
|
||||
qnodes[i]->qosbox->initialized = true;
|
||||
}
|
||||
|
||||
node->name = qnodes[i]->name;
|
||||
node->data = qnodes[i];
|
||||
icc_node_add(node, provider);
|
||||
|
|
@ -2611,6 +2585,8 @@ static int qnoc_probe(struct platform_device *pdev)
|
|||
}
|
||||
data->num_nodes = num_nodes;
|
||||
|
||||
clk_bulk_disable_unprepare(qp->num_clks, qp->clks);
|
||||
|
||||
for (i = 0; i < qp->num_bcms; i++)
|
||||
qcom_icc_bcm_init(qp->bcms[i], &pdev->dev);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue