From: Shawn Lin <[email protected]>

The PCIe pipe clocks are currently left as orphan clocks and remain
enabled indefinitely, which is suboptimal. Add the missing clock gates
so the PCIe driver can explicitly manage them when not in use. In order
not to break compatibility with old DTB, mark them as CLK_IGNORE_UNUSED.

Signed-off-by: Shawn Lin <[email protected]>
Link: 
https://patch.msgid.link/[email protected]
Signed-off-by: Heiko Stuebner <[email protected]>
Signed-off-by: Alexander Shiyan <[email protected]>
---
 drivers/clk/rockchip/clk-rk3568.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/clk/rockchip/clk-rk3568.c 
b/drivers/clk/rockchip/clk-rk3568.c
index 3b0cfdb865..12b3514afb 100644
--- a/drivers/clk/rockchip/clk-rk3568.c
+++ b/drivers/clk/rockchip/clk-rk3568.c
@@ -830,6 +830,8 @@ static struct rockchip_clk_branch rk3568_clk_branches[] 
__initdata = {
                        RK3568_CLKGATE_CON(12), 3, GFLAGS),
        GATE(CLK_PCIE20_AUX_NDFT, "clk_pcie20_aux_ndft", "xin24m", 0,
                        RK3568_CLKGATE_CON(12), 4, GFLAGS),
+       GATE(CLK_PCIE20_PIPE_DFT, "clk_pcie20_pipe_dft", "aclk_pipe", 
CLK_IGNORE_UNUSED,
+                       RK3568_CLKGATE_CON(12), 5, GFLAGS),
        GATE(ACLK_PCIE30X1_MST, "aclk_pcie30x1_mst", "aclk_pipe", 0,
                        RK3568_CLKGATE_CON(12), 8, GFLAGS),
        GATE(ACLK_PCIE30X1_SLV, "aclk_pcie30x1_slv", "aclk_pipe", 0,
@@ -840,6 +842,8 @@ static struct rockchip_clk_branch rk3568_clk_branches[] 
__initdata = {
                        RK3568_CLKGATE_CON(12), 11, GFLAGS),
        GATE(CLK_PCIE30X1_AUX_NDFT, "clk_pcie30x1_aux_ndft", "xin24m", 0,
                        RK3568_CLKGATE_CON(12), 12, GFLAGS),
+       GATE(CLK_PCIE30X1_PIPE_DFT, "clk_pcie30x1_pipe_dft", "aclk_pipe", 
CLK_IGNORE_UNUSED,
+                       RK3568_CLKGATE_CON(12), 13, GFLAGS),
        GATE(ACLK_PCIE30X2_MST, "aclk_pcie30x2_mst", "aclk_pipe", 0,
                        RK3568_CLKGATE_CON(13), 0, GFLAGS),
        GATE(ACLK_PCIE30X2_SLV, "aclk_pcie30x2_slv", "aclk_pipe", 0,
@@ -850,6 +854,8 @@ static struct rockchip_clk_branch rk3568_clk_branches[] 
__initdata = {
                        RK3568_CLKGATE_CON(13), 3, GFLAGS),
        GATE(CLK_PCIE30X2_AUX_NDFT, "clk_pcie30x2_aux_ndft", "xin24m", 0,
                        RK3568_CLKGATE_CON(13), 4, GFLAGS),
+       GATE(CLK_PCIE30X2_PIPE_DFT, "clk_pcie30x2_pipe_dft", "aclk_pipe", 
CLK_IGNORE_UNUSED,
+                       RK3568_CLKGATE_CON(13), 5, GFLAGS),
        GATE(ACLK_SATA0, "aclk_sata0", "aclk_pipe", 0,
                        RK3568_CLKGATE_CON(11), 0, GFLAGS),
        GATE(CLK_SATA0_PMALIVE, "clk_sata0_pmalive", "gpll_20m", 0,
-- 
2.52.0


Reply via email to