Patchwork [v2,1/3] clk: qcom: gcc-msm8998: Drop hmss_dvm and lpass_at

login
register
mail settings
Submitter Bjorn Andersson
Date Dec. 3, 2018, 6:33 p.m.
Message ID <20181203183330.2073-2-bjorn.andersson@linaro.org>
Download mbox | patch
Permalink /patch/671139/
State New
Headers show

Comments

Bjorn Andersson - Dec. 3, 2018, 6:33 p.m.
Disabling gcc_hmss_dvm_bus_clk and gcc_lpass_at_clk causes the board to
lock up, and by that preventing the kernel to boot without
clk_ignore_unused.

gcc_hmss_dvm_bus_clk is marked always-on downstream, but not referenced,
and gcc_lpass_at_clk isn't mentioned. So let's remove them until they
are needed by some client.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
---

Changes since v1:
- Drop the clocks, rather than marking them critical.

 drivers/clk/qcom/gcc-msm8998.c | 28 ----------------------------
 1 file changed, 28 deletions(-)
Marc Gonzalez - Dec. 4, 2018, 2:37 p.m.
On 03/12/2018 19:33, Bjorn Andersson wrote:

> Disabling gcc_hmss_dvm_bus_clk and gcc_lpass_at_clk causes the board to
> lock up, and by that preventing the kernel to boot without
> clk_ignore_unused.
> 
> gcc_hmss_dvm_bus_clk is marked always-on downstream, but not referenced,
> and gcc_lpass_at_clk isn't mentioned. So let's remove them until they
> are needed by some client.

Hello Bjorn,

What about gcc_gpu_bimc_gfx_clk?

AFAICT, it doesn't lock the system up, but the kernel warns:

[    2.171148] ------------[ cut here ]------------
[    2.173740] gcc_gpu_bimc_gfx_clk status stuck at 'on'
[    2.173996] WARNING: CPU: 3 PID: 1 at drivers/clk/qcom/clk-branch.c:92 clk_branch_toggle+0x190/0x1b0
[    2.183475] Modules linked in:
[    2.192554] CPU: 3 PID: 1 Comm: swapper/0 Tainted: G S                4.20.0-rc4 #23
[    2.195509] Hardware name: Qualcomm Technologies, Inc. MSM8998 v1 MTP (DT)
[    2.203389] pstate: 60000085 (nZCv daIf -PAN -UAO)
[    2.210016] pc : clk_branch_toggle+0x190/0x1b0
[    2.214781] lr : clk_branch_toggle+0x190/0x1b0
[    2.219213] sp : ffff00000807bcf0
[    2.223609] x29: ffff00000807bcf0 x28: 0000000000000008 
[    2.227041] x27: ffff0000089db070 x26: ffff000008961378 
[    2.232425] x25: ffff0000088da4b8 x24: 0000000000000000 
[    2.237721] x23: ffff000009138a08 x22: ffff000008414990 
[    2.243016] x21: 0000000000000000 x20: 0000000000000000 
[    2.248312] x19: ffff0000090e9000 x18: ffffffffffffffff 
[    2.253608] x17: 0000000000000000 x16: 0000000000000000 
[    2.258902] x15: ffff0000090e9648 x14: ffff000089193187 
[    2.264197] x13: ffff000009193195 x12: ffff0000090fb000 
[    2.269493] x11: ffff00000807bcf0 x10: ffff00000807bcf0 
[    2.274789] x9 : ffff00000807bcf0 x8 : 6e6f27207461206b 
[    2.280084] x7 : 6375747320737574 x6 : ffff000009192c89 
[    2.285380] x5 : 0000000000000000 x4 : 0000000000000000 
[    2.290676] x3 : ffffffffffffffff x2 : 00008000f5251000 
[    2.295971] x1 : e0dbf26541ede800 x0 : 0000000000000000 
[    2.301272] Call trace:
[    2.306491]  clk_branch_toggle+0x190/0x1b0
[    2.308705]  clk_branch2_disable+0x18/0x20
[    2.312890]  clk_disable_unused_subtree+0xc4/0xe0
[    2.316960]  clk_disable_unused+0x3c/0x130
[    2.321736]  do_one_initcall+0x5c/0x180
[    2.325745]  kernel_init_freeable+0x198/0x244
[    2.329469]  kernel_init+0x10/0x110
[    2.333942]  ret_from_fork+0x10/0x20
[    2.337257] ---[ end trace 57f62b628c127ef8 ]---


