aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorThomas Abraham <thomas.abraham@linaro.org>2011-10-24 05:43:11 -0400
committerKukjin Kim <kgene.kim@samsung.com>2011-12-22 20:07:03 -0500
commitcd072515215ccc37051cadc516ce28545257be41 (patch)
treef67c1ed0a2a988181c20f545f0ad1732b2444a90 /include
parent3e2ec13a8185183cd7ff237dadc948a0f9f7398f (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.h13
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
18struct 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
27struct dma_pl330_platdata { 18struct 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};