RE: [PATCH] dt-bindings: firmware: arm,scmi: support system power protocol
From: Peng Fan
Date: Sun Mar 03 2024 - 21:18:26 EST
> Subject: Re: [PATCH] dt-bindings: firmware: arm,scmi: support system power
> protocol
>
> On Fri, Mar 01, 2024 at 10:37:49AM +0000, Cristian Marussi wrote:
> > On Fri, Mar 01, 2024 at 09:22:24AM +0000, Peng Fan wrote:
> > > > Subject: Re: [PATCH] dt-bindings: firmware: arm,scmi: support
> > > > system power protocol
> > > >
> > > > On Fri, Mar 01, 2024 at 12:41:29AM +0000, Peng Fan wrote:
> > > > > > Subject: Re: [PATCH] dt-bindings: firmware: arm,scmi: support
> > > > > > system power protocol
> > > > > >
> > > > > > On Tue, Feb 27, 2024 at 01:01:41AM +0000, Peng Fan wrote:
> > > > > > > > Subject: Re: [PATCH] dt-bindings: firmware: arm,scmi:
> > > > > > > > support system power protocol
> > > > > > > >
> > > > > > > > On Mon, Feb 26, 2024 at 01:28:31PM +0000, Cristian Marussi
> wrote:
> > > > > > > > > On Mon, Feb 26, 2024 at 09:02:43PM +0800, Peng Fan (OSS)
> wrote:
> > > > > > > > > > From: Peng Fan <peng.fan@xxxxxxx>
> > > > > > > > > >
> > > > > > > > > > Add SCMI System Power Protocol bindings, and the
> > > > > > > > > > protocol id is
> > > > 0x12.
> > > > > > > > > >
> > > > > > > > > Hi,
> > > > > > > > >
> > > > > > > > > yes this is something I spotted in the past it was
> > > > > > > > > missing and I posted a similar patch but I was told that
> > > > > > > > > a protocol node without any specific additional
> > > > > > > > > properties is already being described by the general protocol
> node described above.
> > > > > > >
> > > > > > > Without this patch, there is dtbs_check warning.
> > > > > > >
> > > > > > > scmi: 'protocol@12' does not match any of the regexes: 'pinctrl-[0-
> 9]+'
> > > > > > > from schema $id:
> > > > > > > https://eur01.safelinks.protection.outlook.com/?url=http%3A%
> > > > > > >
> 2F%2Fd%2F&data=05%7C02%7Cpeng.fan%40nxp.com%7Caf8c2c02cfc644
> > > > > > >
> 981a3a08dc39dce87d%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C
> > > > > > >
> 0%7C638448868151253291%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4
> wL
> > > > > > >
> jAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C
> > > > > > > %7C%7C&sdata=hRNs%2BMA%2BPR3rdUSEMg%2FzqO4nN1YP4EX
> DSikXxZMhJ
> > > > > > > HQ%3D&reserved=0
> > > > > > >
> > > >
> evic%2F&data=05%7C02%7Cpeng.fan%40nxp.com%7C3ef5d152a8e5463e9b
> > > > 3408
> > > > > > >
> > > >
> dc39c47e41%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63844
> > > > 87632
> > > > > > >
> > > >
> 86203182%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoi
> > > > V2luM
> > > > > > >
> > > >
> zIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=kRBV9FPk6
> > > > Nrgu
> > > > > > > Hs2SHpL74VlNUH6cYO1kAsW74CkaTk%3D&reserved=0
> > > > > > >
> > > > > >
> > > >
> etree.org%2Fschemas%2Ffirmware%2Farm%2Cscmi.yaml%23&data=05%7C0
> > > > > > 2%7Cpen
> > > > > > >
> > > > > >
> > > >
> g.fan%40nxp.com%7Ccac77deb5f6a4b20460a08dc392ead40%7C686ea1d3b
> > > > > > c2b4c6fa
> > > > > > >
> > > > > >
> > > >
> 92cd99c5c301635%7C0%7C0%7C638448119832543335%7CUnknown%7CT
> > > > > > WFpbGZsb3d8e
> > > > > > >
> > > > > >
> > > >
> yJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D
> > > > > > %7C0%
> > > > > > >
> > > > > >
> > > >
> 7C%7C%7C&sdata=6MldIOUQ4hxn%2BRffwJJJ3jxXXtHCSxLUOa4JMWB0htU%
> > > > > > 3D&reserv
> > > > > > > ed=0
> > > > > > >
> > > > > >
> > > > > > Why are you adding protocol@12 to the device tree ? Does it
> > > > > > have a dedicated channel ? If not, you shouldn't need to add it.
> > > > >
> > > > > No dedicated channel.
> > > > > The idea is we have multile Agent, the M7 agent may ask to
> > > > > shutdown Linux Agent. So the linux agent need use protocol@12 to do
> the action.
> > > > >
> > > >
> > > > Ok, so indeed you need, AFAICR, the node in the DT even without a
> > > > dedicated channel nor anynone referring it: no DT node means no
> protocol initialization.
> > >
> > > Yeah, so this binding update is needed, right?
> > >
> > > >
> > > > > For now, we have not finish implementing this in linux side,
> > > > > just add the node in dts.
> > > >
> > > > On the linux side you should not need to do anything but adding
> > > > the node @12, the existent
> > > > drivers/firmware/arm_scmi/system_power_control.c
> > > > driver when loaded will shutdown the system upon receiving the
> > > > SytemPower notification....what lacks Linux side in these regards ?
> > >
> > > " Ignoring unsupported system_state:" we have new defined number
> > > here.
> > >
> >
> > So I suppose you are using the Vendor defined system states and
> > writing your own driver to handle these instead of system_power_control ?
>
> Or some vendor extensions to the std driver ?
> IOW what is the plan...custom vendor states was left out from
> system_power_control waiting for a real usecase...that seems to have shown
> up eventually :D
I have not implemented the linux side driver as of now, but we do need
Extension:
Ignoring unsupported system_state: 0x80000003, we use this state indicating
others are requesting linux to suspend.
And when system is doing emergency reset, linux will get a notification, and got
force reset, we are thinking to let linux do some disk flush or whatelse, the
Time window is small.
Regards,
Peng.
>
> Thanks,
> Cristian