Re: [PATCH v2 0/5] Introduce PRU remoteproc consumer API

From: Suman Anna
Date: Thu Jan 07 2021 - 17:51:15 EST


On 1/7/21 4:44 PM, Mathieu Poirier wrote:
> On Wed, Jan 06, 2021 at 06:03:25PM -0600, Suman Anna wrote:
>> Hi Mathieu,
>>
>> On 1/6/21 5:27 PM, Mathieu Poirier wrote:
>>> On Wed, Dec 16, 2020 at 05:52:34PM +0100, Grzegorz Jaszczyk wrote:
>>>> Hi All,
>>>>
>>>> The Programmable Real-Time Unit and Industrial Communication Subsystem
>>>> (PRU-ICSS or simply PRUSS) on various TI SoCs consists of dual 32-bit
>>>> RISC cores (Programmable Real-Time Units, or PRUs) for program execution.
>>>>
>>>> There are 3 foundation components for PRUSS subsystem: the PRUSS platform
>>>> driver, the PRUSS INTC driver and the PRUSS remoteproc driver. All were
>>>> already merged and can be found under:
>>>> 1) drivers/soc/ti/pruss.c
>>>> Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
>>>> 2) drivers/irqchip/irq-pruss-intc.c
>>>> Documentation/devicetree/bindings/interrupt-controller/ti,pruss-intc.yaml
>>>> 3) drivers/remoteproc/pru_rproc.c
>>>> Documentation/devicetree/bindings/remoteproc/ti,pru-rproc.yaml
>>>>
>>>> The programmable nature of the PRUs provide flexibility to implement custom
>>>> peripheral interfaces, fast real-time responses, or specialized data handling.
>>>> Example of a PRU consumer drivers will be:
>>>> - Software UART over PRUSS
>>>> - PRU-ICSS Ethernet EMAC
>>>>
>>>> In order to make usage of common PRU resources and allow the consumer drivers to
>>>> configure the PRU hardware for specific usage the PRU API is introduced.
>>>>
>>>> Patch #3 of this series depends on one not merged remteproc related patch [1].
>>>>
>>>> Please see the individual patches for exact changes in each patch, following is
>>>> the only change from v1:
>>>> - Change the 'prus' property name to 'ti,prus' as suggested by Rob Herring,
>>>> which influences patch #1 and patch #2
>>>>
>>>> [1] https://patchwork.kernel.org/project/linux-remoteproc/patch/20201121030156.22857-3-s-anna@xxxxxx/
>>>>
>>>> Best regards,
>>>> Grzegorz
>>>>
>>>> Roger Quadros (1):
>>>> remoteproc: pru: Add pru_rproc_set_ctable() function
>>>>
>>>> Suman Anna (2):
>>>> dt-bindings: remoteproc: Add PRU consumer bindings
>>>> remoteproc: pru: Deny rproc sysfs ops for PRU client driven boots
>>>>
>>>> Tero Kristo (2):
>>>> remoteproc: pru: Add APIs to get and put the PRU cores
>>>> remoteproc: pru: Configure firmware based on client setup
>>>>
>>>> .../bindings/remoteproc/ti,pru-consumer.yaml | 64 +++++
>>>> drivers/remoteproc/pru_rproc.c | 221 +++++++++++++++++-
>>>> include/linux/pruss.h | 78 +++++++
>>>
>>> This patchset is giving checkpatch.pl errors and as such will not go further
>>> with this revision.
>>
>> Yeah, I am aware of those. Greg has intentionally skipped the checkpatch
>> warnings around ENOTSUPP, based on some similar discussion on a different patch,
>> https://lkml.org/lkml/2020/11/10/764.
>
> I only see input from Andy and Lars in the thread you point out, nothing from
> Greg. I have also taken a look at the patch [1] that made checkpatch complain
> about ENOTSUPP. From what I see in that commit log the goal is to prevent new
> additions of ENOTSUPP to the kernel.
>
> Please modify and resend, otherwise I'm sure someone will send another patch to
> fix it before the end of the cycle.

Yeah ok. I will send out a v3.

regards
Suman

>
> Thanks,
> Mathieu
>
> [1]. 6b9ea5ff5abd checkpatch: warn about uses of ENOTSUPP
>>
>> Let me know if you prefer that we change these to EOPNOTSUPP.
>>
>> regards
>> Suman
>>
>>>
>>>> 3 files changed, 360 insertions(+), 3 deletions(-)
>>>> create mode 100644 Documentation/devicetree/bindings/remoteproc/ti,pru-consumer.yaml
>>>> create mode 100644 include/linux/pruss.h
>>>>
>>>> --
>>>> 2.29.0
>>>>
>>