diff options
author | Linus Walleij <linus.walleij@stericsson.com> | 2010-09-29 04:31:35 -0400 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2010-10-12 23:37:37 -0400 |
commit | b1b6b9aa6fd32db97469e65d301ebc32dcd67992 (patch) | |
tree | 2a6f3f7d34a50a574854ea7495476f21fd6fcfce /include/linux/amba | |
parent | cdbc8f042f4f2568bb58ba8bd50d0692f3059417 (diff) |
spi/pl022: add PrimeCell generic DMA support
This extends the PL022 SSP/SPI driver with generic DMA engine
support using the PrimeCell DMA engine interface. Also fix up the
test code for the U300 platform.
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'include/linux/amba')
-rw-r--r-- | include/linux/amba/pl022.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/amba/pl022.h b/include/linux/amba/pl022.h index abf26cc47a2b..db6a191ddcf7 100644 --- a/include/linux/amba/pl022.h +++ b/include/linux/amba/pl022.h | |||
@@ -228,6 +228,7 @@ enum ssp_chip_select { | |||
228 | }; | 228 | }; |
229 | 229 | ||
230 | 230 | ||
231 | struct dma_chan; | ||
231 | /** | 232 | /** |
232 | * struct pl022_ssp_master - device.platform_data for SPI controller devices. | 233 | * struct pl022_ssp_master - device.platform_data for SPI controller devices. |
233 | * @num_chipselect: chipselects are used to distinguish individual | 234 | * @num_chipselect: chipselects are used to distinguish individual |
@@ -235,11 +236,16 @@ enum ssp_chip_select { | |||
235 | * each slave has a chipselect signal, but it's common that not | 236 | * each slave has a chipselect signal, but it's common that not |
236 | * every chipselect is connected to a slave. | 237 | * every chipselect is connected to a slave. |
237 | * @enable_dma: if true enables DMA driven transfers. | 238 | * @enable_dma: if true enables DMA driven transfers. |
239 | * @dma_rx_param: parameter to locate an RX DMA channel. | ||
240 | * @dma_tx_param: parameter to locate a TX DMA channel. | ||
238 | */ | 241 | */ |
239 | struct pl022_ssp_controller { | 242 | struct pl022_ssp_controller { |
240 | u16 bus_id; | 243 | u16 bus_id; |
241 | u8 num_chipselect; | 244 | u8 num_chipselect; |
242 | u8 enable_dma:1; | 245 | u8 enable_dma:1; |
246 | bool (*dma_filter)(struct dma_chan *chan, void *filter_param); | ||
247 | void *dma_rx_param; | ||
248 | void *dma_tx_param; | ||
243 | }; | 249 | }; |
244 | 250 | ||
245 | /** | 251 | /** |