All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tanmay Shah <tanmay.shah@xilinx.com>
To: <bjorn.andersson@linaro.org>, <mathieu.poirier@linaro.org>,
	<robh+dt@kernel.org>, <michal.simek@xilinx.com>
Cc: <laurent.pinchart@ideasonboard.com>, <ben.levinsky@xilinx.com>,
	<bill.mills@linaro.org>, <sergei.korneichuk@xilinx.com>,
	<tanmay.shah@xilinx.com>, <arun.balaji.kannan@xilinx.com>,
	<linux-remoteproc@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <devicetree@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>
Subject: [PATCH v3 0/6] Add Xilinx RPU subsystem support
Date: Thu, 10 Feb 2022 03:28:18 -0800	[thread overview]
Message-ID: <20220210112824.2084724-1-tanmay.shah@xilinx.com> (raw)

This patch series adds bindings document for RPU subsystem found on Xilinx
ZynqMP platforms. It also adds device nodes and driver to enable RPU subsytem
in split mode and lockstep mode.

Xilinx ZynqMP platform contains Remote Processing Unit(RPU). RPU subsystem
contains two arm cortex r5f cores. RPU subsystem can be configured in
split mode, locsktep mode and single-cpu mode.

RPU subsystem also contains 4 Tightly Coupled Memory(TCM) banks. In lockstep
mode, all 4 banks are combined and total of 256KB memory is made available to
r5 core0. In split mode, both cores can access two TCM banks i.e. 128 KB.

RPU can also fetch data and execute instructions from DDR memory along with
TCM memory.
---

Changes in v3:
  - Fix checkpatch script indentation warning
  - Remove unused variable from xilinx remoteproc driver
  - use C style comments, i.e /*...*/
  - Remove redundant debug information which can be derived using /proc/device-tree
  - Fix multilined comment format
  - s/"final fot TCM"/"final for TCM"
  - Function devm_kzalloc() does not return an code on error, just NULL.
    Remove redundant error check for this function throughout the driver.
  - Fix RPU mode configuration and add documentation accordingly
  - Get rid of the indentations to match function documentation style with rest of the driver
  - Fix memory leak by only using r5_rproc->priv and not replace it with new instance
  - Use 'i' for the outer loop and 'j' for the inner one as per convention
  - Remove redundant error and NULL checks throughout the driver
  - Use devm_kcalloc() when more than one element is required
  - Add memory-regions carveouts during driver probe instead of parse_fw call
    This removes redundant copy of reserved_mem object in r5_core structure.
  - Fix memory leak by using of_node_put()
  - Fix indentation of tcm_mem_map function args
  - Remove redundant init of variables
  - Initialize tcm bank size variable for lockstep mode
  - Replace u32 with phys_addr_t for variable stroing memory bank address
  - Add documentation of TCM behavior in lockstep mode
  - Use dev_get_drvdata instead of platform driver API
  - Remove info level messages
  - Fix checkpatch.pl warnings
  - Add documentation for the Xilinx r5f platform to understand driver design

Changes in v2:
  - Remove proprietary copyright footer from cover letter

Ben Levinsky (3):
  firmware: xilinx: Add ZynqMP firmware ioctl enums for RPU
    configuration.
  firmware: xilinx: Add shutdown/wakeup APIs
  firmware: xilinx: Add RPU configuration APIs

Tanmay Shah (3):
  dt-bindings: remoteproc: Add Xilinx RPU subsystem bindings
  arm64: dts: xilinx: zynqmp: Add RPU subsystem device node
  drivers: remoteproc: Add Xilinx r5 remoteproc driver

 .../bindings/remoteproc/xlnx,r5f-rproc.yaml   | 139 +++
 arch/arm64/boot/dts/xilinx/zynqmp.dtsi        |  17 +
 drivers/firmware/xilinx/zynqmp.c              |  97 ++
 drivers/remoteproc/Kconfig                    |  12 +
 drivers/remoteproc/Makefile                   |   1 +
 drivers/remoteproc/xlnx_r5_remoteproc.c       | 973 ++++++++++++++++++
 include/dt-bindings/power/xlnx-zynqmp-power.h |   6 +
 include/linux/firmware/xlnx-zynqmp.h          |  60 ++
 8 files changed, 1305 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/remoteproc/xlnx,r5f-rproc.yaml
 create mode 100644 drivers/remoteproc/xlnx_r5_remoteproc.c


