Re: [PATCH v14 01/18] irqchip/sifive-plic: Convert PLIC driver into a platform driver

Conor Dooley
2024-07-09T09:51:34Z

[-- Attachment #1: Type: text/plain, Size: 3880 bytes --]

On Mon, Jul 08, 2024 at 07:15:51PM -0700, Charlie Jenkins wrote:
> CONFIG_NONPORTABLE=y
> CONFIG_RISCV_EFFICIENT_UNALIGNED_ACCESS=y
>
> A new warning is tripped:
>
> [ 1.015134] No max_rate, ignoring min_rate of clock 9 - pll-video0
> [ 1.021322] WARNING: CPU: 0 PID: 1 at drivers/clk/sunxi-ng/ccu_common.c:155 sunxi_ccu_probe+0x144/0x1a2
> [ 1.021351] Modules linked in:
> [ 1.021360] CPU: 0 PID: 1 Comm: swapper Tainted: G W 6.10.0-rc6 #1
> [ 1.021372] Hardware name: Allwinner D1 Nezha (changed) (DT)
> [ 1.021377] epc : sunxi_ccu_probe+0x144/0x1a2
> [ 1.021386] ra : sunxi_ccu_probe+0x144/0x1a2
> [ 1.021397] epc : ffffffff80405a50 ra : ffffffff80405a50 sp : ffffffc80000bb80
> [ 1.021406] gp : ffffffff815f69c8 tp : ffffffd801df8000 t0 : 6100000000000000
> [ 1.021414] t1 : 000000000000004e t2 : 61725f78616d206f s0 : ffffffc80000bbe0
> [ 1.021422] s1 : ffffffff81537498 a0 : 0000000000000036 a1 : 000000000000054b
> [ 1.021430] a2 : 00000000ffffefff a3 : 0000000000000000 a4 : ffffffff8141f628
> [ 1.021438] a5 : 0000000000000000 a6 : 0000000000000000 a7 : 000000004442434e
> [ 1.021446] s2 : 0000000000000009 s3 : 0000000000000000 s4 : ffffffd801dc9010
> [ 1.021453] s5 : ffffffd802428a00 s6 : ffffffd83ffdcf20 s7 : ffffffc800015000
> [ 1.021462] s8 : ffffffff80e55360 s9 : ffffffff81034598 s10: 0000000000000000
> [ 1.021470] s11: 0000000000000000 t3 : ffffffff8160a257 t4 : ffffffff8160a257
> [ 1.021478] t5 : ffffffff8160a258 t6 : ffffffc80000b990
> [ 1.021485] status: 0000000200000120 badaddr: 0000000000000000 cause: 0000000000000003
> [ 1.021493] [<ffffffff80405a50>] sunxi_ccu_probe+0x144/0x1a2
> [ 1.021510] [<ffffffff80405af6>] devm_sunxi_ccu_probe+0x48/0x82
> [ 1.021524] [<ffffffff80409020>] sun20i_d1_ccu_probe+0xba/0xfa
> [ 1.021546] [<ffffffff804a8b40>] platform_probe+0x4e/0xa6
> [ 1.021562] [<ffffffff808d81ee>] really_probe+0x10a/0x2dc
> [ 1.021581] [<ffffffff808d8472>] __driver_probe_device.part.0+0xb2/0xe8
> [ 1.021597] [<ffffffff804a67aa>] driver_probe_device+0x7a/0xca
> [ 1.021621] [<ffffffff804a6912>] __driver_attach+0x52/0x164
> [ 1.021638] [<ffffffff804a4c7a>] bus_for_each_dev+0x56/0x8c
> [ 1.021656] [<ffffffff804a6382>] driver_attach+0x1a/0x22
> [ 1.021673] [<ffffffff804a5c18>] bus_add_driver+0xea/0x1d8
> [ 1.021690] [<ffffffff804a7852>] driver_register+0x3e/0xd8
> [ 1.021709] [<ffffffff804a8826>] __platform_driver_register+0x1c/0x24
> Emil[ 1.021725] [<ffffffff80a17488>] sun20i_d1_ccu_driver_init+0x1a/0x22
> [ 1.021746] [<ffffffff800026ae>] do_one_initcall+0x46/0x1be
> [ 1.021762] [<ffffffff80a00ef2>] kernel_init_freeable+0x1c6/0x220
> [ 1.021791] [<ffffffff808e0b46>] kernel_init+0x1e/0x112
> Linked as a fwnode consumer[ 1.021807] [<ffffffff808e7632>] ret_from_fork+0xe/0x1c
>
> The warning is not fatal, so execution continues until hanging at
>
> [ 2.110919] printk: legacy console [ttyS0] disabled
> [ 2.136911] 2500000.serial: ttyS0 at MMIO 0x2500000 (irq = 205, base_baud = 1500000) is a 16550A�[ 2.145674] printk: legacy console [ttyS0] enabled
> [ 2.145674] printk: legacy console [ttyS0] enabled
> [ 2.155095] printk: legacy bootconsole [sbi0] disabled
> [ 2.155095] printk: legacy bootconsole [sbi0] disabled
>
> I have not been able to discover why it hangs here.

FWIW, that's probably because the CCU is the clock driver providing the
clock for the uart, so when the sbi console goes away you lose output
cos the uart driver cannot get the right rate for its input.
You'd probably get further if you set keep_bootcon in your cmdline - but
realistically the clock driver failing to probe is gonna have a load of
knock on effects that it's probably enough to just have the failure you
link here.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]