diff options
Diffstat (limited to 'arch/sh/kernel/cpu')
-rw-r--r-- | arch/sh/kernel/cpu/sh3/entry.S | 2 | ||||
-rw-r--r-- | arch/sh/kernel/cpu/sh4a/setup-sh7722.c | 14 | ||||
-rw-r--r-- | arch/sh/kernel/cpu/sh4a/setup-sh7780.c | 14 |
3 files changed, 28 insertions, 2 deletions
diff --git a/arch/sh/kernel/cpu/sh3/entry.S b/arch/sh/kernel/cpu/sh3/entry.S index 0151933e5253..bb407ef0b91e 100644 --- a/arch/sh/kernel/cpu/sh3/entry.S +++ b/arch/sh/kernel/cpu/sh3/entry.S @@ -152,8 +152,6 @@ call_do_page_fault: mov.l 1f, r0 mov.l @r0, r6 - sti - mov.l 3f, r0 mov.l 4f, r1 mov r15, r4 diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7722.c b/arch/sh/kernel/cpu/sh4a/setup-sh7722.c index 35097753456c..5491b094cf05 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7722.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7722.c @@ -17,6 +17,7 @@ #include <linux/sh_timer.h> #include <asm/clock.h> #include <asm/mmzone.h> +#include <asm/dma-sh.h> #include <cpu/sh7722.h> static struct resource rtc_resources[] = { @@ -373,6 +374,18 @@ static struct platform_device sci_device = { }, }; +static struct sh_dmae_pdata dma_platform_data = { + .mode = 0, +}; + +static struct platform_device dma_device = { + .name = "sh-dma-engine", + .id = -1, + .dev = { + .platform_data = &dma_platform_data, + }, +}; + static struct platform_device *sh7722_devices[] __initdata = { &cmt_device, &tmu0_device, @@ -385,6 +398,7 @@ static struct platform_device *sh7722_devices[] __initdata = { &vpu_device, &veu_device, &jpu_device, + &dma_device, }; static int __init sh7722_devices_setup(void) diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7780.c b/arch/sh/kernel/cpu/sh4a/setup-sh7780.c index 2c901f446959..12ff56f19c5c 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7780.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7780.c @@ -13,6 +13,7 @@ #include <linux/io.h> #include <linux/serial_sci.h> #include <linux/sh_timer.h> +#include <asm/dma-sh.h> static struct sh_timer_config tmu0_platform_data = { .name = "TMU0", @@ -240,6 +241,18 @@ static struct platform_device sci_device = { }, }; +static struct sh_dmae_pdata dma_platform_data = { + .mode = (SHDMA_MIX_IRQ | SHDMA_DMAOR1), +}; + +static struct platform_device dma_device = { + .name = "sh-dma-engine", + .id = -1, + .dev = { + .platform_data = &dma_platform_data, + }, +}; + static struct platform_device *sh7780_devices[] __initdata = { &tmu0_device, &tmu1_device, @@ -249,6 +262,7 @@ static struct platform_device *sh7780_devices[] __initdata = { &tmu5_device, &rtc_device, &sci_device, + &dma_device, }; static int __init sh7780_devices_setup(void) |