clk: qcom: gcc-msm8996: Disable halt check on UFS clock

Message ID 20180704121901.30755-1-vkoul@kernel.org
State New
Headers show
Series
  • clk: qcom: gcc-msm8996: Disable halt check on UFS clock
Related show

Commit Message

Vinod July 4, 2018, 12:19 p.m.
Commit 12d807cd34b8 ("clk: qcom: gcc-msm8996: Disable halt check on UFS
clocks") marked BRANCH_HALT_SKIP for ufs tx clocks, but missed ufs rx
clocks. The result of that is kernel warnings at reboot:

[  105.624283] gcc_ufs_tx_symbol_0_clk status stuck at 'on'
[  105.624311] WARNING: CPU: 1 PID: 1 at drivers/clk/qcom/clk-branch.c:100 clk_branch_toggle+0x190/0x1b0
[  105.633235] Modules linked in:
[  105.645118] CPU: 1 PID: 1 Comm: systemd-shutdow Tainted: G        W         4.18.0-rc2-00002-g2bfbe52a53a3 #11
[  105.647988] Hardware name: Qualcomm Technologies, Inc. DB820c (DT)
[  105.657966] pstate: 60000085 (nZCv daIf -PAN -UAO)
[  105.664127] pc : clk_branch_toggle+0x190/0x1b0
[  105.668900] lr : clk_branch_toggle+0x190/0x1b0
[  105.673324] sp : ffff00000805bb40
[  105.677751] x29: ffff00000805bb40 x28: 0000000000000000
[  105.681140] x27: ffff8000d947cc60 x26: 0000000000000001
[  105.686520] x25: ffff000008f71900 x24: 0000000000000000
[  105.691816] x23: ffff00000925e338 x22: ffff00000855f8e0
[  105.697114] x21: 0000000000000000 x20: 0000000000000000
[  105.702407] x19: ffff0000091c9000 x18: ffffffffffffffff
[  105.707702] x17: 0000ffffac148c58 x16: ffff000008b82928
[  105.712998] x15: ffff0000091c96c8 x14: ffff0000893817c7
[  105.718293] x13: ffff0000093817d5 x12: ffff0000091c9940
[  105.723587] x11: ffff0000085e3e70 x10: ffff00000805b780
[  105.728884] x9 : ffff00000805bb40 x8 : 7320737574617473
[  105.734179] x7 : 206b6c635f305f6c x6 : 00000000000001e5
[  105.739472] x5 : 0000000000000000 x4 : 0000000000000000
[  105.744769] x3 : ffffffffffffffff x2 : ffff0000091e2658
[  105.750063] x1 : a7c4712dd5e09c00 x0 : 0000000000000000
[  105.755360] Call trace:
[  105.760652]  clk_branch_toggle+0x190/0x1b0
[  105.762824]  clk_branch2_disable+0x18/0x20
[  105.766994]  clk_core_disable+0x58/0xa8
[  105.771069]  clk_core_disable_lock+0x20/0x38
[  105.774803]  clk_disable+0x1c/0x28
[  105.779320]  __ufshcd_setup_clocks+0x298/0x308
[  105.782529]  ufshcd_suspend+0x160/0x308
[  105.786953]  ufshcd_shutdown+0x38/0xa0
[  105.790690]  ufshcd_pltfrm_shutdown+0x10/0x18
[  105.794512]  platform_drv_shutdown+0x20/0x30
[  105.798935]  device_shutdown+0x110/0x1e8
[  105.803278]  kernel_restart_prepare+0x34/0x40
[  105.807181]  kernel_restart+0x14/0x78
[  105.811434]  sys_reboot+0x200/0x248
[  105.815081]  el0_svc_naked+0x30/0x34
[  105.818378] ---[ end trace 8d2322276b27879c ]---

Mark gcc_ufs_tx_symbol_0_clk as BRANCH_HALT_SKIP as well.

Signed-off-by: Vinod Koul <vkoul@kernel.org>

---
 drivers/clk/qcom/gcc-msm8996.c | 1 +
 1 file changed, 1 insertion(+)

-- 
2.14.4

--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Bjorn Andersson July 5, 2018, 5:49 p.m. | #1
On Wed 04 Jul 05:19 PDT 2018, Vinod Koul wrote:

Thanks Vinod, sorry for missing the tx clock.

> Commit 12d807cd34b8 ("clk: qcom: gcc-msm8996: Disable halt check on UFS

> clocks") marked BRANCH_HALT_SKIP for ufs tx clocks, but missed ufs rx

> clocks. The result of that is kernel warnings at reboot:


"rx clocks"..."tx clock".

and it wouldn't be unreasonable to have a Fixes: tag.


Apart from that, you have my:

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


Regards,
Bjorn

> 

> [  105.624283] gcc_ufs_tx_symbol_0_clk status stuck at 'on'

> [  105.624311] WARNING: CPU: 1 PID: 1 at drivers/clk/qcom/clk-branch.c:100 clk_branch_toggle+0x190/0x1b0

> [  105.633235] Modules linked in:

> [  105.645118] CPU: 1 PID: 1 Comm: systemd-shutdow Tainted: G        W         4.18.0-rc2-00002-g2bfbe52a53a3 #11

> [  105.647988] Hardware name: Qualcomm Technologies, Inc. DB820c (DT)

> [  105.657966] pstate: 60000085 (nZCv daIf -PAN -UAO)

> [  105.664127] pc : clk_branch_toggle+0x190/0x1b0

> [  105.668900] lr : clk_branch_toggle+0x190/0x1b0

> [  105.673324] sp : ffff00000805bb40

> [  105.677751] x29: ffff00000805bb40 x28: 0000000000000000

> [  105.681140] x27: ffff8000d947cc60 x26: 0000000000000001

> [  105.686520] x25: ffff000008f71900 x24: 0000000000000000

> [  105.691816] x23: ffff00000925e338 x22: ffff00000855f8e0

> [  105.697114] x21: 0000000000000000 x20: 0000000000000000

> [  105.702407] x19: ffff0000091c9000 x18: ffffffffffffffff

> [  105.707702] x17: 0000ffffac148c58 x16: ffff000008b82928

> [  105.712998] x15: ffff0000091c96c8 x14: ffff0000893817c7

> [  105.718293] x13: ffff0000093817d5 x12: ffff0000091c9940

> [  105.723587] x11: ffff0000085e3e70 x10: ffff00000805b780

> [  105.728884] x9 : ffff00000805bb40 x8 : 7320737574617473

> [  105.734179] x7 : 206b6c635f305f6c x6 : 00000000000001e5

> [  105.739472] x5 : 0000000000000000 x4 : 0000000000000000

> [  105.744769] x3 : ffffffffffffffff x2 : ffff0000091e2658

> [  105.750063] x1 : a7c4712dd5e09c00 x0 : 0000000000000000

> [  105.755360] Call trace:

> [  105.760652]  clk_branch_toggle+0x190/0x1b0

> [  105.762824]  clk_branch2_disable+0x18/0x20

> [  105.766994]  clk_core_disable+0x58/0xa8

> [  105.771069]  clk_core_disable_lock+0x20/0x38

> [  105.774803]  clk_disable+0x1c/0x28

> [  105.779320]  __ufshcd_setup_clocks+0x298/0x308

> [  105.782529]  ufshcd_suspend+0x160/0x308

> [  105.786953]  ufshcd_shutdown+0x38/0xa0

> [  105.790690]  ufshcd_pltfrm_shutdown+0x10/0x18

> [  105.794512]  platform_drv_shutdown+0x20/0x30

> [  105.798935]  device_shutdown+0x110/0x1e8

> [  105.803278]  kernel_restart_prepare+0x34/0x40

> [  105.807181]  kernel_restart+0x14/0x78

> [  105.811434]  sys_reboot+0x200/0x248

> [  105.815081]  el0_svc_naked+0x30/0x34

> [  105.818378] ---[ end trace 8d2322276b27879c ]---

> 

> Mark gcc_ufs_tx_symbol_0_clk as BRANCH_HALT_SKIP as well.

> 

> Signed-off-by: Vinod Koul <vkoul@kernel.org>

> ---

>  drivers/clk/qcom/gcc-msm8996.c | 1 +

>  1 file changed, 1 insertion(+)

> 

> diff --git a/drivers/clk/qcom/gcc-msm8996.c b/drivers/clk/qcom/gcc-msm8996.c

> index 9f35b3fe1d97..ff8d66fd94e6 100644

> --- a/drivers/clk/qcom/gcc-msm8996.c

> +++ b/drivers/clk/qcom/gcc-msm8996.c

> @@ -2781,6 +2781,7 @@ static struct clk_branch gcc_ufs_rx_cfg_clk = {

>  

>  static struct clk_branch gcc_ufs_tx_symbol_0_clk = {

>  	.halt_reg = 0x75018,

> +	.halt_check = BRANCH_HALT_SKIP,

>  	.clkr = {

>  		.enable_reg = 0x75018,

>  		.enable_mask = BIT(0),

> -- 

> 2.14.4

> 

--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Vinod July 6, 2018, 4:47 a.m. | #2
On 05-07-18, 10:49, Bjorn Andersson wrote:
> On Wed 04 Jul 05:19 PDT 2018, Vinod Koul wrote:

> 

> Thanks Vinod, sorry for missing the tx clock.

> 

> > Commit 12d807cd34b8 ("clk: qcom: gcc-msm8996: Disable halt check on UFS

> > clocks") marked BRANCH_HALT_SKIP for ufs tx clocks, but missed ufs rx

> > clocks. The result of that is kernel warnings at reboot:

> 

> "rx clocks"..."tx clock".


will fix

> 

> and it wouldn't be unreasonable to have a Fixes: tag.


I did think about it, a miss maynot be called a fix, so was not fully
convinced but as suggested will add

> Apart from that, you have my:

> 

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


Thanks, will send v2 now

-- 
~Vinod
--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/drivers/clk/qcom/gcc-msm8996.c b/drivers/clk/qcom/gcc-msm8996.c
index 9f35b3fe1d97..ff8d66fd94e6 100644
--- a/drivers/clk/qcom/gcc-msm8996.c
+++ b/drivers/clk/qcom/gcc-msm8996.c
@@ -2781,6 +2781,7 @@  static struct clk_branch gcc_ufs_rx_cfg_clk = {
 
 static struct clk_branch gcc_ufs_tx_symbol_0_clk = {
 	.halt_reg = 0x75018,
+	.halt_check = BRANCH_HALT_SKIP,
 	.clkr = {
 		.enable_reg = 0x75018,
 		.enable_mask = BIT(0),