clk: meson: Add missing clocks to axg_clk_regmaps

Message ID 20240202172537.1.I64656c75d84284bc91e6126b50b33c502be7c42a@changeid
State New
Headers
Series clk: meson: Add missing clocks to axg_clk_regmaps |

Commit Message

Igor Prusov Feb. 2, 2024, 2:25 p.m. UTC
  Some clocks were missing from axg_clk_regmaps, which caused kernel panic
during cat /sys/kernel/debug/clk/clk_summary

[   57.349402] Unable to handle kernel NULL pointer dereference at virtual address 00000000000001fc
..
[   57.430002] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[   57.436900] pc : regmap_read+0x1c/0x88
[   57.440608] lr : clk_regmap_gate_is_enabled+0x3c/0xb0
[   57.445611] sp : ffff800082f1b690
[   57.448888] x29: ffff800082f1b690 x28: 0000000000000000 x27: ffff800080eb9a70
[   57.455961] x26: 0000000000000007 x25: 0000000000000016 x24: 0000000000000000
[   57.463033] x23: ffff800080e8b488 x22: 0000000000000015 x21: ffff00000e7e7000
[   57.470106] x20: ffff00000400ec00 x19: 0000000000000000 x18: ffffffffffffffff
[   57.477178] x17: 0000000000000000 x16: 0000000000000000 x15: ffff0000042a3000
[   57.484251] x14: 0000000000000000 x13: ffff0000042a2fec x12: 0000000005f5e100
[   57.491323] x11: abcc77118461cefd x10: 0000000000000020 x9 : ffff8000805e4b24
[   57.498396] x8 : ffff0000028063c0 x7 : ffff800082f1b710 x6 : ffff800082f1b710
[   57.505468] x5 : 00000000ffffffd0 x4 : ffff800082f1b6e0 x3 : 0000000000001000
[   57.512541] x2 : ffff800082f1b6e4 x1 : 000000000000012c x0 : 0000000000000000
[   57.519615] Call trace:
[   57.522030]  regmap_read+0x1c/0x88
[   57.525393]  clk_regmap_gate_is_enabled+0x3c/0xb0
[   57.530050]  clk_core_is_enabled+0x44/0x120
[   57.534190]  clk_summary_show_subtree+0x154/0x2f0
[   57.538847]  clk_summary_show_subtree+0x220/0x2f0
[   57.543505]  clk_summary_show_subtree+0x220/0x2f0
[   57.548162]  clk_summary_show_subtree+0x220/0x2f0
[   57.552820]  clk_summary_show_subtree+0x220/0x2f0
[   57.557477]  clk_summary_show_subtree+0x220/0x2f0
[   57.562135]  clk_summary_show_subtree+0x220/0x2f0
[   57.566792]  clk_summary_show_subtree+0x220/0x2f0
[   57.571450]  clk_summary_show+0x84/0xb8
[   57.575245]  seq_read_iter+0x1bc/0x4b8
[   57.578954]  seq_read+0x8c/0xd0
[   57.582059]  full_proxy_read+0x68/0xc8
[   57.585767]  vfs_read+0xb0/0x268
[   57.588959]  ksys_read+0x70/0x108
[   57.592236]  __arm64_sys_read+0x24/0x38
[   57.596031]  invoke_syscall+0x50/0x128
[   57.599740]  el0_svc_common.constprop.0+0x48/0xf8
[   57.604397]  do_el0_svc+0x28/0x40
[   57.607675]  el0_svc+0x34/0xb8
[   57.610694]  el0t_64_sync_handler+0x13c/0x158
[   57.615006]  el0t_64_sync+0x190/0x198
[   57.618635] Code: a9bd7bfd 910003fd a90153f3 aa0003f3 (b941fc00)
[   57.624668] ---[ end trace 0000000000000000 ]---

Signed-off-by: Igor Prusov <ivprusov@salutedevices.com>
---

 drivers/clk/meson/axg.c | 2 ++
 1 file changed, 2 insertions(+)
  

Comments

Jerome Brunet Feb. 5, 2024, 9:02 a.m. UTC | #1
On Fri 02 Feb 2024 at 17:25, Igor Prusov <ivprusov@salutedevices.com> wrote:

