Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] 4569/1: ep93xx_gpio_irq_type(): fix spurious enumeration offset for FGPIO handling [ARM] 4568/1: fix l2x0 cache invalidate handling of unaligned addresses
This commit is contained in:
commit
ad501bce57
2 changed files with 12 additions and 2 deletions
|
@ -336,7 +336,7 @@ static int ep93xx_gpio_irq_type(unsigned int irq, unsigned int type)
|
||||||
if (line >= 0 && line < 16) {
|
if (line >= 0 && line < 16) {
|
||||||
gpio_line_config(line, GPIO_IN);
|
gpio_line_config(line, GPIO_IN);
|
||||||
} else {
|
} else {
|
||||||
gpio_line_config(EP93XX_GPIO_LINE_F(line), GPIO_IN);
|
gpio_line_config(EP93XX_GPIO_LINE_F(line-16), GPIO_IN);
|
||||||
}
|
}
|
||||||
|
|
||||||
port = line >> 3;
|
port = line >> 3;
|
||||||
|
|
|
@ -57,7 +57,17 @@ static void l2x0_inv_range(unsigned long start, unsigned long end)
|
||||||
{
|
{
|
||||||
unsigned long addr;
|
unsigned long addr;
|
||||||
|
|
||||||
start &= ~(CACHE_LINE_SIZE - 1);
|
if (start & (CACHE_LINE_SIZE - 1)) {
|
||||||
|
start &= ~(CACHE_LINE_SIZE - 1);
|
||||||
|
sync_writel(start, L2X0_CLEAN_INV_LINE_PA, 1);
|
||||||
|
start += CACHE_LINE_SIZE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (end & (CACHE_LINE_SIZE - 1)) {
|
||||||
|
end &= ~(CACHE_LINE_SIZE - 1);
|
||||||
|
sync_writel(end, L2X0_CLEAN_INV_LINE_PA, 1);
|
||||||
|
}
|
||||||
|
|
||||||
for (addr = start; addr < end; addr += CACHE_LINE_SIZE)
|
for (addr = start; addr < end; addr += CACHE_LINE_SIZE)
|
||||||
sync_writel(addr, L2X0_INV_LINE_PA, 1);
|
sync_writel(addr, L2X0_INV_LINE_PA, 1);
|
||||||
cache_sync();
|
cache_sync();
|
||||||
|
|
Loading…
Add table
Reference in a new issue