diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-10 16:37:36 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-10 16:37:36 -0400 |
commit | ec5b103ecfde929004b691f29183255aeeadecd5 (patch) | |
tree | 3b16d0654c074b5b36d06e56110c7218a8685655 /arch | |
parent | d0048f0b91ee35ab940ec6cbdfdd238c55b12a14 (diff) | |
parent | 5622ff1a4dd7dcb1c09953d8066a4e7c4c350b2d (diff) |
Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma
Pull slave-dmaengine updates from Vinod Koul:
"This pull brings:
- Andy's DW driver updates
- Guennadi's sh driver updates
- Pl08x driver fixes from Tomasz & Alban
- Improvements to mmp_pdma by Daniel
- TI EDMA fixes by Joel
- New drivers:
- Hisilicon k3dma driver
- Renesas rcar dma driver
- New API for publishing slave driver capablities
- Various fixes across the subsystem by Andy, Jingoo, Sachin etc..."
* 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (94 commits)
dma: edma: Remove limits on number of slots
dma: edma: Leave linked to Null slot instead of DUMMY slot
dma: edma: Find missed events and issue them
ARM: edma: Add function to manually trigger an EDMA channel
dma: edma: Write out and handle MAX_NR_SG at a given time
dma: edma: Setup parameters to DMA MAX_NR_SG at a time
dmaengine: pl330: use dma_set_max_seg_size to set the sg limit
dmaengine: dma_slave_caps: remove sg entries
dma: replace devm_request_and_ioremap by devm_ioremap_resource
dma: ste_dma40: Fix potential null pointer dereference
dma: ste_dma40: Remove duplicate const
dma: imx-dma: Remove redundant NULL check
dma: dmagengine: fix function names in comments
dma: add driver for R-Car HPB-DMAC
dma: k3dma: use devm_ioremap_resource() instead of devm_request_and_ioremap()
dma: imx-sdma: Staticize sdma_driver_data structures
pch_dma: Add MODULE_DEVICE_TABLE
dmaengine: PL08x: Add cyclic transfer support
dmaengine: PL08x: Fix reading the byte count in cctl
dmaengine: PL08x: Add support for different maximum transfer size
...
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/common/edma.c | 17 | ||||
-rw-r--r-- | arch/arm/mach-imx/mm-imx25.c | 17 | ||||
-rw-r--r-- | arch/arm/mach-imx/mm-imx5.c | 14 |
3 files changed, 17 insertions, 31 deletions
diff --git a/arch/arm/common/edma.c b/arch/arm/common/edma.c index 39ad030ac0c7..117f955a2a06 100644 --- a/arch/arm/common/edma.c +++ b/arch/arm/common/edma.c | |||
@@ -1235,6 +1235,23 @@ void edma_resume(unsigned channel) | |||
1235 | } | 1235 | } |
1236 | EXPORT_SYMBOL(edma_resume); | 1236 | EXPORT_SYMBOL(edma_resume); |
1237 | 1237 | ||
1238 | int edma_trigger_channel(unsigned channel) | ||
1239 | { | ||
1240 | unsigned ctlr; | ||
1241 | unsigned int mask; | ||
1242 | |||
1243 | ctlr = EDMA_CTLR(channel); | ||
1244 | channel = EDMA_CHAN_SLOT(channel); | ||
1245 | mask = BIT(channel & 0x1f); | ||
1246 | |||
1247 | edma_shadow0_write_array(ctlr, SH_ESR, (channel >> 5), mask); | ||
1248 | |||
1249 | pr_debug("EDMA: ESR%d %08x\n", (channel >> 5), | ||
1250 | edma_shadow0_read_array(ctlr, SH_ESR, (channel >> 5))); | ||
1251 | return 0; | ||
1252 | } | ||
1253 | EXPORT_SYMBOL(edma_trigger_channel); | ||
1254 | |||
1238 | /** | 1255 | /** |
1239 | * edma_start - start dma on a channel | 1256 | * edma_start - start dma on a channel |
1240 | * @channel: channel being activated | 1257 | * @channel: channel being activated |
diff --git a/arch/arm/mach-imx/mm-imx25.c b/arch/arm/mach-imx/mm-imx25.c index e065c117f5a6..5211f62c624e 100644 --- a/arch/arm/mach-imx/mm-imx25.c +++ b/arch/arm/mach-imx/mm-imx25.c | |||
@@ -61,25 +61,8 @@ void __init mx25_init_irq(void) | |||
61 | mxc_init_irq(MX25_IO_ADDRESS(MX25_AVIC_BASE_ADDR)); | 61 | mxc_init_irq(MX25_IO_ADDRESS(MX25_AVIC_BASE_ADDR)); |
62 | } | 62 | } |
63 | 63 | ||
64 | static struct sdma_script_start_addrs imx25_sdma_script __initdata = { | ||
65 | .ap_2_ap_addr = 729, | ||
66 | .uart_2_mcu_addr = 904, | ||
67 | .per_2_app_addr = 1255, | ||
68 | .mcu_2_app_addr = 834, | ||
69 | .uartsh_2_mcu_addr = 1120, | ||
70 | .per_2_shp_addr = 1329, | ||
71 | .mcu_2_shp_addr = 1048, | ||
72 | .ata_2_mcu_addr = 1560, | ||
73 | .mcu_2_ata_addr = 1479, | ||
74 | .app_2_per_addr = 1189, | ||
75 | .app_2_mcu_addr = 770, | ||
76 | .shp_2_per_addr = 1407, | ||
77 | .shp_2_mcu_addr = 979, | ||
78 | }; | ||
79 | |||
80 | static struct sdma_platform_data imx25_sdma_pdata __initdata = { | 64 | static struct sdma_platform_data imx25_sdma_pdata __initdata = { |
81 | .fw_name = "sdma-imx25.bin", | 65 | .fw_name = "sdma-imx25.bin", |
82 | .script_addrs = &imx25_sdma_script, | ||
83 | }; | 66 | }; |
84 | 67 | ||
85 | static const struct resource imx25_audmux_res[] __initconst = { | 68 | static const struct resource imx25_audmux_res[] __initconst = { |
diff --git a/arch/arm/mach-imx/mm-imx5.c b/arch/arm/mach-imx/mm-imx5.c index a8229b7f10bf..eb3cce38c70d 100644 --- a/arch/arm/mach-imx/mm-imx5.c +++ b/arch/arm/mach-imx/mm-imx5.c | |||
@@ -103,22 +103,8 @@ void __init mx53_init_irq(void) | |||
103 | tzic_init_irq(MX53_IO_ADDRESS(MX53_TZIC_BASE_ADDR)); | 103 | tzic_init_irq(MX53_IO_ADDRESS(MX53_TZIC_BASE_ADDR)); |
104 | } | 104 | } |
105 | 105 | ||
106 | static struct sdma_script_start_addrs imx51_sdma_script __initdata = { | ||
107 | .ap_2_ap_addr = 642, | ||
108 | .uart_2_mcu_addr = 817, | ||
109 | .mcu_2_app_addr = 747, | ||
110 | .mcu_2_shp_addr = 961, | ||
111 | .ata_2_mcu_addr = 1473, | ||
112 | .mcu_2_ata_addr = 1392, | ||
113 | .app_2_per_addr = 1033, | ||
114 | .app_2_mcu_addr = 683, | ||
115 | .shp_2_per_addr = 1251, | ||
116 | .shp_2_mcu_addr = 892, | ||
117 | }; | ||
118 | |||
119 | static struct sdma_platform_data imx51_sdma_pdata __initdata = { | 106 | static struct sdma_platform_data imx51_sdma_pdata __initdata = { |
120 | .fw_name = "sdma-imx51.bin", | 107 | .fw_name = "sdma-imx51.bin", |
121 | .script_addrs = &imx51_sdma_script, | ||
122 | }; | 108 | }; |
123 | 109 | ||
124 | static const struct resource imx51_audmux_res[] __initconst = { | 110 | static const struct resource imx51_audmux_res[] __initconst = { |