diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-11-04 21:02:25 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-11-04 21:02:25 -0400 |
| commit | fba9569924e06da076cb2ad12474bbd82d69f54d (patch) | |
| tree | f0b7d9c82f8dd90f0dc757a4c00afc0872fc1484 | |
| parent | 3d0a8d10cfb4cc3d1877c29a866ee7d8a46aa2fa (diff) | |
| parent | 4598fc2c94b68740e0269db03c98a1e7ad5af773 (diff) | |
Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma
* 'next' of git://git.infradead.org/users/vkoul/slave-dma: (63 commits)
dmaengine: mid_dma: mask_peripheral_interrupt only when dmac is idle
dmaengine/ep93xx_dma: add module.h include
pch_dma: Reduce wasting memory
pch_dma: Fix suspend issue
dma/timberdale: free_irq() on an error path
dma: shdma: transfer based runtime PM
dmaengine: shdma: protect against the IRQ handler
dmaengine i.MX DMA/SDMA: add missing include of linux/module.h
dmaengine: delete redundant chan_id and chancnt initialization in dma drivers
dmaengine/amba-pl08x: Check txd->llis_va before freeing dma_pool
dmaengine/amba-pl08x: Add support for sg len greater than one for slave transfers
serial: sh-sci: don't filter on DMA device, use only channel ID
ARM: SAMSUNG: Remove Samsung specific enum type for dma direction
ASoC: Samsung: Update DMA interface
spi/s3c64xx: Merge dma control code
spi/s3c64xx: Add support DMA engine API
ARM: SAMSUNG: Remove S3C-PL330-DMA driver
ARM: S5P64X0: Use generic DMA PL330 driver
ARM: S5PC100: Use generic DMA PL330 driver
ARM: S5PV210: Use generic DMA PL330 driver
...
Fix up fairly trivial conflicts in
- arch/arm/mach-exynos4/{Kconfig,clock.c}
- arch/arm/mach-s5p64x0/dma.c
60 files changed, 2304 insertions, 2447 deletions
diff --git a/arch/arm/include/asm/hardware/pl080.h b/arch/arm/include/asm/hardware/pl080.h index e4a04e4e5627..33c78d7af2e1 100644 --- a/arch/arm/include/asm/hardware/pl080.h +++ b/arch/arm/include/asm/hardware/pl080.h | |||
| @@ -21,6 +21,9 @@ | |||
| 21 | * OneNAND features. | 21 | * OneNAND features. |
| 22 | */ | 22 | */ |
| 23 | 23 | ||
| 24 | #ifndef ASM_PL080_H | ||
| 25 | #define ASM_PL080_H | ||
| 26 | |||
| 24 | #define PL080_INT_STATUS (0x00) | 27 | #define PL080_INT_STATUS (0x00) |
| 25 | #define PL080_TC_STATUS (0x04) | 28 | #define PL080_TC_STATUS (0x04) |
| 26 | #define PL080_TC_CLEAR (0x08) | 29 | #define PL080_TC_CLEAR (0x08) |
| @@ -138,3 +141,4 @@ struct pl080s_lli { | |||
| 138 | u32 control1; | 141 | u32 control1; |
| 139 | }; | 142 | }; |
| 140 | 143 | ||
| 144 | #endif /* ASM_PL080_H */ | ||
diff --git a/arch/arm/mach-exynos4/Kconfig b/arch/arm/mach-exynos4/Kconfig index a65273598036..44013e0672fe 100644 --- a/arch/arm/mach-exynos4/Kconfig +++ b/arch/arm/mach-exynos4/Kconfig | |||
| @@ -11,7 +11,7 @@ if ARCH_EXYNOS4 | |||
| 11 | 11 | ||
| 12 | config CPU_EXYNOS4210 | 12 | config CPU_EXYNOS4210 |
| 13 | bool | 13 | bool |
| 14 | select S3C_PL330_DMA | 14 | select SAMSUNG_DMADEV |
| 15 | select ARM_CPU_SUSPEND if PM | 15 | select ARM_CPU_SUSPEND if PM |
| 16 | help | 16 | help |
| 17 | Enable EXYNOS4210 CPU support | 17 | Enable EXYNOS4210 CPU support |
diff --git a/arch/arm/mach-exynos4/clock.c b/arch/arm/mach-exynos4/clock.c index 0d59be3fa1fe..e21952dfb7e1 100644 --- a/arch/arm/mach-exynos4/clock.c +++ b/arch/arm/mach-exynos4/clock.c | |||
| @@ -111,6 +111,11 @@ struct clk clk_sclk_usbphy1 = { | |||
| 111 | .name = "sclk_usbphy1", | 111 | .name = "sclk_usbphy1", |
| 112 | }; | 112 | }; |
| 113 | 113 | ||
| 114 | static struct clk dummy_apb_pclk = { | ||
| 115 | .name = "apb_pclk", | ||
| 116 | .id = -1, | ||
| 117 | }; | ||
| 118 | |||
| 114 | static int exynos4_clksrc_mask_top_ctrl(struct clk *clk, int enable) | 119 | static int exynos4_clksrc_mask_top_ctrl(struct clk *clk, int enable) |
| 115 | { | 120 | { |
| 116 | return s5p_gatectrl(S5P_CLKSRC_MASK_TOP, clk, enable); | 121 | return s5p_gatectrl(S5P_CLKSRC_MASK_TOP, clk, enable); |
| @@ -503,12 +508,12 @@ static struct clk init_clocks_off[] = { | |||
| 503 | .enable = exynos4_clk_ip_fsys_ctrl, | 508 | .enable = exynos4_clk_ip_fsys_ctrl, |
| 504 | .ctrlbit = (1 << 9), | 509 | .ctrlbit = (1 << 9), |
| 505 | }, { | 510 | }, { |
| 506 | .name = "pdma", | 511 | .name = "dma", |
| 507 | .devname = "s3c-pl330.0", | 512 | .devname = "s3c-pl330.0", |
| 508 | .enable = exynos4_clk_ip_fsys_ctrl, | 513 | .enable = exynos4_clk_ip_fsys_ctrl, |
| 509 | .ctrlbit = (1 << 0), | 514 | .ctrlbit = (1 << 0), |
| 510 | }, { | 515 | }, { |
| 511 | .name = "pdma", | 516 | .name = "dma", |
| 512 | .devname = "s3c-pl330.1", | 517 | .devname = "s3c-pl330.1", |
| 513 | .enable = exynos4_clk_ip_fsys_ctrl, | 518 | .enable = exynos4_clk_ip_fsys_ctrl, |
| 514 | .ctrlbit = (1 << 1), | 519 | .ctrlbit = (1 << 1), |
| @@ -1281,6 +1286,11 @@ void __init exynos4_register_clocks(void) | |||
| 1281 | s3c_register_clocks(init_clocks_off, ARRAY_SIZE(init_clocks_off)); | 1286 | s3c_register_clocks(init_clocks_off, ARRAY_SIZE(init_clocks_off)); |
| 1282 | s3c_disable_clocks(init_clocks_off, ARRAY_SIZE(init_clocks_off)); | 1287 | s3c_disable_clocks(init_clocks_off, ARRAY_SIZE(init_clocks_off)); |
| 1283 | 1288 | ||
| 1289 | <<<<<<< HEAD | ||
| 1284 | register_syscore_ops(&exynos4_clock_syscore_ops); | 1290 | register_syscore_ops(&exynos4_clock_syscore_ops); |
| 1291 | ======= | ||
| 1292 | s3c24xx_register_clock(&dummy_apb_pclk); | ||
| 1293 | |||
| 1294 | >>>>>>> 4598fc2c94b68740e0269db03c98a1e7ad5af773 | ||
| 1285 | s3c_pwmclk_init(); | 1295 | s3c_pwmclk_init(); |
| 1286 | } | 1296 | } |
diff --git a/arch/arm/mach-exynos4/dma.c b/arch/arm/mach-exynos4/dma.c index 564bb530f332..d57d66255021 100644 --- a/arch/arm/mach-exynos4/dma.c +++ b/arch/arm/mach-exynos4/dma.c | |||
| @@ -21,151 +21,228 @@ | |||
| 21 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | 21 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
| 22 | */ | 22 | */ |
| 23 | 23 | ||
| 24 | #include <linux/platform_device.h> | ||
| 25 | #include <linux/dma-mapping.h> | 24 | #include <linux/dma-mapping.h> |
| 25 | #include <linux/amba/bus.h> | ||
| 26 | #include <linux/amba/pl330.h> | ||
| 26 | 27 | ||
| 28 | #include <asm/irq.h> | ||
| 27 | #include <plat/devs.h> | 29 | #include <plat/devs.h> |
| 28 | #include <plat/irqs.h> | 30 | #include <plat/irqs.h> |
| 29 | 31 | ||
| 30 | #include <mach/map.h> | 32 | #include <mach/map.h> |
| 31 | #include <mach/irqs.h> | 33 | #include <mach/irqs.h> |
| 32 | 34 | #include <mach/dma.h> | |
| 33 | #include <plat/s3c-pl330-pdata.h> | ||
