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

Cristian Marussi cristian.marussi at arm.com
Wed Jun 15 02:40:40 PDT 2022


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 at 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 at 0: Failed. SCMI protocol 22 not active.
> > -- 
> > Florian



More information about the linux-arm-kernel mailing list