Regards.
Bjorn Andersson - Dec. 4, 2018, 8:25 p.m.
On Tue 04 Dec 06:37 PST 2018, Marc Gonzalez wrote:

> On 03/12/2018 19:33, Bjorn Andersson wrote:
> 
> > Disabling gcc_hmss_dvm_bus_clk and gcc_lpass_at_clk causes the board to
> > lock up, and by that preventing the kernel to boot without
> > clk_ignore_unused.
> > 
> > gcc_hmss_dvm_bus_clk is marked always-on downstream, but not referenced,
> > and gcc_lpass_at_clk isn't mentioned. So let's remove them until they
> > are needed by some client.
> 
> Hello Bjorn,
> 
> What about gcc_gpu_bimc_gfx_clk?
> 

The ufs clocks was updated because the ufs driver would fail to enable
them and by that fail. But I have yet to research what the appropriate
solution for this this particular clock is.

> AFAICT, it doesn't lock the system up, but the kernel warns:
> 

Right, so it seems to only be an annoyance for now. Let's revisit this.

Regards,
Bjorn

> [    2.171148] ------------[ cut here ]------------
> [    2.173740] gcc_gpu_bimc_gfx_clk status stuck at 'on'
> [    2.173996] WARNING: CPU: 3 PID: 1 at drivers/clk/qcom/clk-branch.c:92 clk_branch_toggle+0x190/0x1b0
> [    2.183475] Modules linked in:
> [    2.192554] CPU: 3 PID: 1 Comm: swapper/0 Tainted: G S                4.20.0-rc4 #23
> [    2.195509] Hardware name: Qualcomm Technologies, Inc. MSM8998 v1 MTP (DT)
> [    2.203389] pstate: 60000085 (nZCv daIf -PAN -UAO)
> [    2.210016] pc : clk_branch_toggle+0x190/0x1b0
> [    2.214781] lr : clk_branch_toggle+0x190/0x1b0
> [    2.219213] sp : ffff00000807bcf0
> [    2.223609] x29: ffff00000807bcf0 x28: 0000000000000008 
> [    2.227041] x27: ffff0000089db070 x26: ffff000008961378 
> [    2.232425] x25: ffff0000088da4b8 x24: 0000000000000000 
> [    2.237721] x23: ffff000009138a08 x22: ffff000008414990 
> [    2.243016] x21: 0000000000000000 x20: 0000000000000000 
> [    2.248312] x19: ffff0000090e9000 x18: ffffffffffffffff 
> [    2.253608] x17: 0000000000000000 x16: 0000000000000000 
> [    2.258902] x15: ffff0000090e9648 x14: ffff000089193187 
> [    2.264197] x13: ffff000009193195 x12: ffff0000090fb000 
> [    2.269493] x11: ffff00000807bcf0 x10: ffff00000807bcf0 
> [    2.274789] x9 : ffff00000807bcf0 x8 : 6e6f27207461206b 
> [    2.280084] x7 : 6375747320737574 x6 : ffff000009192c89 
> [    2.285380] x5 : 0000000000000000 x4 : 0000000000000000 
> [    2.290676] x3 : ffffffffffffffff x2 : 00008000f5251000 
> [    2.295971] x1 : e0dbf26541ede800 x0 : 0000000000000000 
> [    2.301272] Call trace:
> [    2.306491]  clk_branch_toggle+0x190/0x1b0
> [    2.308705]  clk_branch2_disable+0x18/0x20
> [    2.312890]  clk_disable_unused_subtree+0xc4/0xe0
> [    2.316960]  clk_disable_unused+0x3c/0x130
> [    2.321736]  do_one_initcall+0x5c/0x180
> [    2.325745]  kernel_init_freeable+0x198/0x244
> [    2.329469]  kernel_init+0x10/0x110
> [    2.333942]  ret_from_fork+0x10/0x20
> [    2.337257] ---[ end trace 57f62b628c127ef8 ]---
> 
> 
> Regards.
Stephen Boyd - Dec. 5, 2018, 11:57 p.m.
Quoting Bjorn Andersson (2018-12-03 10:33:28)
> Disabling gcc_hmss_dvm_bus_clk and gcc_lpass_at_clk causes the board to
> lock up, and by that preventing the kernel to boot without
> clk_ignore_unused.
> 
> gcc_hmss_dvm_bus_clk is marked always-on downstream, but not referenced,
> and gcc_lpass_at_clk isn't mentioned. So let's remove them until they
> are needed by some client.
> 
> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> ---

