diff options
Diffstat (limited to 'target/linux/xburst/patches-3.10/013-MIPS-JZ4740-Acquire-and-enable-DMA-controller-clock.patch')
-rw-r--r-- | target/linux/xburst/patches-3.10/013-MIPS-JZ4740-Acquire-and-enable-DMA-controller-clock.patch | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/target/linux/xburst/patches-3.10/013-MIPS-JZ4740-Acquire-and-enable-DMA-controller-clock.patch b/target/linux/xburst/patches-3.10/013-MIPS-JZ4740-Acquire-and-enable-DMA-controller-clock.patch deleted file mode 100644 index 027e3ad365..0000000000 --- a/target/linux/xburst/patches-3.10/013-MIPS-JZ4740-Acquire-and-enable-DMA-controller-clock.patch +++ /dev/null @@ -1,73 +0,0 @@ -From b1ab71156cd49b2389397d3be54b93fe394a1cb2 Mon Sep 17 00:00:00 2001 -From: Maarten ter Huurne <maarten@treewalker.org> -Date: Tue, 9 Oct 2012 13:09:57 +0200 -Subject: [PATCH 13/16] MIPS: JZ4740: Acquire and enable DMA controller clock - -Previously, it was assumed that the DMA controller clock is not gated -when the kernel starts running. While that is the power-on state, it is -safer to not rely on that. - -Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> ---- - arch/mips/jz4740/clock.c | 2 +- - arch/mips/jz4740/dma.c | 24 ++++++++++++++++++++++-- - 2 files changed, 23 insertions(+), 3 deletions(-) - ---- a/arch/mips/jz4740/clock.c -+++ b/arch/mips/jz4740/clock.c -@@ -921,4 +921,4 @@ static int jz4740_clock_init(void) - - return 0; - } --arch_initcall(jz4740_clock_init); -+postcore_initcall(jz4740_clock_init); ---- a/arch/mips/jz4740/dma.c -+++ b/arch/mips/jz4740/dma.c -@@ -16,6 +16,7 @@ - #include <linux/kernel.h> - #include <linux/module.h> - #include <linux/spinlock.h> -+#include <linux/clk.h> - #include <linux/interrupt.h> - - #include <linux/dma-mapping.h> -@@ -268,6 +269,7 @@ static irqreturn_t jz4740_dma_irq(int ir - - static int jz4740_dma_init(void) - { -+ struct clk *clk; - unsigned int ret; - - jz4740_dma_base = ioremap(JZ4740_DMAC_BASE_ADDR, 0x400); -@@ -277,11 +279,29 @@ static int jz4740_dma_init(void) - - spin_lock_init(&jz4740_dma_lock); - -- ret = request_irq(JZ4740_IRQ_DMAC, jz4740_dma_irq, 0, "DMA", NULL); -+ clk = clk_get(NULL, "dma"); -+ if (IS_ERR(clk)) { -+ ret = PTR_ERR(clk); -+ printk(KERN_ERR "JZ4740 DMA: Failed to request clock: %d\n", -+ ret); -+ goto err_iounmap; -+ } - -- if (ret) -+ ret = request_irq(JZ4740_IRQ_DMAC, jz4740_dma_irq, 0, "DMA", NULL); -+ if (ret) { - printk(KERN_ERR "JZ4740 DMA: Failed to request irq: %d\n", ret); -+ goto err_clkput; -+ } -+ -+ clk_enable(clk); -+ -+ return 0; -+ -+err_clkput: -+ clk_put(clk); - -+err_iounmap: -+ iounmap(jz4740_dma_base); - return ret; - } - arch_initcall(jz4740_dma_init); |