Re: [PATCH 11/22] firmware: arm_scmi: Add SCMIv3.1 extended names protocols support

Cristian Marussi
2022-06-15T09:41:58Z

On Wed, Jun 15, 2022 at 09:18:03AM +0100, Cristian Marussi wrote:
> On Wed, Jun 15, 2022 at 05:45:11AM +0200, Florian Fainelli wrote:
> >
> >
> > On 3/30/2022 5:05 PM, Cristian Marussi wrote:
> > > Using the common protocol helper implementation add support for all new
> > > SCMIv3.1 extended names commands related to all protocols with the
> > > exception of SENSOR_AXIS_GET_NAME.
> > >
> > > Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
> >
> > This causes the following splat on a platform where regulators fail to
> > initialize:
> >
>
> Hi Florian,
>
> thanks for the report.
>
> It seems a memory error while allocating so it was not meant to be
> solved by the fixes, anyway, I've never seen this splat in my testing
> and at first sight I cannot see anything wrong in the devm_k* calls
> inside scmi_voltage_protocol_init...is there any particular config in
> your setup ?
>
> Moreover, the WARNING line 5402 seems to match v5.19-rc1 and it has
> slightly changed with -rc-1, so I'll try rebasing on that at first and
> see if I can reproduce the issue locally.
>

I just re-tested the series rebased on v519-rc1 plus fixes and I cannot
reproduce in my setup with a few (~9) good and bad voltage domains.

How many voltage domains are advertised by the platform in your setup ?

Thanks,
Cristian

>
> > [ 0.603737] ------------[ cut here ]------------
> > [ 0.603752] WARNING: CPU: 1 PID: 1 at mm/page_alloc.c:5402
> > __alloc_pages+0x6c/0x184
> > [ 0.603797] Modules linked in:
> > [ 0.603809] CPU: 1 PID: 1 Comm: swapper/0 Not tainted
> > 5.19.0-rc1-g44dbdf3bb3f4 #42
> > [ 0.603818] Hardware name: BCX972160SV (DT)
> > [ 0.603825] pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS
> > BTYPE=--)
> > [ 0.603834] pc : __alloc_pages+0x6c/0x184
> > [ 0.603841] lr : kmalloc_order+0x40/0x88
> > [ 0.603851] sp : ffffffc00a40b850
> > [ 0.603856] x29: ffffffc00a40b850 x28: 0000000000000000 x27:
> > ffffffc008d60404
> > [ 0.603867] x26: ffffff80c1e3e1a8 x25: ffffffc00877bd78 x24:
> > 0000000000000058
> > [ 0.603878] x23: ffffffc0081921a8 x22: ffffffc008cb04b0 x21:
> > 0000000000000000
> > [ 0.603889] x20: 000000000000000b x19: 000000000000000b x18:
> > 0000000000000000
> > [ 0.603900] x17: 0000000000000001 x16: 0000000100000000 x15:
> > 000000000000000a
> > [ 0.603911] x14: 0000000000000000 x13: ffffff80c1e3c20a x12:
> > ffffffffffffffff
> > [ 0.603922] x11: 0000000000000020 x10: 0000000000000880 x9 :
> > ffffffc008159dac
> > [ 0.603932] x8 : ffffff80c02708e0 x7 : 0000000000000004 x6 :
> > 000000000041a880
> > [ 0.603943] x5 : 0000000000000001 x4 : ffffff8000000000 x3 :
> > 0000000000000000
> > [ 0.603954] x2 : 0000000000000000 x1 : 0000000000000001 x0 :
> > ffffffc00a32d3f2
> > [ 0.603965] Call trace:
> > [ 0.603970] __alloc_pages+0x6c/0x184
> > [ 0.603977] kmalloc_order+0x40/0x88
> > [ 0.603984] kmalloc_order_trace+0x30/0xd0
> > [ 0.603992] __kmalloc_track_caller+0x64/0x19c
> > [ 0.603999] devm_kmalloc+0x5c/0xe0
> > [ 0.604009] scmi_voltage_protocol_init+0x14c/0x2f4
> > [ 0.604020] scmi_get_protocol_instance+0x128/0x1f4
> > [ 0.604030] scmi_devm_protocol_get+0x64/0xc8
> > [ 0.604037] scmi_regulator_probe+0x5c/0x42c
> > [ 0.604049] scmi_dev_probe+0x28/0x38
> > [ 0.604056] really_probe+0x1b8/0x380
> > [ 0.604065] __driver_probe_device+0x14c/0x164
> > [ 0.604073] driver_probe_device+0x48/0xe0
> > [ 0.604080] __driver_attach+0x160/0x170
> > [ 0.604087] bus_for_each_dev+0x78/0xb8
> > [ 0.604095] driver_attach+0x28/0x30
> > [ 0.604101] bus_add_driver+0xf4/0x208
> > [ 0.604108] driver_register+0xb4/0xf0
> > [ 0.604116] scmi_driver_register+0x5c/0xa4
> > [ 0.604123] scmi_drv_init+0x28/0x30
> > [ 0.604132] do_one_initcall+0x80/0x1a4
> > [ 0.604141] kernel_init_freeable+0x220/0x23c
> > [ 0.604149] kernel_init+0x28/0x128
> > [ 0.604158] ret_from_fork+0x10/0x20
> > [ 0.604166] ---[ end trace 0000000000000000 ]---
> > [ 0.604194] scmi-regulator: probe of scmi_dev.2 failed with error -12
> > [ 0.604792] arm-scmi brcm_scmi@0: Failed. SCMI protocol 22 not active.
> > --
> > Florian