summaryrefslogtreecommitdiff
path: root/include/linux/amba
diff options
context:
space:
mode:
authorThomas Abraham <thomas.abraham@linaro.org>2011-10-24 11:43:11 +0200
committerKukjin Kim <kgene.kim@samsung.com>2011-12-23 10:07:03 +0900
commitcd072515215ccc37051cadc516ce28545257be41 (patch)
treef67c1ed0a2a988181c20f545f0ad1732b2444a90 /include/linux/amba
parent3e2ec13a8185183cd7ff237dadc948a0f9f7398f (diff)
downloadlinux-3.10-cd072515215ccc37051cadc516ce28545257be41.tar.gz
linux-3.10-cd072515215ccc37051cadc516ce28545257be41.tar.bz2
linux-3.10-cd072515215ccc37051cadc516ce28545257be41.zip
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/linux/amba')
-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 6db72dae2f1..12e023c19ac 100644
--- a/include/linux/amba/pl330.h
+++ b/include/linux/amba/pl330.h
@@ -15,15 +15,6 @@
#include <linux/dmaengine.h>
#include <asm/hardware/pl330.h>
-struct dma_pl330_peri {
- /*
- * Peri_Req i/f of the DMAC that is
- * peripheral could be reached from.
- */
- u8 peri_id; /* specific dma id */
- enum pl330_reqtype rqtype;
-};
-
struct dma_pl330_platdata {
/*
* Number of valid peripherals connected to DMAC.
@@ -34,7 +25,9 @@ struct dma_pl330_platdata {
*/
u8 nr_valid_peri;
/* Array of valid peripherals */
- struct dma_pl330_peri *peri;
+ u8 *peri_id;
+ /* Operational capabilities */
+ dma_cap_mask_t cap_mask;
/* Bytes to allocate for MC buffer */
unsigned mcbuf_sz;
};