diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-26 12:24:48 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-26 12:24:48 -0500 |
| commit | 5115f3c19d17851aaff5a857f55b4a019c908775 (patch) | |
| tree | 0d02cf01e12e86365f4f5e3b234f986daef181a7 | |
| parent | c41b3810c09e60664433548c5218cc6ece6a8903 (diff) | |
| parent | 17166a3b6e88b93189e6be5f7e1335a3cc4fa965 (diff) | |
Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma
Pull slave-dmaengine updates from Vinod Koul:
"This is fairly big pull by my standards as I had missed last merge
window. So we have the support for device tree for slave-dmaengine,
large updates to dw_dmac driver from Andy for reusing on different
architectures. Along with this we have fixes on bunch of the drivers"
Fix up trivial conflicts, usually due to #include line movement next to
each other.
* 'next' of git://git.infradead.org/users/vkoul/slave-dma: (111 commits)
Revert "ARM: SPEAr13xx: Pass DW DMAC platform data from DT"
ARM: dts: pl330: Add #dma-cells for generic dma binding support
DMA: PL330: Register the DMA controller with the generic DMA helpers
DMA: PL330: Add xlate function
DMA: PL330: Add new pl330 filter for DT case.
dma: tegra20-apb-dma: remove unnecessary assignment
edma: do not waste memory for dma_mask
dma: coh901318: set residue only if dma is in progress
dma: coh901318: avoid unbalanced locking
dmaengine.h: remove redundant else keyword
dma: of-dma: protect list write operation by spin_lock
dmaengine: ste_dma40: do not remove descriptors for cyclic transfers
dma: of-dma.c: fix memory leakage
dw_dmac: apply default dma_mask if needed
dmaengine: ioat - fix spare sparse complain
dmaengine: move drivers/of/dma.c -> drivers/dma/of-dma.c
ioatdma: fix race between updating ioat->head and IOAT_COMPLETION_PENDING
dw_dmac: add support for Lynxpoint DMA controllers
dw_dmac: return proper residue value
dw_dmac: fill individual length of descriptor
...
56 files changed, 2037 insertions, 705 deletions
diff --git a/Documentation/devicetree/bindings/dma/arm-pl330.txt b/Documentation/devicetree/bindings/dma/arm-pl330.txt index 36e27d54260b..267565894db9 100644 --- a/Documentation/devicetree/bindings/dma/arm-pl330.txt +++ b/Documentation/devicetree/bindings/dma/arm-pl330.txt | |||
| @@ -10,7 +10,11 @@ Required properties: | |||
| 10 | - interrupts: interrupt number to the cpu. | 10 | - interrupts: interrupt number to the cpu. |
| 11 | 11 | ||
| 12 | Optional properties: | 12 | Optional properties: |
| 13 | - dma-coherent : Present if dma operations are coherent | 13 | - dma-coherent : Present if dma operations are coherent |
| 14 | - #dma-cells: must be <1>. used to represent the number of integer | ||
| 15 | cells in the dmas property of client device. | ||
| 16 | - dma-channels: contains the total number of DMA channels supported by the DMAC | ||
| 17 | - dma-requests: contains the total number of DMA requests supported by the DMAC | ||
| 14 | 18 | ||
| 15 | Example: | 19 | Example: |
| 16 | 20 | ||
| @@ -18,16 +22,23 @@ Example: | |||
| 18 | compatible = "arm,pl330", "arm,primecell"; | 22 | compatible = "arm,pl330", "arm,primecell"; |
| 19 | reg = <0x12680000 0x1000>; | 23 | reg = <0x12680000 0x1000>; |
| 20 | interrupts = <99>; | 24 | interrupts = <99>; |
| 25 | #dma-cells = <1>; | ||
| 26 | #dma-channels = <8>; | ||
| 27 | #dma-requests = <32>; | ||
| 21 | }; | 28 | }; |
| 22 | 29 | ||
| 23 | Client drivers (device nodes requiring dma transfers from dev-to-mem or | 30 | Client drivers (device nodes requiring dma transfers from dev-to-mem or |
| 24 | mem-to-dev) should specify the DMA channel numbers using a two-value pair | 31 | mem-to-dev) should specify the DMA channel numbers and dma channel names |
| 25 | as shown below. | 32 | as shown below. |
| 26 | 33 | ||
| 27 | [property name] = <[phandle of the dma controller] [dma request id]>; | 34 | [property name] = <[phandle of the dma controller] [dma request id]>; |
| 35 | [property name] = <[dma channel name]> | ||
| 28 | 36 | ||
| 29 | where 'dma request id' is the dma request number which is connected | 37 | where 'dma request id' is the dma request number which is connected |
| 30 | to the client controller. The 'property name' is recommended to be | 38 | to the client controller. The 'property name' 'dmas' and 'dma-names' |
| 31 | of the form <name>-dma-channel. | 39 | as required by the generic dma device tree binding helpers. The dma |
| 40 | names correspond 1:1 with the dma request ids in the dmas property. | ||
| 32 | 41 | ||
| 33 | Example: tx-dma-channel = <&pdma0 12>; | 42 | Example: dmas = <&pdma0 12 |
| 43 | &pdma1 11>; | ||
| 44 | dma-names = "tx", "rx"; | ||
diff --git a/Documentation/devicetree/bindings/dma/dma.txt b/Documentation/devicetree/bindings/dma/dma.txt new file mode 100644 index 000000000000..8f504e6bae14 --- /dev/null +++ b/Documentation/devicetree/bindings/dma/dma.txt | |||
| @@ -0,0 +1,81 @@ | |||
| 1 | * Generic DMA Controller and DMA request bindings | ||
| 2 | |||
| 3 | Generic binding to provide a way for a driver using DMA Engine to retrieve the | ||
| 4 | DMA request or channel information that goes from a hardware device to a DMA | ||
| 5 | controller. | ||
| 6 | |||
| 7 | |||
| 8 | * DMA controller | ||
| 9 | |||
| 10 | Required property: | ||
| 11 | - #dma-cells: Must be at least 1. Used to provide DMA controller | ||
| 12 | specific information. See DMA client binding below for | ||
| 13 | more details. | ||
| 14 | |||
| 15 | Optional properties: | ||
| 16 | - dma-channels: Number of DMA channels supported by the controller. | ||
| 17 | - dma-requests: Number of DMA requests signals supported by the | ||
| 18 | controller. | ||
| 19 | |||
| 20 | Example: | ||
| 21 | |||
| 22 | dma: dma@48000000 { | ||
| 23 | compatible = "ti,omap-sdma"; | ||
| 24 | reg = <0x48000000 0x1000>; | ||
| 25 | interrupts = <0 12 0x4 | ||
| 26 | 0 13 0x4 | ||
| 27 | 0 14 0x4 | ||
| 28 | 0 15 0x4>; | ||
| 29 | #dma-cells = <1>; | ||
| 30 | dma-channels = <32>; | ||
| 31 | dma-requests = <127>; | ||
| 32 | }; | ||
| 33 | |||
| 34 | |||
| 35 | * DMA client | ||
| 36 | |||
| 37 | Client drivers should specify the DMA property using a phandle to the controller | ||
| 38 | followed by DMA controller specific data. | ||
| 39 | |||
| 40 | Required property: | ||
| 41 | - dmas: List | ||
