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

From: Mathieu Poirier
Date: Thu Jan 07 2021 - 17:46:33 EST


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.

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
> >>
>