Message ID | 20220603121520.13730-1-p-mohan@ti.com (mailing list archive) |
---|---|
Headers | show |
Series | Introduce PRU remoteproc consumer API | expand |
I have started to review this set, comments will come over the next few days. I will clearly inform you when I am done reviewing. Thanks, Mathieu On Fri, Jun 03, 2022 at 05:45:14PM +0530, Puranjay Mohan wrote: > This is the v4 of the patch series [1]. The v3 had some comments > on the DT patch that have been addressed here. The 6th patch in this > series was missed in the previous versions, so, it has been added now. > > I have posted two more patch series that depend on this series, one to > the soc tree and another to the networking tree. I had sent all the 3 > series, including this one as RFC [2] to get comments and to explain the > dependencies. > > 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. > > [1] https://patchwork.kernel.org/project/linux-remoteproc/cover/20220418104118.12878-1-p-mohan@ti.com/ > [2] https://patchwork.kernel.org/project/linux-remoteproc/cover/20220406094358.7895-1-p-mohan@ti.com/ > > Thanks and Regards, > Puranjay Mohan > > Roger Quadros (1): > remoteproc: pru: Add pru_rproc_set_ctable() function > > Suman Anna (2): > dt-bindings: remoteproc: Add PRU consumer bindings > remoteproc: pru: Make sysfs entries read-only for PRU client driven > boots > > Tero Kristo (3): > remoteproc: pru: Add APIs to get and put the PRU cores > remoteproc: pru: Configure firmware based on client setup > remoteproc: pru: add support for configuring GPMUX based on client > setup > > .../bindings/remoteproc/ti,pru-consumer.yaml | 69 +++++ > drivers/remoteproc/pru_rproc.c | 254 +++++++++++++++++- > include/linux/pruss.h | 78 ++++++ > 3 files changed, 396 insertions(+), 5 deletions(-) > create mode 100644 Documentation/devicetree/bindings/remoteproc/ti,pru-consumer.yaml > create mode 100644 include/linux/pruss.h > > -- > 2.17.1 >
On Mon, Jun 06, 2022 at 09:56:12AM -0600, Mathieu Poirier wrote: > I have started to review this set, comments will come over the next few days. I > will clearly inform you when I am done reviewing. This patch is giving me several checkpatch warnings that should have been caught before sending the patches out to the mailing list. As such I will not review this work and seriously considering adding your next revision at the very bottom of my queue. > > Thanks, > Mathieu > > On Fri, Jun 03, 2022 at 05:45:14PM +0530, Puranjay Mohan wrote: > > This is the v4 of the patch series [1]. The v3 had some comments > > on the DT patch that have been addressed here. The 6th patch in this > > series was missed in the previous versions, so, it has been added now. > > > > I have posted two more patch series that depend on this series, one to > > the soc tree and another to the networking tree. I had sent all the 3 > > series, including this one as RFC [2] to get comments and to explain the > > dependencies. > > > > 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. > > > > [1] https://patchwork.kernel.org/project/linux-remoteproc/cover/20220418104118.12878-1-p-mohan@ti.com/ > > [2] https://patchwork.kernel.org/project/linux-remoteproc/cover/20220406094358.7895-1-p-mohan@ti.com/ > > > > Thanks and Regards, > > Puranjay Mohan > > > > Roger Quadros (1): > > remoteproc: pru: Add pru_rproc_set_ctable() function > > > > Suman Anna (2): > > dt-bindings: remoteproc: Add PRU consumer bindings > > remoteproc: pru: Make sysfs entries read-only for PRU client driven > > boots > > > > Tero Kristo (3): > > remoteproc: pru: Add APIs to get and put the PRU cores > > remoteproc: pru: Configure firmware based on client setup > > remoteproc: pru: add support for configuring GPMUX based on client > > setup > > > > .../bindings/remoteproc/ti,pru-consumer.yaml | 69 +++++ > > drivers/remoteproc/pru_rproc.c | 254 +++++++++++++++++- > > include/linux/pruss.h | 78 ++++++ > > 3 files changed, 396 insertions(+), 5 deletions(-) > > create mode 100644 Documentation/devicetree/bindings/remoteproc/ti,pru-consumer.yaml > > create mode 100644 include/linux/pruss.h > > > > -- > > 2.17.1 > >
Hi Mathieu, On 06/06/22 21:45, Mathieu Poirier wrote: > On Mon, Jun 06, 2022 at 09:56:12AM -0600, Mathieu Poirier wrote: >> I have started to review this set, comments will come over the next few days. I >> will clearly inform you when I am done reviewing. > > This patch is giving me several checkpatch warnings that should have been caught > before sending the patches out to the mailing list. As such I will not review > this work and seriously considering adding your next revision at the very bottom > of my queue. I am sorry for this. I had introduced the 6th patch in v4 and it is giving these errors. I have fixed them and sent a v5. Please don't move the v5 to the bottom of the queue. I will be extra cautious from next time. Thanks, Puranjay Mohan > >> >> Thanks, >> Mathieu >> >> On Fri, Jun 03, 2022 at 05:45:14PM +0530, Puranjay Mohan wrote: >>> This is the v4 of the patch series [1]. The v3 had some comments >>> on the DT patch that have been addressed here. The 6th patch in this >>> series was missed in the previous versions, so, it has been added now. >>> >>> I have posted two more patch series that depend on this series, one to >>> the soc tree and another to the networking tree. I had sent all the 3 >>> series, including this one as RFC [2] to get comments and to explain the >>> dependencies. >>> >>> 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. >>> >>> [1] https://patchwork.kernel.org/project/linux-remoteproc/cover/20220418104118.12878-1-p-mohan@ti.com/ >>> [2] https://patchwork.kernel.org/project/linux-remoteproc/cover/20220406094358.7895-1-p-mohan@ti.com/ >>> >>> Thanks and Regards, >>> Puranjay Mohan >>> >>> Roger Quadros (1): >>> remoteproc: pru: Add pru_rproc_set_ctable() function >>> >>> Suman Anna (2): >>> dt-bindings: remoteproc: Add PRU consumer bindings >>> remoteproc: pru: Make sysfs entries read-only for PRU client driven >>> boots >>> >>> Tero Kristo (3): >>> remoteproc: pru: Add APIs to get and put the PRU cores >>> remoteproc: pru: Configure firmware based on client setup >>> remoteproc: pru: add support for configuring GPMUX based on client >>> setup >>> >>> .../bindings/remoteproc/ti,pru-consumer.yaml | 69 +++++ >>> drivers/remoteproc/pru_rproc.c | 254 +++++++++++++++++- >>> include/linux/pruss.h | 78 ++++++ >>> 3 files changed, 396 insertions(+), 5 deletions(-) >>> create mode 100644 Documentation/devicetree/bindings/remoteproc/ti,pru-consumer.yaml >>> create mode 100644 include/linux/pruss.h >>> >>> -- >>> 2.17.1 >>>