Re: [PATCH v7 0/4] Introduce PRU platform consumer API

From: Md Danish Anwar
Date: Thu Apr 06 2023 - 02:55:10 EST


On 04/04/23 17:23, MD Danish Anwar 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 TI PRUSS subsystem: the PRUSS platform
> driver, the PRUSS INTC driver and the PRUSS remoteproc driver. All of them have
> already been 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-consumer.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.
>
> This is the v7 of the old patch series [9].
>

Hi Mathieu, Can you please review this series. I have addressed comments made
by you in v5. I have also addressed Simon's comment in v6 and removed redundant
macros from pruss.h header file.

> Changes from v6 [9] to v7:
> *) Addressed Simon's comment on patch 3 of this series and dropped unnecassary
> macros from the patch.
>
> Changes from v5 [1] to v6:
> *) Added Reviewed by tags of Roger and Tony to the patches.
> *) Added Acked by tag of Mathieu to patch 2 of this series.
> *) Added NULL check for @mux in pruss_cfg_get_gpmux() API.
> *) Added comment to the pruss_get() function documentation mentioning it is
> expected the caller will have done a pru_rproc_get() on @rproc.
> *) Fixed compilation warning "warning: ‘pruss_cfg_update’ defined but not used"
> in patch 3 by squashing patch 3 [7] and patch 5 [8] of previous revision
> together. Squashed patch 5 instead of patch 4 with patch 3 because patch 5 uses
> both read() and update() APIs where as patch 4 only uses update() API.
> Previously pruss_cfg_read()/update() APIs were intoroduced in patch 3
> and used in patch 4 and 5. Now these APIs are introduced as well as used in
> patch 3.
>


--
Thanks and Regards,
Danish.