linux/drivers/clk/qcom
Vinod Koul 5f75b78d3d clk: qcom: gcc-msm8996: Disable halt check on UFS tx clock
Commit 12d807cd34 ("clk: qcom: gcc-msm8996: Disable halt check on UFS
clocks") marked BRANCH_HALT_SKIP for ufs rx clocks, but missed ufs tx
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.

Fixes: 12d807cd34 ("clk: qcom: gcc-msm8996: Disable halt check on UFS clocks")
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2018-07-06 10:48:42 -07:00
..
a53-pll.c clk: qcom: Add A53 PLL support 2018-01-02 10:00:24 -08:00
apcs-msm8916.c clk: qcom: msm8916: Fix return value check in qcom_apcs_msm8916_clk_probe() 2018-03-12 15:14:24 -07:00
clk-alpha-pll.c clk: qcom: Export clk_fabia_pll_configure() 2018-06-02 00:20:41 -07:00
clk-alpha-pll.h clk: qcom: Add support for controlling Fabia PLL 2018-03-19 16:32:36 -07:00
clk-branch.c clk: qcom: Add support for BRANCH_HALT_SKIP flag for branch clocks 2018-05-08 11:22:55 -07:00
clk-branch.h clk: qcom: Add support for BRANCH_HALT_SKIP flag for branch clocks 2018-05-08 11:22:55 -07:00
clk-pll.c clk: qcom: Enable FSM mode for votable alpha PLLs 2016-11-01 18:39:17 -07:00
clk-pll.h clk: qcom: Add support for SR2 PLLs 2015-07-07 17:19:58 -07:00
clk-rcg2.c Merge branch 'clk-qcom-sdm845' into clk-next 2018-06-04 12:34:51 -07:00
clk-rcg.c clk: qcom: Fix pre-divider usage for pixel RCG 2016-02-29 12:57:06 -08:00
clk-rcg.h clk: qcom: Configure the RCGs to a safe source as needed 2018-05-08 11:22:55 -07:00
clk-regmap-divider.c clk: qcom: use divider_ro_round_rate helper 2018-03-12 15:10:27 -07:00
clk-regmap-divider.h clk: qcom: add read-only divider operations 2017-12-21 16:03:19 -08:00
clk-regmap-mux-div.c clk: qcom: Add regmap mux-div clocks support 2018-01-02 10:00:24 -08:00
clk-regmap-mux-div.h clk: qcom: Add regmap mux-div clocks support 2018-01-02 10:00:24 -08:00
clk-regmap-mux.c clk: qcom: add parent map for regmap mux 2017-12-21 16:03:22 -08:00
clk-regmap-mux.h clk: qcom: add parent map for regmap mux 2017-12-21 16:03:22 -08:00
clk-regmap.c clk: qcom: Migrate to clk_hw based registration and OF APIs 2016-08-24 17:37:06 -07:00
clk-regmap.h clk: qcom: Migrate to clk_hw based registration and OF APIs 2016-08-24 17:37:06 -07:00
clk-rpm.c clk: qcom: rpmcc: Add support to XO buffered clocks 2018-03-19 14:40:26 -07:00
clk-smd-rpm.c clk: qcom: smd-rpm: Migrate to devm_of_clk_add_hw_provider() 2018-03-16 15:52:39 -07:00
clk-spmi-pmic-div.c treewide: Use struct_size() for devm_kmalloc() and friends 2018-06-06 11:15:43 -07:00
common.c clk: qcom: Register the gdscs before the clocks 2018-06-01 11:14:52 -07:00
common.h clk: qcom: add parent map for regmap mux 2017-12-21 16:03:22 -08:00
gcc-apq8084.c clk: qcom: Move all sdcc rcgs to use clk_rcg2_floor_ops 2016-11-23 11:00:06 -08:00
gcc-ipq806x.c clk: qcom: ipq806x: Fix board clk rates 2016-11-09 17:10:32 -08:00
gcc-ipq4019.c clk: qcom: ipq4019: Add the cpu clock frequency change notifier 2016-12-27 13:44:34 -08:00
gcc-ipq8074.c clk: qcom: ipq8074: add misc resets for PCIE and NSS 2017-12-21 16:03:40 -08:00
gcc-mdm9615.c clk: mdm9615: Add EBI2 clock 2017-01-09 16:33:26 -08:00
gcc-msm8660.c clk: qcom: add EBI2 clocks to the MSM8660 GCC 2016-07-01 18:12:45 -07:00
gcc-msm8916.c clk: qcom: msm8916: add 12.288 MHz support to codec dig clk 2017-12-06 22:34:09 -08:00
gcc-msm8960.c clk: qcom: Remove CLK_IS_ROOT 2016-03-04 12:53:53 -08:00
gcc-msm8974.c clk: qcom: Move all sdcc rcgs to use clk_rcg2_floor_ops 2016-11-23 11:00:06 -08:00
gcc-msm8994.c clk: qcom: support for alpha pll properties 2017-12-13 13:45:30 -08:00
gcc-msm8996.c clk: qcom: gcc-msm8996: Disable halt check on UFS tx clock 2018-07-06 10:48:42 -07:00
gcc-msm8998.c clk: qcom: Add MSM8998 Global Clock Control (GCC) driver 2018-04-16 22:51:27 -07:00
gcc-sdm845.c clk: qcom: Add Global Clock controller (GCC) driver for SDM845 2018-05-08 11:22:55 -07:00
gdsc.c Merge branch 'clk-qcom-sdm845' into clk-next 2018-06-04 12:34:51 -07:00
gdsc.h Merge branch 'clk-qcom-sdm845' into clk-next 2018-06-04 12:34:51 -07:00
Kconfig Merge branch 'clk-qcom-sdm845' into clk-next 2018-06-04 12:34:51 -07:00
lcc-ipq806x.c clk: qcom: lcc-ipq806x: Fixup overriding val in regmap_read call 2016-11-01 17:44:09 -07:00
lcc-mdm9615.c clk: mdm9615: Add support for MDM9615 Clock Controllers 2016-08-15 15:51:21 -07:00
lcc-msm8960.c Revert "clk: qcom: Specify LE device endianness" 2016-02-12 14:24:24 -08:00
Makefile Merge branch 'clk-qcom-sdm845' into clk-next 2018-06-04 12:34:51 -07:00
mmcc-apq8084.c Revert "clk: qcom: Specify LE device endianness" 2016-02-12 14:24:24 -08:00
mmcc-msm8960.c clk: qcom: Remove CLK_IS_ROOT 2016-03-04 12:53:53 -08:00
mmcc-msm8974.c Merge branch 'clk-fixes' into clk-next 2016-02-18 19:17:29 -08:00
mmcc-msm8996.c clk: qcom: mmcc-msm8996: leave all mmagic gdscs and clocks always enabled 2018-06-01 11:14:55 -07:00
reset.c clk: qcom: Make reset_control_ops const 2016-03-29 16:30:26 -07:00
reset.h clk: qcom: Make reset_control_ops const 2016-03-29 16:30:26 -07:00
videocc-sdm845.c clk: qcom: Add video clock controller driver for SDM845 2018-06-01 11:49:08 -07:00