From 3466099f3902214a77c693772c2e4c89aa6321b6 Mon Sep 17 00:00:00 2001 From: Russell King Date: Sat, 25 Aug 2007 12:38:47 +0100 Subject: [PATCH] --- yaml --- r: 64577 b: refs/heads/master c: d555dd5065ab6dd4437c609950c5d9c6377b4896 h: refs/heads/master i: 64575: e74a23dbea1e43175f63e901f7c66e5a5c2860d8 v: v3 --- [refs] | 2 +- trunk/arch/arm/mach-imx/generic.c | 2 +- trunk/drivers/mtd/maps/lubbock-flash.c | 6 ++---- trunk/drivers/mtd/maps/mainstone-flash.c | 5 ++--- trunk/include/asm-arm/arch-at91/irqs.h | 3 +++ trunk/include/asm-arm/cacheflush.h | 7 +++++++ trunk/include/asm-arm/plat-s3c/map.h | 12 ++++++------ 7 files changed, 22 insertions(+), 15 deletions(-) diff --git a/[refs] b/[refs] index 034f8a5c7178..49a3e28595da 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 671c7235ccd537f828986ef5a4071bf477541dc0 +refs/heads/master: d555dd5065ab6dd4437c609950c5d9c6377b4896 diff --git a/trunk/arch/arm/mach-imx/generic.c b/trunk/arch/arm/mach-imx/generic.c index a58b678006df..c342595dc318 100644 --- a/trunk/arch/arm/mach-imx/generic.c +++ b/trunk/arch/arm/mach-imx/generic.c @@ -138,7 +138,7 @@ EXPORT_SYMBOL(imx_gpio_direction_input); int imx_gpio_direction_output(unsigned gpio, int value) { imx_gpio_set_value(gpio, value); - imx_gpio_mode(gpio| GPIO_OUT); + imx_gpio_mode(gpio | GPIO_OUT | GPIO_GIUS | GPIO_DR); return 0; } diff --git a/trunk/drivers/mtd/maps/lubbock-flash.c b/trunk/drivers/mtd/maps/lubbock-flash.c index 1aa0447c5e66..e8560683b973 100644 --- a/trunk/drivers/mtd/maps/lubbock-flash.c +++ b/trunk/drivers/mtd/maps/lubbock-flash.c @@ -15,9 +15,7 @@ #include #include #include -#include -#include #include #include #include @@ -26,7 +24,7 @@ #include #include #include - +#include #define ROM_ADDR 0x00000000 #define FLASH_ADDR 0x04000000 @@ -35,7 +33,7 @@ static void lubbock_map_inval_cache(struct map_info *map, unsigned long from, ssize_t len) { - consistent_sync((char *)map->cached + from, len, DMA_FROM_DEVICE); + flush_ioremap_region(map->phys, map->cached, from, len); } static struct map_info lubbock_maps[2] = { { diff --git a/trunk/drivers/mtd/maps/mainstone-flash.c b/trunk/drivers/mtd/maps/mainstone-flash.c index eaa4bbb868a3..d76487d82dcd 100644 --- a/trunk/drivers/mtd/maps/mainstone-flash.c +++ b/trunk/drivers/mtd/maps/mainstone-flash.c @@ -15,8 +15,6 @@ #include #include #include -#include -#include #include #include @@ -26,6 +24,7 @@ #include #include #include +#include #define ROM_ADDR 0x00000000 @@ -36,7 +35,7 @@ static void mainstone_map_inval_cache(struct map_info *map, unsigned long from, ssize_t len) { - consistent_sync((char *)map->cached + from, len, DMA_FROM_DEVICE); + flush_ioremap_region(map->phys, map->cached, from, len); } static struct map_info mainstone_maps[2] = { { diff --git a/trunk/include/asm-arm/arch-at91/irqs.h b/trunk/include/asm-arm/arch-at91/irqs.h index 1127a3b5e928..70b1216dce5d 100644 --- a/trunk/include/asm-arm/arch-at91/irqs.h +++ b/trunk/include/asm-arm/arch-at91/irqs.h @@ -42,4 +42,7 @@ */ #define NR_IRQS (NR_AIC_IRQS + (5 * 32)) +/* FIQ is AIC source 0. */ +#define FIQ_START AT91_ID_FIQ + #endif diff --git a/trunk/include/asm-arm/cacheflush.h b/trunk/include/asm-arm/cacheflush.h index d1294a46c70c..6c1c968b2987 100644 --- a/trunk/include/asm-arm/cacheflush.h +++ b/trunk/include/asm-arm/cacheflush.h @@ -426,6 +426,13 @@ static inline void flush_anon_page(struct vm_area_struct *vma, */ #define flush_icache_page(vma,page) do { } while (0) +static inline void flush_ioremap_region(unsigned long phys, void __iomem *virt, + unsigned offset, size_t size) +{ + const void *start = (void __force *)virt + offset; + dmac_inv_range(start, start + size); +} + #define __cacheid_present(val) (val != read_cpuid(CPUID_ID)) #define __cacheid_type_v7(val) ((val & (7 << 29)) == (4 << 29)) diff --git a/trunk/include/asm-arm/plat-s3c/map.h b/trunk/include/asm-arm/plat-s3c/map.h index 95a82b0e84a1..b84289d32a54 100644 --- a/trunk/include/asm-arm/plat-s3c/map.h +++ b/trunk/include/asm-arm/plat-s3c/map.h @@ -30,11 +30,11 @@ #define S3C_ADDR(x) (S3C_ADDR_BASE + (x)) #endif -#define S3C_VA_IRQ S3C_ADDR(0x000000000) /* irq controller(s) */ -#define S3C_VA_SYS S3C_ADDR(0x001000000) /* system control */ -#define S3C_VA_MEM S3C_ADDR(0x002000000) /* system control */ -#define S3C_VA_TIMER S3C_ADDR(0x003000000) /* timer block */ -#define S3C_VA_WATCHDOG S3C_ADDR(0x004000000) /* watchdog */ -#define S3C_VA_UART S3C_ADDR(0x010000000) /* UART */ +#define S3C_VA_IRQ S3C_ADDR(0x00000000) /* irq controller(s) */ +#define S3C_VA_SYS S3C_ADDR(0x00100000) /* system control */ +#define S3C_VA_MEM S3C_ADDR(0x00200000) /* system control */ +#define S3C_VA_TIMER S3C_ADDR(0x00300000) /* timer block */ +#define S3C_VA_WATCHDOG S3C_ADDR(0x00400000) /* watchdog */ +#define S3C_VA_UART S3C_ADDR(0x01000000) /* UART */ #endif /* __ASM_PLAT_MAP_H */