base-commit: f5d4b6d998d403352d0143e0c158706412384121
-- 
2.25.1


WARNING: multiple messages have this Message-ID (diff)
From: Tanmay Shah <tanmay.shah@xilinx.com>
To: <bjorn.andersson@linaro.org>, <mathieu.poirier@linaro.org>,
	<robh+dt@kernel.org>, <michal.simek@xilinx.com>
Cc: <laurent.pinchart@ideasonboard.com>, <ben.levinsky@xilinx.com>,
	<bill.mills@linaro.org>, <sergei.korneichuk@xilinx.com>,
	<tanmay.shah@xilinx.com>, <arun.balaji.kannan@xilinx.com>,
	<linux-remoteproc@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <devicetree@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>
Subject: [PATCH v3 0/6] Add Xilinx RPU subsystem support
Date: Thu, 10 Feb 2022 03:28:18 -0800	[thread overview]
Message-ID: <20220210112824.2084724-1-tanmay.shah@xilinx.com> (raw)

This patch series adds bindings document for RPU subsystem found on Xilinx
ZynqMP platforms. It also adds device nodes and driver to enable RPU subsytem
in split mode and lockstep mode.

Xilinx ZynqMP platform contains Remote Processing Unit(RPU). RPU subsystem
contains two arm cortex r5f cores. RPU subsystem can be configured in
split mode, locsktep mode and single-cpu mode.

RPU subsystem also contains 4 Tightly Coupled Memory(TCM) banks. In lockstep
mode, all 4 banks are combined and total of 256KB memory is made available to
r5 core0. In split mode, both cores can access two TCM banks i.e. 128 KB.

RPU can also fetch data and execute instructions from DDR memory along with
TCM memory.
---

Changes in v3:
  - Fix checkpatch script indentation warning
  - Remove unused variable from xilinx remoteproc driver
  - use C style comments, i.e /*...*/
  - Remove redundant debug information which can be derived using /proc/device-tree
  - Fix multilined comment format
  - s/"final fot TCM"/"final for TCM"
  - Function devm_kzalloc() does not return an code on error, just NULL.
    Remove redundant error check for this function throughout the driver.
  - Fix RPU mode configuration and add documentation accordingly
  - Get rid of the indentations to match function documentation style with rest of the driver
  - Fix memory leak by only using r5_rproc->priv and not replace it with new instance
  - Use 'i' for the outer loop and 'j' for the inner one as per convention
  - Remove redundant error and NULL checks throughout the driver
  - Use devm_kcalloc() when more than one element is required
  - Add memory-regions carveouts during driver probe instead of parse_fw call
    This removes redundant copy of reserved_mem object in r5_core structure.
  - Fix memory leak by using of_node_put()
  - Fix indentation of tcm_mem_map function args
  - Remove redundant init of variables
  - Initialize tcm bank size variable for lockstep mode
  - Replace u32 with phys_addr_t for variable stroing memory bank address
  - Add documentation of TCM behavior in lockstep mode
  - Use dev_get_drvdata instead of platform driver API
  - Remove info level messages
  - Fix checkpatch.pl warnings
  - Add documentation for the Xilinx r5f platform to understand driver design

Changes in v2:
  - Remove proprietary copyright footer from cover letter

Ben Levinsky (3):
  firmware: xilinx: Add ZynqMP firmware ioctl enums for RPU
    configuration.
  firmware: xilinx: Add shutdown/wakeup APIs
  firmware: xilinx: Add RPU configuration APIs