Applied to clk-next

Patch

diff --git a/drivers/clk/qcom/gcc-msm8998.c b/drivers/clk/qcom/gcc-msm8998.c
index 9f0ae403d5f5..aed7f1f92614 100644
--- a/drivers/clk/qcom/gcc-msm8998.c
+++ b/drivers/clk/qcom/gcc-msm8998.c
@@ -1964,19 +1964,6 @@  static struct clk_branch gcc_hmss_at_clk = {
 	},
 };
 
-static struct clk_branch gcc_hmss_dvm_bus_clk = {
-	.halt_reg = 0x4808c,
-	.halt_check = BRANCH_HALT,
-	.clkr = {
-		.enable_reg = 0x4808c,
-		.enable_mask = BIT(0),
-		.hw.init = &(struct clk_init_data){
-			.name = "gcc_hmss_dvm_bus_clk",
-			.ops = &clk_branch2_ops,
-		},
-	},
-};
-
 static struct clk_branch gcc_hmss_rbcpr_clk = {
 	.halt_reg = 0x48008,
 	.halt_check = BRANCH_HALT,
@@ -2007,19 +1994,6 @@  static struct clk_branch gcc_hmss_trig_clk = {
 	},
 };
 
-static struct clk_branch gcc_lpass_at_clk = {
-	.halt_reg = 0x47020,
-	.halt_check = BRANCH_HALT,
-	.clkr = {
-		.enable_reg = 0x47020,
-		.enable_mask = BIT(0),
-		.hw.init = &(struct clk_init_data){
-			.name = "gcc_lpass_at_clk",
-			.ops = &clk_branch2_ops,
-		},
-	},
-};
-
 static struct clk_branch gcc_lpass_trig_clk = {
 	.halt_reg = 0x4701c,
 	.halt_check = BRANCH_HALT,
@@ -2653,10 +2627,8 @@  static struct clk_regmap *gcc_msm8998_clocks[] = {
 	[GCC_GPU_SNOC_DVM_GFX_CLK] = &gcc_gpu_snoc_dvm_gfx_clk.clkr,
 	[GCC_HMSS_AHB_CLK] = &gcc_hmss_ahb_clk.clkr,
 	[GCC_HMSS_AT_CLK] = &gcc_hmss_at_clk.clkr,
-	[GCC_HMSS_DVM_BUS_CLK] = &gcc_hmss_dvm_bus_clk.clkr,
 	[GCC_HMSS_RBCPR_CLK] = &gcc_hmss_rbcpr_clk.clkr,
 	[GCC_HMSS_TRIG_CLK] = &gcc_hmss_trig_clk.clkr,
-	[GCC_LPASS_AT_CLK] = &gcc_lpass_at_clk.clkr,
 	[GCC_LPASS_TRIG_CLK] = &gcc_lpass_trig_clk.clkr,
 	[GCC_MMSS_NOC_CFG_AHB_CLK] = &gcc_mmss_noc_cfg_ahb_clk.clkr,
 	[GCC_MMSS_QM_AHB_CLK] = &gcc_mmss_qm_ahb_clk.clkr,