Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964948AbbDIJgt (ORCPT ); Thu, 9 Apr 2015 05:36:49 -0400 Received: from devils.ext.ti.com ([198.47.26.153]:38784 "EHLO devils.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932881AbbDIJgn (ORCPT ); Thu, 9 Apr 2015 05:36:43 -0400 From: Peter Ujfalusi To: , , CC: , , , , , , , , , Subject: [PATCH v5 0/8] dmaengine/dra7x: DMA router (crossbar support) Date: Thu, 9 Apr 2015 12:35:46 +0300 Message-ID: <1428572154-3548-1-git-send-email-peter.ujfalusi@ti.com> X-Mailer: git-send-email 2.3.5 MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3679 Lines: 89 Vinod: is it OK if I send the Documnetation/dmanegine/ update a bit later when I have finished it? Changes since v4: - Comments from Maxime Ripard addressed: - long line fixed in of-dma.c - node leaks has been fixed in ti-dma-crossbar - Using devm_ioremap_resource() in ti-dma-crossbar - u16 casting has been addressed - Router drivers are expected to return with ERR_PTR in case their of_dma_route_allocate() callback fails. Changes since v3: - Comments from Russell: - Warnings removed in case of non DT boot when taking the DMA request number - Reduced the number of channels presented to DMAengine - removed the dma_sig parameter from omap_dma_chan_init() - Comments from Arnd: - dma-device property renamed to dma-masters - Allow list of phandes in dma-masters Changes since v2: - not using regmap for the TI crossbar driver. Changes since v1: - Comments from Russell King and Paul Bolle addressed: - Use the added defined in the omap-dma changes - MODULE_* removed from the ti-dma-crossbar driver. - DMA router documentation: do not limit the #dma-cells to be the same as the dma controller's #dma-cells. It might be possible to have a router which needs more information than the DMA controller (direct request pairing for example) - Use defines in the ti-dma-crossbar driver - Binding document for the ti-dma-crossbar driver Intro mail from v1: The series adds support for DMA router type of devices. They are used in SoCs which has more peripherals with DMA request lines than the DMA controller can handle. The router itself is not part of the DMA controller and it's operation should be transparent (as it is in the HW) for the SW stack. This series takes into accound the comments Sricharan received for his version of the crossbar driver: https://lkml.org/lkml/2014/3/7/199 This implementation is not tied to any DMA driver so it is possible to use the framework by other vendors, also ACPI version of binding can be easy enough to be added. Regards, Peter --- Peter Ujfalusi (8): dmaengine: of_dma: Support for DMA routers Documentation: devicetree: dma: Binding documentation for TI DMA crossbar dmaengine: Add driver for TI DMA crossbar on DRA7x dmaengine: omap-dma: Use defines for dma channels and request count dmaengine: omap-dma: Take DMA request number from DT if it is available dmaengine: omap-dma: Remove mapping between virtual channels and requests dmaengine: omap-dma: Reduce the number of virtual channels ARM: DTS: dra7x: Integrate sDMA crossbar Documentation/devicetree/bindings/dma/dma.txt | 28 +++ .../devicetree/bindings/dma/ti-dma-crossbar.txt | 52 ++++++ arch/arm/boot/dts/dra7.dtsi | 57 ++++--- drivers/dma/Kconfig | 4 + drivers/dma/Makefile | 1 + drivers/dma/dmaengine.c | 7 + drivers/dma/of-dma.c | 89 ++++++++++ drivers/dma/omap-dma.c | 29 +++- drivers/dma/ti-dma-crossbar.c | 188 +++++++++++++++++++++ include/linux/dmaengine.h | 17 ++ include/linux/of_dma.h | 21 +++ 11 files changed, 463 insertions(+), 30 deletions(-) create mode 100644 Documentation/devicetree/bindings/dma/ti-dma-crossbar.txt create mode 100644 drivers/dma/ti-dma-crossbar.c -- 2.3.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/