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

From: Suman Anna
Date: Wed Jan 06 2021 - 19:04:31 EST


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.

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