> Some clocks were missing from axg_clk_regmaps, which caused kernel panic
> during cat /sys/kernel/debug/clk/clk_summary
>
> [   57.349402] Unable to handle kernel NULL pointer dereference at virtual address 00000000000001fc
> ...
> [   57.430002] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> [   57.436900] pc : regmap_read+0x1c/0x88
> [   57.440608] lr : clk_regmap_gate_is_enabled+0x3c/0xb0
> [   57.445611] sp : ffff800082f1b690
> [   57.448888] x29: ffff800082f1b690 x28: 0000000000000000 x27: ffff800080eb9a70
> [   57.455961] x26: 0000000000000007 x25: 0000000000000016 x24: 0000000000000000
> [   57.463033] x23: ffff800080e8b488 x22: 0000000000000015 x21: ffff00000e7e7000
> [   57.470106] x20: ffff00000400ec00 x19: 0000000000000000 x18: ffffffffffffffff
> [   57.477178] x17: 0000000000000000 x16: 0000000000000000 x15: ffff0000042a3000
> [   57.484251] x14: 0000000000000000 x13: ffff0000042a2fec x12: 0000000005f5e100
> [   57.491323] x11: abcc77118461cefd x10: 0000000000000020 x9 : ffff8000805e4b24
> [   57.498396] x8 : ffff0000028063c0 x7 : ffff800082f1b710 x6 : ffff800082f1b710
> [   57.505468] x5 : 00000000ffffffd0 x4 : ffff800082f1b6e0 x3 : 0000000000001000
> [   57.512541] x2 : ffff800082f1b6e4 x1 : 000000000000012c x0 : 0000000000000000
> [   57.519615] Call trace:
> [   57.522030]  regmap_read+0x1c/0x88
> [   57.525393]  clk_regmap_gate_is_enabled+0x3c/0xb0
> [   57.530050]  clk_core_is_enabled+0x44/0x120
> [   57.534190]  clk_summary_show_subtree+0x154/0x2f0
> [   57.538847]  clk_summary_show_subtree+0x220/0x2f0
> [   57.543505]  clk_summary_show_subtree+0x220/0x2f0
> [   57.548162]  clk_summary_show_subtree+0x220/0x2f0
> [   57.552820]  clk_summary_show_subtree+0x220/0x2f0
> [   57.557477]  clk_summary_show_subtree+0x220/0x2f0
> [   57.562135]  clk_summary_show_subtree+0x220/0x2f0
> [   57.566792]  clk_summary_show_subtree+0x220/0x2f0
> [   57.571450]  clk_summary_show+0x84/0xb8
> [   57.575245]  seq_read_iter+0x1bc/0x4b8
> [   57.578954]  seq_read+0x8c/0xd0
> [   57.582059]  full_proxy_read+0x68/0xc8
> [   57.585767]  vfs_read+0xb0/0x268
> [   57.588959]  ksys_read+0x70/0x108
> [   57.592236]  __arm64_sys_read+0x24/0x38
> [   57.596031]  invoke_syscall+0x50/0x128
> [   57.599740]  el0_svc_common.constprop.0+0x48/0xf8
> [   57.604397]  do_el0_svc+0x28/0x40
> [   57.607675]  el0_svc+0x34/0xb8
> [   57.610694]  el0t_64_sync_handler+0x13c/0x158
> [   57.615006]  el0t_64_sync+0x190/0x198
> [   57.618635] Code: a9bd7bfd 910003fd a90153f3 aa0003f3 (b941fc00)
> [   57.624668] ---[ end trace 0000000000000000 ]---
>
> Signed-off-by: Igor Prusov <ivprusov@salutedevices.com>

This has gone un-noticed for a while :/
Thanks Igor.

Please remember to add an appropriate Fixes tag for patches like this.
It is important to help stable releases.

Fixes: 14ebb3154b8f ("clk: meson: axg: add Video Clocks")

> ---
>
>  drivers/clk/meson/axg.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/drivers/clk/meson/axg.c b/drivers/clk/meson/axg.c
> index c12f81dfa674..5f60f2bcca59 100644
> --- a/drivers/clk/meson/axg.c
> +++ b/drivers/clk/meson/axg.c
> @@ -2142,7 +2142,9 @@ static struct clk_regmap *const axg_clk_regmaps[] = {
>  	&axg_vclk_input,
>  	&axg_vclk2_input,
>  	&axg_vclk_div,
> +	&axg_vclk_div1,
>  	&axg_vclk2_div,
> +	&axg_vclk2_div1,
>  	&axg_vclk_div2_en,
>  	&axg_vclk_div4_en,
>  	&axg_vclk_div6_en,
  
Jerome Brunet Feb. 5, 2024, 9:13 a.m. UTC | #2
Applied to clk-meson (v6.9/drivers), thanks!

[1/1] clk: meson: Add missing clocks to axg_clk_regmaps
      https://github.com/BayLibre/clk-meson/commit/ba535bce57e7

Best regards,
--
Jerome
  

Patch

diff --git a/drivers/clk/meson/axg.c b/drivers/clk/meson/axg.c
index c12f81dfa674..5f60f2bcca59 100644
--- a/drivers/clk/meson/axg.c
+++ b/drivers/clk/meson/axg.c
@@ -2142,7 +2142,9 @@  static struct clk_regmap *const axg_clk_regmaps[] = {
 	&axg_vclk_input,
 	&axg_vclk2_input,
 	&axg_vclk_div,
+	&axg_vclk_div1,
 	&axg_vclk2_div,
+	&axg_vclk2_div1,
 	&axg_vclk_div2_en,
 	&axg_vclk_div4_en,
 	&axg_vclk_div6_en,