From adc98ccffc2571942854dd692b7f71d0788c131e Mon Sep 17 00:00:00 2001 From: Can Guo Date: Fri, 24 Sep 2021 00:22:41 -0700 Subject: [PATCH] msm: ep-pcie: Fix icc bus vote and add icc bus unvote We need to perform icc bus vote when enable endpoint and bus unvote when disable endpoint. However, icc_path is released during endpoint disable (by ep_pcie_clk_deinit()). This change fixes icc bus vote and adds icc bus unvote accordingly. Change-Id: Iaa4c6e4df5923a325f038dba689ef17bc746bab4 Signed-off-by: Can Guo --- drivers/platform/msm/ep_pcie/ep_pcie_core.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/drivers/platform/msm/ep_pcie/ep_pcie_core.c b/drivers/platform/msm/ep_pcie/ep_pcie_core.c index 29efab766e3d..d3e01d5606f0 100644 --- a/drivers/platform/msm/ep_pcie/ep_pcie_core.c +++ b/drivers/platform/msm/ep_pcie/ep_pcie_core.c @@ -437,7 +437,7 @@ static int ep_pcie_clk_init(struct ep_pcie_dev_t *dev) static void ep_pcie_clk_deinit(struct ep_pcie_dev_t *dev) { - int i; + int i, rc; EP_PCIE_DBG(dev, "PCIe V%d\n", dev->rev); @@ -446,11 +446,10 @@ static void ep_pcie_clk_deinit(struct ep_pcie_dev_t *dev) clk_disable_unprepare(dev->clk[i].hdl); if (dev->icc_path) { - icc_put(dev->icc_path); - dev->icc_path = 0; - EP_PCIE_DBG(dev, - "PCIe V%d: relinquish bus bandwidth\n", - dev->rev); + rc = icc_set_bw(dev->icc_path, 0, 0); + EP_PCIE_DBG(dev, + "PCIe V%d: relinquish bus bandwidth returns %d\n", + dev->rev, rc); } if (!m2_enabled) {