Hi folks, miquel.raynal@xxxxxxxxxxx wrote on Wed, 27 Apr 2022 11:56:44 +0200: > Hello, > > This is the series bringing DMA support to RZN1 platforms. > The UART changes regarding DMA support has been merged into tty-next > already. > > There is no other conflicting dependency with the other series, so these > patches (all but DTS) can go though the dmaengine tree I believe. As all patches the patches in this series have received a fairly good amount of reviews, as well as all the necessary tags since a few weeks already, I was hoping to see it applied for the next merge window. Is there something still blocking its acceptance? Let me know if it is the case and I will do the necessary to make them fit. Cheers, Miquèl > > Cheers, > Miquèl > > Changes in v12: > * Collected more tags. > * Updated the prefix of the patch introducing the dmamux helper. > * Avoid failing to probe the clock driver entirely when a clock subnode > fails to probe. Just print an error message on purpose and mention it > int the commit log. > * Enabled the DMA nodes by default in the DTSI. > * Used the data-width property instead of the deprecated data_width. > > Changes in v11: > * Renamed two defines. > * Changed the way the bitmap is declared. > * Updated the cover letter: this series can now go in through the > dmaengine tree. > > Changes in v10: > * Collected more tags. > * Dropped the mutex from the dmamux driver. > * Added missing includes in the dmamux driver. > * Replaced set_bit() by test_and_set_bit() in order to check if the chan > is already used or not in the dmamux driver. > * Corrected the misuse of the set_bit() macro in the dmamux driver. > > Changes in v9: > * Collected more tags. > * Changed a u32 into a regular bitmap and used the bitmap API. > * Reordered two function calls to save one extra line. > * Added a define to avoid a magic value. > > Changes in v8: > * Collected more tags. > * Moved the Makefile line adding the dmamux driver to the bottom of the > file. > * Reversed the logic in a ternary operation as suggested by Andy. > * Changed a bit the naming of a #define as suggested by Andy. > > Changes in v7: > * This time, really added Stephen's Acks (sorry for the error). > * Moved an error check to get rid of one mutex_unlock/lock call as > suggested by Ilpo. > * Split the patch adding the dmamux driver as advised by Vinod. One > patch introduces the dmamux driver, the other populates the children > of the system controller. As the original patch got acked by Stephen > Boyd, I moved his tag to the patch touching the clock controller only. > > Changes in v6: > * Added Stephen's acks. > * Fixed an extra newline added in the middle of nowhere. > * Rebased on top of v5.18-rc1. > > Changes in v5: > * Used gotos in rzn1_dmamux_route_allocate(). > * Changed the prefix to "dmaengine:". > * Dropped the partial transfers fix. > * Added Rob's acks. > > Changes in v4: > * Freed "map" in the error path of the dmamux driver. > * Improved a bit the style as requested by Prabhakar. > * Dropped a __maybe_unused. > * Reorder the includes. > * Added a dependency on ARCH_RZN1. > * Added Rob's Ack. > * Added a reg property to the dmamux binding file. > * Referenced the dmamux binding from the system controller file. > * Called of_platform_populate from the end of the system controller > (clock) driver probe in order to probe the dmamux if it was > populated. > * Added DMA properties to all the relevant UARTs. > > Changes in v3: > * Added Reviewed-by tags. > * Exported the set_dmamux* symbol properly. > * Dropped a useless check in the probe and moved the sysctrl_priv > assignation to the end of the probe. > * Renamed the dmamux driver > * Added a couple of missing MODULE_ macros in the dmamux driver. > * Decided to use a regular platform init call instead of the > arch_initcall() initially proposed. > * s/%d/%u/ in printk's when appropriate. > * Used a hardcoded value instead of dmamux->dmac_requests when > appropriate. > * Changed the variable name "master" to "dmac_idx" to be more > descriptive. > * Dropped most of the of_* calls in favor of #define's. > * Fixed a typo. > * Exported two symbols from 8250_dma.c. > > Changes in v2: > * Clarified that the 'fix' regarding non aligned reads would only apply > to the DEV_TO_MEM case. > * Fix the DMA controller compatible string (copy-paste error). > * s/syscon/sysctrl/ as advised by Geert. > * Disabled irqs when taking the spinlock from the clocks driver. > * Moved the DMAMUX offset inside the driver. > * Removed extra commas. > * Improved the style as suggested by Andy. > * Removed a dupplicated check against the device node presence. > * Reduced the number of lines of code by using dev_err_probe(). > * Created a Kconfig symbol for DMAMUX to fix the two robot reports > received and be sure there was no useless overhead with other > platforms. > * Exported the serial8250_{tx,rx}_dma() symbols. > > Miquel Raynal (9): > dt-bindings: dmaengine: Introduce RZN1 dmamux bindings > dt-bindings: clock: r9a06g032-sysctrl: Reference the DMAMUX subnode > dt-bindings: dmaengine: Introduce RZN1 DMA compatible > clk: renesas: r9a06g032: Export function to set dmamux > dmaengine: dw: dmamux: Introduce RZN1 DMA router support > clk: renesas: r9a06g032: Probe possible children > dmaengine: dw: Add RZN1 compatible > ARM: dts: r9a06g032: Add the two DMA nodes > ARM: dts: r9a06g032: Describe the DMA router > > .../clock/renesas,r9a06g032-sysctrl.yaml | 11 ++ > .../bindings/dma/renesas,rzn1-dmamux.yaml | 51 ++++++ > .../bindings/dma/snps,dma-spear1340.yaml | 8 +- > MAINTAINERS | 1 + > arch/arm/boot/dts/r9a06g032.dtsi | 38 +++++ > drivers/clk/renesas/r9a06g032-clocks.c | 40 ++++- > drivers/dma/dw/Kconfig | 9 + > drivers/dma/dw/Makefile | 2 + > drivers/dma/dw/platform.c | 1 + > drivers/dma/dw/rzn1-dmamux.c | 155 ++++++++++++++++++ > include/linux/soc/renesas/r9a06g032-sysctrl.h | 11 ++ > 11 files changed, 325 insertions(+), 2 deletions(-) > create mode 100644 Documentation/devicetree/bindings/dma/renesas,rzn1-dmamux.yaml > create mode 100644 drivers/dma/dw/rzn1-dmamux.c > create mode 100644 include/linux/soc/renesas/r9a06g032-sysctrl.h >