Tanmay Shah (3):
  dt-bindings: remoteproc: Add Xilinx RPU subsystem bindings
  arm64: dts: xilinx: zynqmp: Add RPU subsystem device node
  drivers: remoteproc: Add Xilinx r5 remoteproc driver

 .../bindings/remoteproc/xlnx,r5f-rproc.yaml   | 139 +++
 arch/arm64/boot/dts/xilinx/zynqmp.dtsi        |  17 +
 drivers/firmware/xilinx/zynqmp.c              |  97 ++
 drivers/remoteproc/Kconfig                    |  12 +
 drivers/remoteproc/Makefile                   |   1 +
 drivers/remoteproc/xlnx_r5_remoteproc.c       | 973 ++++++++++++++++++
 include/dt-bindings/power/xlnx-zynqmp-power.h |   6 +
 include/linux/firmware/xlnx-zynqmp.h          |  60 ++
 8 files changed, 1305 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/remoteproc/xlnx,r5f-rproc.yaml
 create mode 100644 drivers/remoteproc/xlnx_r5_remoteproc.c


base-commit: f5d4b6d998d403352d0143e0c158706412384121
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

             reply	other threads:[~2022-02-10 11:28 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-10 11:28 Tanmay Shah [this message]
2022-02-10 11:28 ` [PATCH v3 0/6] Add Xilinx RPU subsystem support Tanmay Shah
2022-02-10 11:28 ` [PATCH v3 1/6] dt-bindings: remoteproc: Add Xilinx RPU subsystem bindings Tanmay Shah
2022-02-10 11:28   ` Tanmay Shah
2022-02-14 18:22   ` Mathieu Poirier
2022-02-14 18:22     ` Mathieu Poirier
2022-02-22  1:58     ` Tanmay Shah
2022-02-22  1:58       ` Tanmay Shah
2022-02-22 16:36       ` Mathieu Poirier
2022-02-22 16:36         ` Mathieu Poirier
2022-02-10 11:28 ` [PATCH v3 2/6] arm64: dts: xilinx: zynqmp: Add RPU subsystem device node Tanmay Shah
2022-02-10 11:28   ` Tanmay Shah
2022-02-10 11:28 ` [PATCH v3 3/6] firmware: xilinx: Add ZynqMP firmware ioctl enums for RPU configuration Tanmay Shah
2022-02-10 11:28   ` Tanmay Shah
2022-02-10 11:28 ` [PATCH v3 4/6] firmware: xilinx: Add shutdown/wakeup APIs Tanmay Shah
2022-02-10 11:28   ` Tanmay Shah
2022-02-10 11:28 ` [PATCH v3 5/6] firmware: xilinx: Add RPU configuration APIs Tanmay Shah
2022-02-10 11:28   ` Tanmay Shah
2022-02-10 11:28 ` [PATCH v3 6/6] drivers: remoteproc: Add Xilinx r5 remoteproc driver Tanmay Shah
2022-02-10 11:28   ` Tanmay Shah
2022-02-15 18:58   ` Mathieu Poirier
2022-02-15 18:58     ` Mathieu Poirier
2022-02-22  1:59     ` Tanmay Shah
2022-02-22  1:59       ` Tanmay Shah
2022-02-16 18:26   ` Mathieu Poirier
2022-02-16 18:26     ` Mathieu Poirier
2022-02-22  2:01     ` Tanmay Shah
2022-02-22  2:01       ` Tanmay Shah
2022-02-22 16:49       ` Mathieu Poirier
2022-02-22 16:49         ` Mathieu Poirier
2022-02-18 19:11   ` Mathieu Poirier
2022-02-18 19:11     ` Mathieu Poirier
2022-02-22  2:13     ` Tanmay Shah
2022-02-22  2:13       ` Tanmay Shah
2022-02-22 16:57       ` Mathieu Poirier
2022-02-22 16:57         ` Mathieu Poirier
2022-02-22 18:08         ` Tanmay Shah
2022-02-22 18:08           ` Tanmay Shah
2022-03-09  7:18       ` Tanmay Shah
2022-03-09  7:18         ` Tanmay Shah
2022-03-10 15:36         ` Mathieu Poirier
2022-03-10 15:36           ` Mathieu Poirier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220210112824.2084724-1-tanmay.shah@xilinx.com \
    --to=tanmay.shah@xilinx.com \
    --cc=arun.balaji.kannan@xilinx.com \
    --cc=ben.levinsky@xilinx.com \
    --cc=bill.mills@linaro.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-remoteproc@vger.kernel.org \
    --cc=mathieu.poirier@linaro.org \
    --cc=michal.simek@xilinx.com \
    --cc=robh+dt@kernel.org \
    --cc=sergei.korneichuk@xilinx.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.