[RFC v2 1/3] firmware: arm_scmi: Add SCMI v3.2 pincontrol protocol basic support

Michal Simek michal.simek at amd.com
Fri May 12 05:32:25 PDT 2023



On 5/12/23 14:31, Oleksii Moisieiev wrote:
> On Fri, May 12, 2023 at 09:55:53AM +0100, Cristian Marussi wrote:
>> On Fri, May 12, 2023 at 08:38:06AM +0000, Oleksii Moisieiev wrote:
>>> On Fri, May 05, 2023 at 08:52:03PM +0100, Cristian Marussi wrote:
>>>> On Wed, Apr 26, 2023 at 01:26:37PM +0000, Oleksii Moisieiev wrote:
>>>>> scmi: Introduce pinctrl SCMI protocol driver
>>>>>
>>>>> Add basic implementation of the SCMI v3.2 pincontrol protocol
>>>>> excluding GPIO support. All pinctrl related callbacks and operations
>>>>> are exposed in the include/linux/scmi_protocol.h
>>>>>
>>>>
>>>> Hi Oleksii,
>>>>
>>>> Thanks for this.
>>>>
>>>> I tried out this in an emulated setup and found just a minor issue from
>>>> the spec/functional point of view...then I reworked the extended names
>>>> support using a modified hops->extended_name_get helper (as said the core
>>>> SCMI support needed a small modification to support PINCTRL): I'll reply
>>>> to this mail thread with such core SCMI modification patch, so you can
>>>> include this patch of mine in your next V3 and use it in your series.
>>>>
>>>> Moreover, given that I wanted to test such rework of mine and a bunch
>>>> of other cleanups I did (as detailed down below), and it seemed silly
>>>> to throw all away just to then having to detail all to you, I'll also
>>>> include in another distinct reply the raw diff of what I changed in
>>>> your series to use the new extended_name support and a few other cleanups,
>>>> so that, if you want, you can just quickly merge that into your V3 patch
>>>> (of course if you like it and tests fine also for you...)...these are
>>>> small changes, if you take it, no need to bother with authorship and
>>>> attribution from my point of view.
>>>>
>>>
>>> Hi Cristian,
>>>
>>
>> Hi,
>>
>>> Thank you for the patches. I've applied them and tested with powerpc,
>>> mx68 and clang environments (as test-robot complained about).
>>>
>>
>> Yes, sure, they were just tentative fixes, needed cleanup.
>> I forgot to add the RFC tag on my proposed fixes to avoid triggering the bots.
>>
>>>>> Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev at epam.com>
>>>>> ---
>>>>>   MAINTAINERS                           |   6 +
>>>
>>> [snip]
>>>
>>>>>   SYSTEM RESET/SHUTDOWN DRIVERS
>>>>>   M:	Sebastian Reichel <sre at kernel.org>
>>>>>   L:	linux-pm at vger.kernel.org
>>>>> diff --git a/drivers/firmware/arm_scmi/Makefile b/drivers/firmware/arm_scmi/Makefile
>>>>> index b31d78fa66cc..071ac65f22b9 100644
>>>>> --- a/drivers/firmware/arm_scmi/Makefile
>>>>> +++ b/drivers/firmware/arm_scmi/Makefile
>>>>> @@ -3,6 +3,7 @@ scmi-bus-y = bus.o
>>>>>   scmi-core-objs := $(scmi-bus-y)
>>>>>   
>>>>>   scmi-driver-y = driver.o notify.o
>>>>> +
>>>>
>>>> Do not add spurios lines.
>>>>
>>>
>>> Thanks, removed
>>>
>>>>>   scmi-driver-$(CONFIG_ARM_SCMI_RAW_MODE_SUPPORT) += raw_mode.o
>>>>>   scmi-transport-$(CONFIG_ARM_SCMI_HAVE_SHMEM) = shmem.o
>>>>>   scmi-transport-$(CONFIG_ARM_SCMI_TRANSPORT_MAILBOX) += mailbox.o
>>>>> @@ -10,7 +11,7 @@ scmi-transport-$(CONFIG_ARM_SCMI_TRANSPORT_SMC) += smc.o
>>>>>   scmi-transport-$(CONFIG_ARM_SCMI_HAVE_MSG) += msg.o
>>>>>   scmi-transport-$(CONFIG_ARM_SCMI_TRANSPORT_VIRTIO) += virtio.o
>>>>>   scmi-transport-$(CONFIG_ARM_SCMI_TRANSPORT_OPTEE) += optee.o
>>>>> -scmi-protocols-y = base.o clock.o perf.o power.o reset.o sensors.o system.o voltage.o powercap.o
>>>>> +scmi-protocols-y = base.o clock.o perf.o power.o reset.o sensors.o system.o voltage.o powercap.o pinctrl.o
>>>>>   scmi-module-objs := $(scmi-driver-y) $(scmi-protocols-y) $(scmi-transport-y)
>>>>>   
>>>
>>> I've applied patches you provided and made a small fixes. I'm going to
>>> make patch:
>>> "firmware: arm_scmi: Add optional flags to extended names helper"
>>> as a separate and squach "Misc Fixes and refactor" to my changes in V3 if you
>>> don't mind.
>>
>> Sure, that's what I meant: include my general extended fixes at the
>> start of your series and just squash the misc_fixes (additionally fixed
>> by you :D) in your series.
>>
>> A small nitpick I noticed later in scmi_protocol_ops Dox comment
>>
>> + * struct scmi_pinctrl_protocol_ops - represents the various operations provided
>>
>> should be
>>    * struct scmi_pinctrl_proto_ops
>>
>> Thanks,
>> Cristian
>>
> 
> Hi Cristian,
> 
> Thank you very much for your help and your patches. I'm in the finishing
> line with V3. I'll send to you the unit tests (when I fix them to work with the
> latest changes) I'm using to test my changes and driver for ATF.
> Hope it will help you to test your environment.

Is that ATF driver available somewhere?

Thanks,
Michal





More information about the linux-arm-kernel mailing list