projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
8add990
)
clk: qcom: ipq8074: dont disable gcc_sleep_clk_src
author
Robert Marko
<robimarko@gmail.com>
Sun, 15 May 2022 21:00:47 +0000
(23:00 +0200)
committer
Bjorn Andersson
<bjorn.andersson@linaro.org>
Thu, 30 Jun 2022 23:24:54 +0000
(18:24 -0500)
Once the usb sleep clocks are disabled, clock framework is trying to
disable the sleep clock source also.
However, it seems that it cannot be disabled and trying to do so produces:
[ 245.436390] ------------[ cut here ]------------
[ 245.441233] gcc_sleep_clk_src status stuck at 'on'
[ 245.441254] WARNING: CPU: 2 PID: 223 at clk_branch_wait+0x130/0x140
[ 245.450435] Modules linked in: xhci_plat_hcd xhci_hcd dwc3 dwc3_qcom leds_gpio
[ 245.456601] CPU: 2 PID: 223 Comm: sh Not tainted 5.18.0-rc4 #215
[ 245.463889] Hardware name: Xiaomi AX9000 (DT)
[ 245.470050] pstate:
204000c5
(nzCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 245.474307] pc : clk_branch_wait+0x130/0x140
[ 245.481073] lr : clk_branch_wait+0x130/0x140
[ 245.485588] sp :
ffffffc009f2bad0
[ 245.489838] x29:
ffffffc009f2bad0
x28:
ffffff8003e6c800
x27:
0000000000000000
[ 245.493057] x26:
0000000000000000
x25:
0000000000000000
x24:
ffffff800226ef20
[ 245.500175] x23:
ffffffc0089ff550
x22:
0000000000000000
x21:
ffffffc008476ad0
[ 245.507294] x20:
0000000000000000
x19:
ffffffc00965ac70
x18:
fffffffffffc51a7
[ 245.514413] x17:
68702e3030303837
x16:
3a6d726f6674616c
x15:
ffffffc089f2b777
[ 245.521531] x14:
ffffffc0095c9d18
x13:
0000000000000129
x12:
0000000000000129
[ 245.528649] x11:
00000000ffffffea
x10:
ffffffc009621d18
x9 :
0000000000000001
[ 245.535767] x8 :
0000000000000001
x7 :
0000000000017fe8
x6 :
0000000000000001
[ 245.542885] x5 :
ffffff803fdca6d8
x4 :
0000000000000000
x3 :
0000000000000027
[ 245.550002] x2 :
0000000000000027
x1 :
0000000000000023
x0 :
0000000000000026
[ 245.557122] Call trace:
[ 245.564229] clk_branch_wait+0x130/0x140
[ 245.566490] clk_branch2_disable+0x2c/0x40
[ 245.570656] clk_core_disable+0x60/0xb0
[ 245.574561] clk_core_disable+0x68/0xb0
[ 245.578293] clk_disable+0x30/0x50
[ 245.582113] dwc3_qcom_remove+0x60/0xc0 [dwc3_qcom]
[ 245.585588] platform_remove+0x28/0x60
[ 245.590361] device_remove+0x4c/0x80
[ 245.594179] device_release_driver_internal+0x1dc/0x230
[ 245.597914] device_driver_detach+0x18/0x30
[ 245.602861] unbind_store+0xec/0x110
[ 245.607027] drv_attr_store+0x24/0x40
[ 245.610847] sysfs_kf_write+0x44/0x60
[ 245.614405] kernfs_fop_write_iter+0x128/0x1c0
[ 245.618052] new_sync_write+0xc0/0x130
[ 245.622391] vfs_write+0x1d4/0x2a0
[ 245.626123] ksys_write+0x58/0xe0
[ 245.629508] __arm64_sys_write+0x1c/0x30
[ 245.632895] invoke_syscall.constprop.0+0x5c/0x110
[ 245.636890] do_el0_svc+0xa0/0x150
[ 245.641488] el0_svc+0x18/0x60
[ 245.644872] el0t_64_sync_handler+0xa4/0x130
[ 245.647914] el0t_64_sync+0x174/0x178
[ 245.652340] ---[ end trace
0000000000000000
]---
So, add CLK_IS_CRITICAL flag to the clock so that the kernel won't try
to disable the sleep clock.
Signed-off-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link:
https://lore.kernel.org/r/20220515210048.483898-10-robimarko@gmail.com
drivers/clk/qcom/gcc-ipq8074.c
patch
|
blob
|
history
diff --git
a/drivers/clk/qcom/gcc-ipq8074.c
b/drivers/clk/qcom/gcc-ipq8074.c
index 3204d550ff7647ef71c6622a4893980a0d17da7d..42d185fe19c8c5a622a7434d4521bdf7d7d7daa5 100644
(file)
--- a/
drivers/clk/qcom/gcc-ipq8074.c
+++ b/
drivers/clk/qcom/gcc-ipq8074.c
@@
-663,6
+663,7
@@
static struct clk_branch gcc_sleep_clk_src = {
},
.num_parents = 1,
.ops = &clk_branch2_ops,
+ .flags = CLK_IS_CRITICAL,
},
},
};