Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1585720 > unrolled thread

[PATCH v1 0/2] dmaengine: Add DW AXI DMAC driver

Started byEugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
First post2017-02-21 21:40 +0100
Last post2017-02-28 00:10 +0100
Articles 3 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH v1 0/2] dmaengine: Add DW AXI DMAC driver Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> - 2017-02-21 21:40 +0100
    [PATCH v1 1/2] dt-bindings: Document the Synopsys DW AXI DMA bindings Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> - 2017-02-21 21:40 +0100
      Re: [PATCH v1 1/2] dt-bindings: Document the Synopsys DW AXI DMA  bindings Rob Herring <robh@kernel.org> - 2017-02-28 00:10 +0100

#1585720 — [PATCH v1 0/2] dmaengine: Add DW AXI DMAC driver

FromEugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Date2017-02-21 21:40 +0100
Subject[PATCH v1 0/2] dmaengine: Add DW AXI DMAC driver
Message-ID<tdpo6-7FL-15@gated-at.bofh.it>
This patch series add support for the DW AXI DMAC controller.

DW AXI DMAC is a part of upcoming development board from Synopsys.

In this driver implementation only DMA_MEMCPY and DMA_SG transfers
are supported.

Changes for v1:
 * Implement Runtime PM (the driver can operate with or without
   Runtime PM support)
 * Move submitting new txn to interrupt handler from tasklet
 * Free IRQ manually in driver remove function
 * Add 64 bit support
 * Rid of subsys_initcall
 * Use dev_vdbg instead dev_dbg in some places
 * Rid of C99 style comments
 * Add IP version to DT compatible string

Note:
 * I left "is_paused" variable untouched. I checked the drivers which
   have 'enum dma_status' field in their channel data structures -
   there is no much sense to add enum to this driver channel data
   structure - it will be used only for determinating is channel
   paused or not.
 * I left preparation of SG list according to max data width and
   max block size in dma_chan_prep_dma_sg function.
 * I left axi_chan_is_hw_enable assert untouched because it is
   HW per-channel assert. It can't be managed by runtime PM.

Changes for v0:
 * Switch to virt-dma API (according to previous RFC)
 * Small fixies according to previous RFC
 * Add DT bindings

Eugeniy Paltsev (2):
  dt-bindings: Document the Synopsys DW AXI DMA bindings
  dmaengine: Add DW AXI DMAC driver

 .../devicetree/bindings/dma/snps,axi-dw-dmac.txt   |   34 +
 drivers/dma/Kconfig                                |   10 +
 drivers/dma/Makefile                               |    1 +
 drivers/dma/axi_dma_platform.c                     | 1041 ++++++++++++++++++++
 drivers/dma/axi_dma_platform.h                     |  118 +++
 drivers/dma/axi_dma_platform_reg.h                 |  189 ++++
 6 files changed, 1393 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/dma/snps,axi-dw-dmac.txt
 create mode 100644 drivers/dma/axi_dma_platform.c
 create mode 100644 drivers/dma/axi_dma_platform.h
 create mode 100644 drivers/dma/axi_dma_platform_reg.h

-- 
2.5.5

[toc] | [next] | [standalone]


#1585724 — [PATCH v1 1/2] dt-bindings: Document the Synopsys DW AXI DMA bindings

FromEugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Date2017-02-21 21:40 +0100
Subject[PATCH v1 1/2] dt-bindings: Document the Synopsys DW AXI DMA bindings
Message-ID<tdpo6-7FL-19@gated-at.bofh.it>
In reply to#1585720
This patch adds documentation of device tree bindings for the Synopsys
DesignWare AXI DMA controller.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
---
 .../devicetree/bindings/dma/snps,axi-dw-dmac.txt   | 34 ++++++++++++++++++++++
 1 file changed, 34 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/dma/snps,axi-dw-dmac.txt

diff --git a/Documentation/devicetree/bindings/dma/snps,axi-dw-dmac.txt b/Documentation/devicetree/bindings/dma/snps,axi-dw-dmac.txt
new file mode 100644
index 0000000..21666fe
--- /dev/null
+++ b/Documentation/devicetree/bindings/dma/snps,axi-dw-dmac.txt
@@ -0,0 +1,34 @@
+* Synopsys DesignWare AXI DMA Controller
+
+Required properties:
+- compatible: "snps,axi-dma-1.01a"
+- reg: Address range of the DMAC registers. This should include
+  all of the per-channel registers.
+- interrupt: Should contain the DMAC interrupt number.
+- interrupt-parent: Should be the phandle for the interrupt controller
+  that services interrupts for this device.
+- dma-channels: Number of channels supported by hardware.
+- snps,dma-masters: Number of AXI masters supported by the hardware.
+- snps,data-width: Maximum AXI data width supported by hardware.
+  (0 - 8bits, 1 - 16bits, 2 - 32bits, ..., 6 - 512bits)
+- snps,priority: Priority of channel. Array size is equal to the number of
+  dma-channels. Priority value must be programmed within [0:dma-channels-1]
+  range. (0 - minimum priority)
+- snps,block-size: Maximum block size supported by the controller channel.
+  Array size is equal to the number of dma-channels.
+
+Example:
+
+dmac: dma-controller@80000 {
+	compatible = "snps,axi-dma-1.01a";
+	reg = <0x80000 0x400>;
+	clocks = <&core_clk>;
+	interrupt-parent = <&intc>;
+	interrupts = <27>;
+
+	dma-channels = <4>;
+	snps,dma-masters = <2>;
+	snps,data-width = <3>;
+	snps,block-size = <4096 4096 4096 4096>;
+	snps,priority = <0 1 2 3>;
+};
-- 
2.5.5

[toc] | [prev] | [next] | [standalone]


#1589036 — Re: [PATCH v1 1/2] dt-bindings: Document the Synopsys DW AXI DMA bindings

FromRob Herring <robh@kernel.org>
Date2017-02-28 00:10 +0100
SubjectRe: [PATCH v1 1/2] dt-bindings: Document the Synopsys DW AXI DMA bindings
Message-ID<tfCAx-47Y-7@gated-at.bofh.it>
In reply to#1585724
On Tue, Feb 21, 2017 at 11:38:03PM +0300, Eugeniy Paltsev wrote:
> This patch adds documentation of device tree bindings for the Synopsys
> DesignWare AXI DMA controller.
> 
> Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
> ---
>  .../devicetree/bindings/dma/snps,axi-dw-dmac.txt   | 34 ++++++++++++++++++++++
>  1 file changed, 34 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/dma/snps,axi-dw-dmac.txt

Acked-by: Rob Herring <robh@kernel.org>

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web