diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-11 10:14:01 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-11 10:14:01 -0400 |
| commit | c7a19c795b4b0a3232c157ed29eea85077e95da6 (patch) | |
| tree | d3916dcdea74b55453694c9f31b95b6d906e3202 /include/linux | |
| parent | 5fd41f2a10b38ab84b4c2436140ce490d34291fa (diff) | |
| parent | a0bbe990c161ddf56444efe80d9d6e15fdc47aca (diff) | |
Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma
Pull slave-dma updates from Vinod Koul:
"Some notable changes are:
- new driver for AMBA AXI NBPF by Guennadi
- new driver for sun6i controller by Maxime
- pl330 drivers fixes from Lar's
- sh-dma updates and fixes from Laurent, Geert and Kuninori
- Documentation updates from Geert
- drivers fixes and updates spread over dw, edma, freescale, mpc512x
etc.."
* 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (72 commits)
dmaengine: sun6i: depends on RESET_CONTROLLER
dma: at_hdmac: fix invalid remaining bytes detection
dmaengine: nbpfaxi: don't build this driver where it cannot be used
dmaengine: nbpf_error_get_channel() can be static
dma: pl08x: Use correct specifier for size_t values
dmaengine: Remove the context argument to the prep_dma_cyclic operation
dmaengine: nbpfaxi: convert to tasklet
dmaengine: nbpfaxi: fix a theoretical race
dmaengine: add a driver for AMBA AXI NBPF DMAC IP cores
dmaengine: add device tree binding documentation for the nbpfaxi driver
dmaengine: edma: Do not register second device when booted with DT
dmaengine: edma: Do not change the error code returned from edma_alloc_slot
dmaengine: rcar-dmac: Add device tree bindings documentation
dmaengine: shdma: Allocate cyclic sg list dynamically
dmaengine: shdma: Make channel filter ignore unrelated devices
dmaengine: sh: Rework Kconfig and Makefile
dmaengine: sun6i: Fix memory leaks
dmaengine: sun6i: Free the interrupt before killing the tasklet
dmaengine: sun6i: Remove switch statement from buswidth convertion routine
dmaengine: of: kconfig: select DMA_ENGINE when DMA_OF is selected
...
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/dmaengine.h | 5 | ||||
| -rw-r--r-- | include/linux/of_dma.h | 4 | ||||
| -rw-r--r-- | include/linux/platform_data/dma-imx.h | 1 | ||||
| -rw-r--r-- | include/linux/platform_data/edma.h | 2 | ||||
| -rw-r--r-- | include/linux/sh_dma.h | 24 |
5 files changed, 22 insertions, 14 deletions
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index 3d1c2aa51530..1f9e642c66ad 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h | |||
| @@ -37,7 +37,6 @@ | |||
| 37 | */ | 37 | */ |
| 38 | typedef s32 dma_cookie_t; | 38 | typedef s32 dma_cookie_t; |
| 39 | #define DMA_MIN_COOKIE 1 | 39 | #define DMA_MIN_COOKIE 1 |
| 40 | #define DMA_MAX_COOKIE INT_MAX | ||
| 41 | 40 | ||
| 42 | static inline int dma_submit_error(dma_cookie_t cookie) | 41 | static inline int dma_submit_error(dma_cookie_t cookie) |
| 43 | { | 42 | { |
| @@ -671,7 +670,7 @@ struct dma_device { | |||
| 671 | struct dma_async_tx_descriptor *(*device_prep_dma_cyclic)( | 670 | struct dma_async_tx_descriptor *(*device_prep_dma_cyclic)( |
| 672 | struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, | 671 | struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, |
| 673 | size_t period_len, enum dma_transfer_direction direction, | 672 | size_t period_len, enum dma_transfer_direction direction, |
| 674 | unsigned long flags, void *context); | 673 | unsigned long flags); |
| 675 | struct dma_async_tx_descriptor *(*device_prep_interleaved_dma)( | 674 | struct dma_async_tx_descriptor *(*device_prep_interleaved_dma)( |
| 676 | struct dma_chan *chan, struct dma_interleaved_template *xt, | 675 | struct dma_chan *chan, struct dma_interleaved_template *xt, |
| 677 | unsigned long flags); | 676 | unsigned long flags); |
| @@ -746,7 +745,7 @@ static inline struct dma_async_tx_descriptor *dmaengine_prep_dma_cyclic( | |||
| 746 | unsigned long flags) | 745 | unsigned long flags) |
| 747 | { | 746 | { |
| 748 | return chan->device->device_prep_dma_cyclic(chan, buf_addr, buf_len, | 747 | return chan->device->device_prep_dma_cyclic(chan, buf_addr, buf_len, |
| 749 | period_len, dir, flags, NULL); | 748 | period_len, dir, flags); |
| 750 | } | 749 | } |
| 751 | 750 | ||
| 752 | static inline struct dma_async_tx_descriptor *dmaengine_prep_interleaved_dma( | 751 | static inline struct dma_async_tx_descriptor *dmaengine_prep_interleaved_dma( |
diff --git a/include/linux/of_dma.h b/include/linux/of_dma.h index ae36298ba076..56bc026c143f 100644 --- a/include/linux/of_dma.h +++ b/include/linux/of_dma.h | |||
| @@ -41,6 +41,8 @@ extern struct dma_chan *of_dma_request_slave_channel(struct device_node *np, | |||
| 41 | const char *name); | 41 | const char *name); |
| 42 | extern struct dma_chan *of_dma_simple_xlate(struct of_phandle_args *dma_spec, | 42 | extern struct dma_chan *of_dma_simple_xlate(struct of_phandle_args *dma_spec, |
| 43 | struct of_dma *ofdma); | 43 | struct of_dma *ofdma); |
| 44 | extern struct dma_chan *of_dma_xlate_by_chan_id(struct of_phandle_args *dma_spec, | ||
| 45 | struct of_dma *ofdma); | ||
| 44 | #else | 46 | #else |
| 45 | static inline int of_dma_controller_register(struct device_node *np, | 47 | static inline int of_dma_controller_register(struct device_node *np, |
| 46 | struct dma_chan *(*of_dma_xlate) | 48 | struct dma_chan *(*of_dma_xlate) |
| @@ -66,6 +68,8 @@ static inline struct dma_chan *of_dma_simple_xlate(struct of_phandle_args *dma_s | |||
| 66 | return NULL; | 68 | return NULL; |
| 67 | } | 69 | } |
| 68 | 70 | ||
| 71 | #define of_dma_xlate_by_chan_id NULL | ||
| 72 | |||
| 69 | #endif | 73 | #endif |
| 70 | 74 | ||
| 71 | #endif /* __LINUX_OF_DMA_H */ | 75 | #endif /* __LINUX_OF_DMA_H */ |
diff --git a/include/linux/platform_data/dma-imx.h b/include/linux/platform_data/dma-imx.h index d05542aafa3e..6a1357d31871 100644 --- a/include/linux/platform_data/dma-imx.h +++ b/include/linux/platform_data/dma-imx.h | |||
| @@ -40,6 +40,7 @@ enum sdma_peripheral_type { | |||
| 40 | IMX_DMATYPE_ASRC, /* ASRC */ | 40 | IMX_DMATYPE_ASRC, /* ASRC */ |
| 41 | IMX_DMATYPE_ESAI, /* ESAI */ | 41 | IMX_DMATYPE_ESAI, /* ESAI */ |
| 42 | IMX_DMATYPE_SSI_DUAL, /* SSI Dual FIFO */ | 42 | IMX_DMATYPE_SSI_DUAL, /* SSI Dual FIFO */ |
| 43 | IMX_DMATYPE_ASRC_SP, /* Shared ASRC */ | ||
| 43 | }; | 44 | }; |
| 44 | 45 | ||
| 45 | enum imx_dma_prio { | 46 | enum imx_dma_prio { |
diff --git a/include/linux/platform_data/edma.h b/include/linux/platform_data/edma.h index eb8d5627d080..bdb2710e2aab 100644 --- a/include/linux/platform_data/edma.h +++ b/include/linux/platform_data/edma.h | |||
| @@ -150,6 +150,8 @@ void edma_clear_event(unsigned channel); | |||
| 150 | void edma_pause(unsigned channel); | 150 | void edma_pause(unsigned channel); |
| 151 | void edma_resume(unsigned channel); | 151 | void edma_resume(unsigned channel); |
| 152 | 152 | ||
| 153 | void edma_assign_channel_eventq(unsigned channel, enum dma_event_q eventq_no); | ||
| 154 | |||
| 153 | struct edma_rsv_info { | 155 | struct edma_rsv_info { |
| 154 | 156 | ||
| 155 | const s16 (*rsv_chans)[2]; | 157 | const s16 (*rsv_chans)[2]; |
diff --git a/include/linux/sh_dma.h b/include/linux/sh_dma.h index b7b43b82231e..56b97eed28a4 100644 --- a/include/linux/sh_dma.h +++ b/include/linux/sh_dma.h | |||
| @@ -95,19 +95,21 @@ struct sh_dmae_pdata { | |||
| 95 | }; | 95 | }; |
| 96 | 96 | ||
| 97 | /* DMAOR definitions */ | 97 | /* DMAOR definitions */ |
| 98 | #define DMAOR_AE 0x00000004 | 98 | #define DMAOR_AE 0x00000004 /* Address Error Flag */ |
| 99 | #define DMAOR_NMIF 0x00000002 | 99 | #define DMAOR_NMIF 0x00000002 |
| 100 | #define DMAOR_DME 0x00000001 | 100 | #define DMAOR_DME 0x00000001 /* DMA Master Enable */ |
| 101 | 101 | ||
| 102 | /* Definitions for the SuperH DMAC */ | 102 | /* Definitions for the SuperH DMAC */ |
| 103 | #define DM_INC 0x00004000 | 103 | #define DM_INC 0x00004000 /* Destination addresses are incremented */ |
| 104 | #define DM_DEC 0x00008000 | 104 | #define DM_DEC 0x00008000 /* Destination addresses are decremented */ |
| 105 | #define DM_FIX 0x0000c000 | 105 | #define DM_FIX 0x0000c000 /* Destination address is fixed */ |
| 106 | #define SM_INC 0x00001000 | 106 | #define SM_INC 0x00001000 /* Source addresses are incremented */ |
| 107 | #define SM_DEC 0x00002000 | 107 | #define SM_DEC 0x00002000 /* Source addresses are decremented */ |
| 108 | #define SM_FIX 0x00003000 | 108 | #define SM_FIX 0x00003000 /* Source address is fixed */ |
| 109 | #define CHCR_DE 0x00000001 | 109 | #define RS_AUTO 0x00000400 /* Auto Request */ |
| 110 | #define CHCR_TE 0x00000002 | 110 | #define RS_ERS 0x00000800 /* DMA extended resource selector */ |
| 111 | #define CHCR_IE 0x00000004 | 111 | #define CHCR_DE 0x00000001 /* DMA Enable */ |
| 112 | #define CHCR_TE 0x00000002 /* Transfer End Flag */ | ||
| 113 | #define CHCR_IE 0x00000004 /* Interrupt Enable */ | ||
| 112 | 114 | ||
| 113 | #endif | 115 | #endif |
