aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/jazz
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/jazz')
-rw-r--r--arch/mips/jazz/irq.c17
-rw-r--r--arch/mips/jazz/jazzdma.c5
2 files changed, 10 insertions, 12 deletions
diff --git a/arch/mips/jazz/irq.c b/arch/mips/jazz/irq.c
index ee18028efe92..260df4750949 100644
--- a/arch/mips/jazz/irq.c
+++ b/arch/mips/jazz/irq.c
@@ -12,6 +12,7 @@
12#include <linux/kernel.h> 12#include <linux/kernel.h>
13#include <linux/smp.h> 13#include <linux/smp.h>
14#include <linux/spinlock.h> 14#include <linux/spinlock.h>
15#include <linux/irq.h>
15 16
16#include <asm/irq_cpu.h> 17#include <asm/irq_cpu.h>
17#include <asm/i8253.h> 18#include <asm/i8253.h>
@@ -22,9 +23,9 @@
22 23
23static DEFINE_RAW_SPINLOCK(r4030_lock); 24static DEFINE_RAW_SPINLOCK(r4030_lock);
24 25
25static void enable_r4030_irq(unsigned int irq) 26static void enable_r4030_irq(struct irq_data *d)
26{ 27{
27 unsigned int mask = 1 << (irq - JAZZ_IRQ_START); 28 unsigned int mask = 1 << (d->irq - JAZZ_IRQ_START);
28 unsigned long flags; 29 unsigned long flags;
29 30
30 raw_spin_lock_irqsave(&r4030_lock, flags); 31 raw_spin_lock_irqsave(&r4030_lock, flags);
@@ -33,9 +34,9 @@ static void enable_r4030_irq(unsigned int irq)
33 raw_spin_unlock_irqrestore(&r4030_lock, flags); 34 raw_spin_unlock_irqrestore(&r4030_lock, flags);
34} 35}
35 36
36void disable_r4030_irq(unsigned int irq) 37void disable_r4030_irq(struct irq_data *d)
37{ 38{
38 unsigned int mask = ~(1 << (irq - JAZZ_IRQ_START)); 39 unsigned int mask = ~(1 << (d->irq - JAZZ_IRQ_START));
39 unsigned long flags; 40 unsigned long flags;
40 41
41 raw_spin_lock_irqsave(&r4030_lock, flags); 42 raw_spin_lock_irqsave(&r4030_lock, flags);
@@ -46,10 +47,8 @@ void disable_r4030_irq(unsigned int irq)
46 47
47static struct irq_chip r4030_irq_type = { 48static struct irq_chip r4030_irq_type = {
48 .name = "R4030", 49 .name = "R4030",
49 .ack = disable_r4030_irq, 50 .irq_mask = disable_r4030_irq,
50 .mask = disable_r4030_irq, 51 .irq_unmask = enable_r4030_irq,
51 .mask_ack = disable_r4030_irq,
52 .unmask = enable_r4030_irq,
53}; 52};
54 53
55void __init init_r4030_ints(void) 54void __init init_r4030_ints(void)
@@ -57,7 +56,7 @@ void __init init_r4030_ints(void)
57 int i; 56 int i;
58 57
59 for (i = JAZZ_IRQ_START; i <= JAZZ_IRQ_END; i++) 58 for (i = JAZZ_IRQ_START; i <= JAZZ_IRQ_END; i++)
60 set_irq_chip_and_handler(i, &r4030_irq_type, handle_level_irq); 59 irq_set_chip_and_handler(i, &r4030_irq_type, handle_level_irq);
61 60
62 r4030_write_reg16(JAZZ_IO_IRQ_ENABLE, 0); 61 r4030_write_reg16(JAZZ_IO_IRQ_ENABLE, 0);
63 r4030_read_reg16(JAZZ_IO_IRQ_SOURCE); /* clear pending IRQs */ 62 r4030_read_reg16(JAZZ_IO_IRQ_SOURCE); /* clear pending IRQs */
diff --git a/arch/mips/jazz/jazzdma.c b/arch/mips/jazz/jazzdma.c
index 9ce9f64cb76f..2d8e447cb828 100644
--- a/arch/mips/jazz/jazzdma.c
+++ b/arch/mips/jazz/jazzdma.c
@@ -211,7 +211,7 @@ EXPORT_SYMBOL(vdma_free);
211 */ 211 */
212int vdma_remap(unsigned long laddr, unsigned long paddr, unsigned long size) 212int vdma_remap(unsigned long laddr, unsigned long paddr, unsigned long size)
213{ 213{
214 int first, pages, npages; 214 int first, pages;
215 215
216 if (laddr > 0xffffff) { 216 if (laddr > 0xffffff) {
217 if (vdma_debug) 217 if (vdma_debug)
@@ -228,8 +228,7 @@ int vdma_remap(unsigned long laddr, unsigned long paddr, unsigned long size)
228 return -EINVAL; /* invalid physical address */ 228 return -EINVAL; /* invalid physical address */
229 } 229 }
230 230
231 npages = pages = 231 pages = (((paddr & (VDMA_PAGESIZE - 1)) + size) >> 12) + 1;
232 (((paddr & (VDMA_PAGESIZE - 1)) + size) >> 12) + 1;
233 first = laddr >> 12; 232 first = laddr >> 12;
234 if (vdma_debug) 233 if (vdma_debug)
235 printk("vdma_remap: first=%x, pages=%x\n", first, pages); 234 printk("vdma_remap: first=%x, pages=%x\n", first, pages);