diff options
Diffstat (limited to 'arch/mips/kernel/cevt-sb1250.c')
| -rw-r--r-- | arch/mips/kernel/cevt-sb1250.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/mips/kernel/cevt-sb1250.c b/arch/mips/kernel/cevt-sb1250.c index e2029d0fc39b..63ac3ad462bc 100644 --- a/arch/mips/kernel/cevt-sb1250.c +++ b/arch/mips/kernel/cevt-sb1250.c | |||
| @@ -73,6 +73,7 @@ static int sibyte_next_event(unsigned long delta, struct clock_event_device *cd) | |||
| 73 | cfg = IOADDR(A_SCD_TIMER_REGISTER(cpu, R_SCD_TIMER_CFG)); | 73 | cfg = IOADDR(A_SCD_TIMER_REGISTER(cpu, R_SCD_TIMER_CFG)); |
| 74 | init = IOADDR(A_SCD_TIMER_REGISTER(cpu, R_SCD_TIMER_INIT)); | 74 | init = IOADDR(A_SCD_TIMER_REGISTER(cpu, R_SCD_TIMER_INIT)); |
| 75 | 75 | ||
| 76 | __raw_writeq(0, cfg); | ||
| 76 | __raw_writeq(delta - 1, init); | 77 | __raw_writeq(delta - 1, init); |
| 77 | __raw_writeq(M_SCD_TIMER_ENABLE, cfg); | 78 | __raw_writeq(M_SCD_TIMER_ENABLE, cfg); |
| 78 | 79 | ||
| @@ -121,7 +122,7 @@ void __cpuinit sb1250_clockevent_init(void) | |||
| 121 | CLOCK_EVT_FEAT_ONESHOT; | 122 | CLOCK_EVT_FEAT_ONESHOT; |
| 122 | clockevent_set_clock(cd, V_SCD_TIMER_FREQ); | 123 | clockevent_set_clock(cd, V_SCD_TIMER_FREQ); |
| 123 | cd->max_delta_ns = clockevent_delta2ns(0x7fffff, cd); | 124 | cd->max_delta_ns = clockevent_delta2ns(0x7fffff, cd); |
| 124 | cd->min_delta_ns = clockevent_delta2ns(1, cd); | 125 | cd->min_delta_ns = clockevent_delta2ns(2, cd); |
| 125 | cd->rating = 200; | 126 | cd->rating = 200; |
| 126 | cd->irq = irq; | 127 | cd->irq = irq; |
| 127 | cd->cpumask = cpumask_of_cpu(cpu); | 128 | cd->cpumask = cpumask_of_cpu(cpu); |
| @@ -142,7 +143,10 @@ void __cpuinit sb1250_clockevent_init(void) | |||
| 142 | 143 | ||
| 143 | action->handler = sibyte_counter_handler; | 144 | action->handler = sibyte_counter_handler; |
| 144 | action->flags = IRQF_DISABLED | IRQF_PERCPU; | 145 | action->flags = IRQF_DISABLED | IRQF_PERCPU; |
| 146 | action->mask = cpumask_of_cpu(cpu); | ||
| 145 | action->name = name; | 147 | action->name = name; |
| 146 | action->dev_id = cd; | 148 | action->dev_id = cd; |
| 149 | |||
| 150 | irq_set_affinity(irq, cpumask_of_cpu(cpu)); | ||
| 147 | setup_irq(irq, action); | 151 | setup_irq(irq, action); |
| 148 | } | 152 | } |
