diff options
| -rw-r--r-- | arch/arm/mach-ep93xx/core.c | 2 | ||||
| -rw-r--r-- | arch/arm/mm/cache-l2x0.c | 12 |
2 files changed, 12 insertions, 2 deletions
diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c index 851cc7158ca3..70b2c7801110 100644 --- a/arch/arm/mach-ep93xx/core.c +++ b/arch/arm/mach-ep93xx/core.c | |||
| @@ -336,7 +336,7 @@ static int ep93xx_gpio_irq_type(unsigned int irq, unsigned int type) | |||
| 336 | if (line >= 0 && line < 16) { | 336 | if (line >= 0 && line < 16) { |
| 337 | gpio_line_config(line, GPIO_IN); | 337 | gpio_line_config(line, GPIO_IN); |
| 338 | } else { | 338 | } else { |
| 339 | gpio_line_config(EP93XX_GPIO_LINE_F(line), GPIO_IN); | 339 | gpio_line_config(EP93XX_GPIO_LINE_F(line-16), GPIO_IN); |
| 340 | } | 340 | } |
| 341 | 341 | ||
| 342 | port = line >> 3; | 342 | port = line >> 3; |
diff --git a/arch/arm/mm/cache-l2x0.c b/arch/arm/mm/cache-l2x0.c index b4e9b734e0bd..76b800a95191 100644 --- a/arch/arm/mm/cache-l2x0.c +++ b/arch/arm/mm/cache-l2x0.c | |||
| @@ -57,7 +57,17 @@ static void l2x0_inv_range(unsigned long start, unsigned long end) | |||
| 57 | { | 57 | { |
| 58 | unsigned long addr; | 58 | unsigned long addr; |
| 59 | 59 | ||
| 60 | start &= ~(CACHE_LINE_SIZE - 1); | 60 | if (start & (CACHE_LINE_SIZE - 1)) { |
| 61 | start &= ~(CACHE_LINE_SIZE - 1); | ||
| 62 | sync_writel(start, L2X0_CLEAN_INV_LINE_PA, 1); | ||
| 63 | start += CACHE_LINE_SIZE; | ||
| 64 | } | ||
| 65 | |||
| 66 | if (end & (CACHE_LINE_SIZE - 1)) { | ||
| 67 | end &= ~(CACHE_LINE_SIZE - 1); | ||
| 68 | sync_writel(end, L2X0_CLEAN_INV_LINE_PA, 1); | ||
| 69 | } | ||
| 70 | |||
| 61 | for (addr = start; addr < end; addr += CACHE_LINE_SIZE) | 71 | for (addr = start; addr < end; addr += CACHE_LINE_SIZE) |
| 62 | sync_writel(addr, L2X0_INV_LINE_PA, 1); | 72 | sync_writel(addr, L2X0_INV_LINE_PA, 1); |
| 63 | cache_sync(); | 73 | cache_sync(); |
