From fa496278cee26d7c516ae3e137d9dd3849c5cad0 Mon Sep 17 00:00:00 2001 From: Jassi Brar Date: Thu, 5 Nov 2009 13:44:20 +0900 Subject: [PATCH] --- yaml --- r: 168410 b: refs/heads/master c: 210012a6cd8770a73d1aa74b742667b462d04511 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/arm/mach-s3c6400/include/mach/dma.h | 12 ++++++++++-- trunk/arch/arm/mach-s3c6410/Kconfig | 1 - trunk/arch/arm/mach-s3c6410/mach-smdk6410.c | 3 --- trunk/arch/arm/plat-s3c64xx/dma.c | 5 +++++ 5 files changed, 16 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index 142278896289..a4ae1fd93934 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b3c5496fbfc2e5f64bb85b142615717850fee980 +refs/heads/master: 210012a6cd8770a73d1aa74b742667b462d04511 diff --git a/trunk/arch/arm/mach-s3c6400/include/mach/dma.h b/trunk/arch/arm/mach-s3c6400/include/mach/dma.h index 6723860748be..004edab23954 100644 --- a/trunk/arch/arm/mach-s3c6400/include/mach/dma.h +++ b/trunk/arch/arm/mach-s3c6400/include/mach/dma.h @@ -58,13 +58,21 @@ enum dma_ch { DMACH_MAX /* the end */ }; -static __inline__ bool s3c_dma_has_circular(void) +static __inline__ int s3c_dma_has_circular(void) { - return true; + /* we will be supporting ciruclar buffers as soon as we have DMA + * engine support. + */ + return 1; } #define S3C2410_DMAF_CIRCULAR (1 << 0) +static inline bool s3c_dma_has_circular(void) +{ + return false; +} + #include #endif /* __ASM_ARCH_IRQ_H */ diff --git a/trunk/arch/arm/mach-s3c6410/Kconfig b/trunk/arch/arm/mach-s3c6410/Kconfig index 72d4b11b2077..53fc3ff657f7 100644 --- a/trunk/arch/arm/mach-s3c6410/Kconfig +++ b/trunk/arch/arm/mach-s3c6410/Kconfig @@ -77,7 +77,6 @@ config SMDK6410_WM1190_EV1 depends on MACH_SMDK6410 select REGULATOR select REGULATOR_WM8350 - select S3C24XX_GPIO_EXTRA64 select MFD_WM8350_I2C select MFD_WM8350_CONFIG_MODE_0 select MFD_WM8350_CONFIG_MODE_3 diff --git a/trunk/arch/arm/mach-s3c6410/mach-smdk6410.c b/trunk/arch/arm/mach-s3c6410/mach-smdk6410.c index 9f1a21462620..ea51dbe76e3e 100644 --- a/trunk/arch/arm/mach-s3c6410/mach-smdk6410.c +++ b/trunk/arch/arm/mach-s3c6410/mach-smdk6410.c @@ -320,9 +320,6 @@ static int __init smdk6410_wm8350_init(struct wm8350 *wm8350) { int i; - /* Configure the IRQ line */ - s3c_gpio_setpull(S3C64XX_GPN(12), S3C_GPIO_PULL_UP); - /* Instantiate the regulators */ for (i = 0; i < ARRAY_SIZE(wm1190_regulators); i++) wm8350_register_regulator(wm8350, diff --git a/trunk/arch/arm/plat-s3c64xx/dma.c b/trunk/arch/arm/plat-s3c64xx/dma.c index 266a10745a85..6fa706f0f42a 100644 --- a/trunk/arch/arm/plat-s3c64xx/dma.c +++ b/trunk/arch/arm/plat-s3c64xx/dma.c @@ -339,6 +339,7 @@ int s3c2410_dma_enqueue(unsigned int channel, void *id, struct s3c64xx_dma_buff *next; struct s3c64xx_dma_buff *buff; struct pl080s_lli *lli; + unsigned long flags; int ret; WARN_ON(!chan); @@ -366,6 +367,8 @@ int s3c2410_dma_enqueue(unsigned int channel, void *id, s3c64xx_dma_fill_lli(chan, lli, data, size); + local_irq_save(flags); + if ((next = chan->next) != NULL) { struct s3c64xx_dma_buff *end = chan->end; struct pl080s_lli *endlli = end->lli; @@ -397,6 +400,8 @@ int s3c2410_dma_enqueue(unsigned int channel, void *id, s3c64xx_lli_to_regs(chan, lli); } + local_irq_restore(flags); + show_lli(lli); dbg_showchan(chan);