On Thu, 26 May 2022 at 10:41, Tanmay Shah <tanmay.shah@xxxxxxxxxx> wrote: > > > On 5/19/22 8:10 PM, tanmay.shah@xxxxxxxxxx wrote: > > > > > > On 5/19/22 3:19 AM, Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> 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. > > > Hi Mathieu, > > Just want to check on reviews. Are you any close to review this version ? > > I have minor fixes in bindings, but if I can get reviews on driver in > this version, I can send driver related changes in v6 as well. > > If my patch is not any close in queue (let's say within next week) I > will go ahead and post v6 that is fixing only bindings. Unfortunately I won't be able to review your work before the end of next week. At this time this is what my queue look like: [PATCH V4 0/2] remoteproc: support self recovery [RFC PATCH v5 0/4] remoteproc: restructure the remoteproc VirtIO device [PATCH v3 0/5] Introduce PRU remoteproc consumer API [PATCH v5 0/6] Add Xilinx RPU subsystem support [PATCH 0/2] dma-mapping, remoteproc: Fix dma_mem leak after rproc_shutdown > > > Thanks, > > Tanmay > > >> Thanks, > >> Mathieu. > >> > >> On Wed, 18 May 2022 at 20:46, Tanmay Shah <tanmay.shah@xxxxxxxxxx> > >> 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 > >> > > >>