aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/dw_dmac.h
diff options
context:
space:
mode:
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>2012-09-21 08:05:48 -0400
committerVinod Koul <vinod.koul@linux.intel.com>2012-09-27 06:05:23 -0400
commita09820043c9e11149145a1ec221eed4a7b42dcce (patch)
tree0561b70b0803aec4b57e41e90fa0ece433f9d59f /include/linux/dw_dmac.h
parent4a63a8b3e8d2e4f56174deb728085010aa3ac2a1 (diff)
dw_dmac: autoconfigure data_width or get it via platform data
Not all of the controllers support the 64 bit data width. Make it configurable via platform data. The driver will try to get a value from the component parameters, otherwise it will use the platform data. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
Diffstat (limited to 'include/linux/dw_dmac.h')
-rw-r--r--include/linux/dw_dmac.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/dw_dmac.h b/include/linux/dw_dmac.h
index 3315ef9c785b..e1c8c9e919ac 100644
--- a/include/linux/dw_dmac.h
+++ b/include/linux/dw_dmac.h
@@ -20,6 +20,9 @@
20 * @is_private: The device channels should be marked as private and not for 20 * @is_private: The device channels should be marked as private and not for
21 * by the general purpose DMA channel allocator. 21 * by the general purpose DMA channel allocator.
22 * @block_size: Maximum block size supported by the controller 22 * @block_size: Maximum block size supported by the controller
23 * @nr_masters: Number of AHB masters supported by the controller
24 * @data_width: Maximum data width supported by hardware per AHB master
25 * (0 - 8bits, 1 - 16bits, ..., 5 - 256bits)
23 */ 26 */
24struct dw_dma_platform_data { 27struct dw_dma_platform_data {
25 unsigned int nr_channels; 28 unsigned int nr_channels;
@@ -31,6 +34,8 @@ struct dw_dma_platform_data {
31#define CHAN_PRIORITY_DESCENDING 1 /* chan7 highest */ 34#define CHAN_PRIORITY_DESCENDING 1 /* chan7 highest */
32 unsigned char chan_priority; 35 unsigned char chan_priority;
33 unsigned short block_size; 36 unsigned short block_size;
37 unsigned char nr_masters;
38 unsigned char data_width[4];
34}; 39};
35 40
36/* bursts size */ 41/* bursts size */