diff options
author | Thomas Abraham <thomas.abraham@linaro.org> | 2011-10-24 05:43:11 -0400 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2011-12-22 20:07:03 -0500 |
commit | cd072515215ccc37051cadc516ce28545257be41 (patch) | |
tree | f67c1ed0a2a988181c20f545f0ad1732b2444a90 /include | |
parent | 3e2ec13a8185183cd7ff237dadc948a0f9f7398f (diff) |
DMA: PL330: Infer transfer direction from transfer request instead of platform data
The transfer direction for a channel can be inferred from the transfer
request and the need for specifying transfer direction in platfrom data
can be eliminated. So the structure definition 'struct dma_pl330_peri'
is no longer required.
The channel's private data is set to point to a channel id specified in
the platform data (instead of an instance of type 'struct dma_pl330_peri').
The filter function is correspondingly modified to match the channel id.
With the 'struct dma_pl330_peri' removed from platform data, the dma
controller transfer capabilities cannot be inferred any more. Hence,
the dma controller capabilities is specified using platform data.
Acked-by: Jassi Brar <jassisinghbrar@gmail.com>
Acked-by: Boojin Kim <boojin.kim@samsung.com>
Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/amba/pl330.h | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/include/linux/amba/pl330.h b/include/linux/amba/pl330.h index 6db72dae2f16..12e023c19ac1 100644 --- a/include/linux/amba/pl330.h +++ b/include/linux/amba/pl330.h | |||
@@ -15,15 +15,6 @@ | |||
15 | #include <linux/dmaengine.h> | 15 | #include <linux/dmaengine.h> |
16 | #include <asm/hardware/pl330.h> | 16 | #include <asm/hardware/pl330.h> |
17 | 17 | ||
18 | struct dma_pl330_peri { | ||
19 | /* | ||
20 | * Peri_Req i/f of the DMAC that is | ||
21 | * peripheral could be reached from. | ||
22 | */ | ||
23 | u8 peri_id; /* specific dma id */ | ||
24 | enum pl330_reqtype rqtype; | ||
25 | }; | ||
26 | |||
27 | struct dma_pl330_platdata { | 18 | struct dma_pl330_platdata { |
28 | /* | 19 | /* |
29 | * Number of valid peripherals connected to DMAC. | 20 | * Number of valid peripherals connected to DMAC. |
@@ -34,7 +25,9 @@ struct dma_pl330_platdata { | |||
34 | */ | 25 | */ |
35 | u8 nr_valid_peri; | 26 | u8 nr_valid_peri; |
36 | /* Array of valid peripherals */ | 27 | /* Array of valid peripherals */ |
37 | struct dma_pl330_peri *peri; | 28 | u8 *peri_id; |
29 | /* Operational capabilities */ | ||
30 | dma_cap_mask_t cap_mask; | ||
38 | /* Bytes to allocate for MC buffer */ | 31 | /* Bytes to allocate for MC buffer */ |
39 | unsigned mcbuf_sz; | 32 | unsigned mcbuf_sz; |
40 | }; | 33 | }; |