diff options
author | Thomas Abraham <thomas.abraham@linaro.org> | 2011-10-24 11:43:11 +0200 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2011-12-23 10:07:03 +0900 |
commit | cd072515215ccc37051cadc516ce28545257be41 (patch) | |
tree | f67c1ed0a2a988181c20f545f0ad1732b2444a90 /include/linux/amba | |
parent | 3e2ec13a8185183cd7ff237dadc948a0f9f7398f (diff) | |
download | linux-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.h | 13 |
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; }; |