Re: [PATCH v3 0/6] Introduce PRU platform consumer API

From: Mathieu Poirier
Date: Mon Mar 06 2023 - 13:44:33 EST


On Mon, Mar 06, 2023 at 04:39:28PM +0530, 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 v3 of the old patch series[1]. This doesn't have any functional
> changes, the old series has been rebased on linux-next (tag: next-20230306).
>
> This series depends on another series which is already merged in the remoteproc
> tree[2] and is part of v6.3-rc1. This series and the remoteproc series form the
> PRUSS consumer API which can be used by consumer drivers to utilize the PRUs.
>
> One example of the consumer driver is the PRU-ICSSG ethernet driver [3],which
> depends on this series and the remoteproc series[2].
>
> [1] https://lore.kernel.org/all/20220418123004.9332-1-p-mohan@xxxxxx/
> [2] https://lore.kernel.org/all/20230106121046.886863-1-danishanwar@xxxxxx/#t
> [3] https://lore.kernel.org/all/20230210114957.2667963-1-danishanwar@xxxxxx/
>
> Thanks and Regards,
> Md Danish Anwar
>
> Andrew F. Davis (1):
> soc: ti: pruss: Add pruss_{request,release}_mem_region() API
>
> Suman Anna (3):
> soc: ti: pruss: Add pruss_cfg_read()/update() API
> soc: ti: pruss: Add helper functions to set GPI mode, MII_RT_event and
> XFR
> soc: ti: pruss: Add helper function to enable OCP master ports
>
> Tero Kristo (2):
> soc: ti: pruss: Add pruss_get()/put() API
> soc: ti: pruss: Add helper functions to get/set PRUSS_CFG_GPMUX
>
> drivers/soc/ti/pruss.c | 257 ++++++++++++++++++++++++++++++-
> include/linux/pruss_driver.h | 72 ++++++---
> include/linux/remoteproc/pruss.h | 221 ++++++++++++++++++++++++++
> 3 files changed, 526 insertions(+), 24 deletions(-)

The last revision of this set was sent out on April 18th 2022... It is always
very difficult to follow-up with a patchset when it has been this long.
Moreover, you added a SoB to patch 1 and 2 but none of the other ones.

Roger had comments on the previous set - I will look at this revision when he
has provided his RB for this entire set.

Thanks,
Mathieu

>
> --
> 2.25.1
>