diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-10 11:55:08 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-10 11:55:08 -0400 |
| commit | 6c61403a446b5ee54c21cecabdc821acf06f96bf (patch) | |
| tree | 26423d750d6e0d793ac1751b92025250461e9a4e /include/linux | |
| parent | edf2377c4776ce20ae990f27f0248e88a37e25c4 (diff) | |
| parent | 8673bcef8c1b07b83e9ee02d5e7f4b66507b03cd (diff) | |
Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma
Pull slave-dmaengine updates from Vinod Koul:
- New driver for Qcom bam dma
- New driver for RCAR peri-peri
- New driver for FSL eDMA
- Various odd fixes and updates thru the subsystem
* 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (29 commits)
dmaengine: add Qualcomm BAM dma driver
shdma: add R-Car Audio DMAC peri peri driver
dmaengine: sirf: enable generic dt binding for dma channels
dma: omap-dma: Implement device_slave_caps callback
dmaengine: qcom_bam_dma: Add device tree binding
dma: dw: Add suspend and resume handling for PCI mode DW_DMAC.
dma: dw: allocate memory in two stages in probe
Add new line to test result strings produced in verbose mode
dmaengine: pch_dma: use tasklet_kill in teardown
dmaengine: at_hdmac: use tasklet_kill in teardown
dma: cppi41: start tear down only if channel is busy
usb: musb: musb_cppi41: Dont reprogram DMA if tear down is initiated
dmaengine: s3c24xx-dma: make phy->irq signed for error handling
dma: imx-dma: Add missing module owner field
dma: imx-dma: Replace printk with dev_*
dma: fsl-edma: fix static checker warning of NULL dereference
dma: Remove comment about embedding dma_slave_config into custom structs
dma: mmp_tdma: move to generic device tree binding
dma: mmp_pdma: add IRQF_SHARED when request irq
dma: edma: Fix memory leak in edma_prep_dma_cyclic()
...
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/acpi_dma.h | 5 | ||||
| -rw-r--r-- | include/linux/dmaengine.h | 14 | ||||
| -rw-r--r-- | include/linux/dw_dmac.h | 5 | ||||
| -rw-r--r-- | include/linux/platform_data/dma-rcar-audmapp.h | 34 |
4 files changed, 43 insertions, 15 deletions
diff --git a/include/linux/acpi_dma.h b/include/linux/acpi_dma.h index fb0298082916..329436d38e66 100644 --- a/include/linux/acpi_dma.h +++ b/include/linux/acpi_dma.h | |||
| @@ -16,6 +16,7 @@ | |||
| 16 | 16 | ||
| 17 | #include <linux/list.h> | 17 | #include <linux/list.h> |
| 18 | #include <linux/device.h> | 18 | #include <linux/device.h> |
| 19 | #include <linux/err.h> | ||
| 19 | #include <linux/dmaengine.h> | 20 | #include <linux/dmaengine.h> |
| 20 | 21 | ||
| 21 | /** | 22 | /** |
| @@ -103,12 +104,12 @@ static inline void devm_acpi_dma_controller_free(struct device *dev) | |||
| 103 | static inline struct dma_chan *acpi_dma_request_slave_chan_by_index( | 104 | static inline struct dma_chan *acpi_dma_request_slave_chan_by_index( |
| 104 | struct device *dev, size_t index) | 105 | struct device *dev, size_t index) |
| 105 | { | 106 | { |
| 106 | return NULL; | 107 | return ERR_PTR(-ENODEV); |
| 107 | } | 108 | } |
| 108 | static inline struct dma_chan *acpi_dma_request_slave_chan_by_name( | 109 | static inline struct dma_chan *acpi_dma_request_slave_chan_by_name( |
| 109 | struct device *dev, const char *name) | 110 | struct device *dev, const char *name) |
| 110 | { | 111 | { |
| 111 | return NULL; | 112 | return ERR_PTR(-ENODEV); |
| 112 | } | 113 | } |
| 113 | 114 | ||
| 114 | #define acpi_dma_simple_xlate NULL | 115 | #define acpi_dma_simple_xlate NULL |
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index c5c92d59e531..8300fb87b84a 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h | |||
| @@ -341,15 +341,11 @@ enum dma_slave_buswidth { | |||
| 341 | * and this struct will then be passed in as an argument to the | 341 | * and this struct will then be passed in as an argument to the |
| 342 | * DMA engine device_control() function. | 342 | * DMA engine device_control() function. |
| 343 | * | 343 | * |
| 344 | * The rationale for adding configuration information to this struct | 344 | * The rationale for adding configuration information to this struct is as |
| 345 | * is as follows: if it is likely that most DMA slave controllers in | 345 | * follows: if it is likely that more than one DMA slave controllers in |
| 346 | * the world will support the configuration option, then make it | 346 | * the world will support the configuration option, then make it generic. |
| 347 | * generic. If not: if it is fixed so that it be sent in static from | 347 | * If not: if it is fixed so that it be sent in static from the platform |
| 348 | * the platform data, then prefer to do that. Else, if it is neither | 348 | * data, then prefer to do that. |
| 349 | * fixed at runtime, nor generic enough (such as bus mastership on | ||
| 350 | * some CPU family and whatnot) then create a custom slave config | ||
| 351 | * struct and pass that, then make this config a member of that | ||
| 352 | * struct, if applicable. | ||
| 353 | */ | 349 | */ |
| 354 | struct dma_slave_config { | 350 | struct dma_slave_config { |
| 355 | enum dma_transfer_direction direction; | 351 | enum dma_transfer_direction direction; |
diff --git a/include/linux/dw_dmac.h b/include/linux/dw_dmac.h index 481ab2345d6b..68b4024184de 100644 --- a/include/linux/dw_dmac.h +++ b/include/linux/dw_dmac.h | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Driver for the Synopsys DesignWare DMA Controller (aka DMACA on | 2 | * Driver for the Synopsys DesignWare DMA Controller |
| 3 | * AVR32 systems.) | ||
| 4 | * | 3 | * |
| 5 | * Copyright (C) 2007 Atmel Corporation | 4 | * Copyright (C) 2007 Atmel Corporation |
| 6 | * Copyright (C) 2010-2011 ST Microelectronics | 5 | * Copyright (C) 2010-2011 ST Microelectronics |
| @@ -44,8 +43,6 @@ struct dw_dma_slave { | |||
| 44 | * @nr_masters: Number of AHB masters supported by the controller | 43 | * @nr_masters: Number of AHB masters supported by the controller |
| 45 | * @data_width: Maximum data width supported by hardware per AHB master | 44 | * @data_width: Maximum data width supported by hardware per AHB master |
| 46 | * (0 - 8bits, 1 - 16bits, ..., 5 - 256bits) | 45 | * (0 - 8bits, 1 - 16bits, ..., 5 - 256bits) |
| 47 | * @sd: slave specific data. Used for configuring channels | ||
| 48 | * @sd_count: count of slave data structures passed. | ||
| 49 | */ | 46 | */ |
| 50 | struct dw_dma_platform_data { | 47 | struct dw_dma_platform_data { |
| 51 | unsigned int nr_channels; | 48 | unsigned int nr_channels; |
diff --git a/include/linux/platform_data/dma-rcar-audmapp.h b/include/linux/platform_data/dma-rcar-audmapp.h new file mode 100644 index 000000000000..471fffebbeb4 --- /dev/null +++ b/include/linux/platform_data/dma-rcar-audmapp.h | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | /* | ||
| 2 | * This is for Renesas R-Car Audio-DMAC-peri-peri. | ||
| 3 | * | ||
| 4 | * Copyright (C) 2014 Renesas Electronics Corporation | ||
| 5 | * Copyright (C) 2014 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | ||
| 6 | * | ||
| 7 | * This file is based on the include/linux/sh_dma.h | ||
| 8 | * | ||
| 9 | * Header for the new SH dmaengine driver | ||
| 10 | * | ||
| 11 | * Copyright (C) 2010 Guennadi Liakhovetski <g.liakhovetski@gmx.de> | ||
| 12 | * | ||
| 13 | * This program is free software; you can redistribute it and/or modify | ||
| 14 | * it under the terms of the GNU General Public License version 2 as | ||
| 15 | * published by the Free Software Foundation. | ||
| 16 | */ | ||
| 17 | #ifndef SH_AUDMAPP_H | ||
| 18 | #define SH_AUDMAPP_H | ||
| 19 | |||
| 20 | #include <linux/dmaengine.h> | ||
| 21 | |||
| 22 | struct audmapp_slave_config { | ||
| 23 | int slave_id; | ||
| 24 | dma_addr_t src; | ||
| 25 | dma_addr_t dst; | ||
| 26 | u32 chcr; | ||
| 27 | }; | ||
| 28 | |||
| 29 | struct audmapp_pdata { | ||
| 30 | struct audmapp_slave_config *slave; | ||
| 31 | int slave_num; | ||
| 32 | }; | ||
| 33 | |||
| 34 | #endif /* SH_AUDMAPP_H */ | ||
