Messages in this thread | | | Date | Thu, 19 May 2022 20:10:44 -0700 | From | <> | Subject | Re: [PATCH v5 0/6] Add Xilinx RPU subsystem support |
| |
On 5/19/22 3:19 AM, Mathieu Poirier <mathieu.poirier@linaro.org> wrote: > Hi Tanmay, > > I have replaced the previous version of this set with this one in my > queue. That way you don't go back to the bottom. >
Thanks Mathieu. Sure it will help.
> Thanks, > Mathieu. > > On Wed, 18 May 2022 at 20:46, Tanmay Shah <tanmay.shah@xilinx.com> wrote: > > > > This patch series adds bindings document for RPU subsystem found on Xilinx > > ZynqMP platforms. It also adds device nodes and driver to enable RPU > > subsystem 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, lockstep 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 v5: > > - Add constraints of the possible values of xlnx,cluster-mode property > > - fix description of power-domains property for r5 core > > - Remove reg, address-cells and size-cells properties as it is not required > > - Fix description of mboxes property > > - Add description of each memory-region and remove old .txt binding link > > reference in the description > > - Remove optional reg property from r5fss node > > - Move r5fss node out of axi node > > > > Changes in v4: > > - Add memory-region, mboxes and mbox-names properties in dt-bindings example > > - Add reserved memory region node and use it in Xilinx dt RPU subsystem node > > - Remove redundant header files > > - use dev_err_probe() to report errors during probe > > - Fix missing check on error code returned by zynqmp_r5_add_rproc_core() > > - Fix memory leaks all over the driver when resource allocation fails for any core > > - make cluster mode check only at one place > > - remove redundant initialization of variable > > - remove redundant use of of_node_put() > > - Fix Comment format problem > > - Assign offset of zynqmp_tcm_banks instead of duplicating it > > - Add tcm and memory regions rproc carveouts during prepare instead of parse_fw > > - Remove rproc_mem_entry object from r5_core > > - Use put_device() and rproc_del() APIs to fix memory leaks > > - Replace pr_* with dev_*. This was missed in v3, fix now. > > - Use "GPL" instead of "GPL v2" in MODULE_LICENSE macro. This was reported by checkpatch script. > > > > 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 multiline 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 | 128 ++ > > arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 33 + > > drivers/firmware/xilinx/zynqmp.c | 97 ++ > > drivers/remoteproc/Kconfig | 12 + > > drivers/remoteproc/Makefile | 1 + > > drivers/remoteproc/xlnx_r5_remoteproc.c | 1045 +++++++++++++++++ > > include/dt-bindings/power/xlnx-zynqmp-power.h | 6 + > > include/linux/firmware/xlnx-zynqmp.h | 60 + > > 8 files changed, 1382 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/remoteproc/xlnx,r5f-rproc.yaml > > create mode 100644 drivers/remoteproc/xlnx_r5_remoteproc.c > > > > > > base-commit: 01a1a0c8d456b11f2f6b9b822414481beaa44d6f > > -- > > 2.25.1 > > >
| |