Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 163724
b: refs/heads/master
c: 0be6939
h: refs/heads/master
v: v3
  • Loading branch information
Thomas Gleixner committed Aug 31, 2009
1 parent b64321a commit 90cee88
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 22 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 64fcbac1f38882d8ae82c44a1c2a676cfa5e79e1
refs/heads/master: 0be6939422eb2f54df4b3d8763c569c6759c1a42
18 changes: 3 additions & 15 deletions trunk/arch/x86/kernel/time_32.c
Original file line number Diff line number Diff line change
Expand Up @@ -78,21 +78,9 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id)

global_clock_event->event_handler(global_clock_event);

#ifdef CONFIG_MCA
if (MCA_bus) {
/* The PS/2 uses level-triggered interrupts. You can't
turn them off, nor would you want to (any attempt to
enable edge-triggered interrupts usually gets intercepted by a
special hardware circuit). Hence we have to acknowledge
the timer interrupt. Through some incredibly stupid
design idea, the reset for IRQ 0 is done by setting the
high bit of the PPI port B (0x61). Note that some PS/2s,
notably the 55SX, work fine if this is removed. */

u8 irq_v = inb_p(0x61); /* read the current state */
outb_p(irq_v | 0x80, 0x61); /* reset the IRQ */
}
#endif
/* MCA bus quirk: Acknowledge irq0 by setting bit 7 in port 0x61 */
if (MCA_bus)
outb_p(inb_p(0x61)| 0x80, 0x61);

return IRQ_HANDLED;
}
Expand Down
9 changes: 3 additions & 6 deletions trunk/arch/x86/kernel/time_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -67,12 +67,9 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id)

global_clock_event->event_handler(global_clock_event);

#ifdef CONFIG_MCA
if (MCA_bus) {
u8 irq_v = inb_p(0x61); /* read the current state */
outb_p(irq_v|0x80, 0x61); /* reset the IRQ */
}
#endif
/* MCA bus quirk: Acknowledge irq0 by setting bit 7 in port 0x61 */
if (MCA_bus)
outb_p(inb_p(0x61)| 0x80, 0x61);

return IRQ_HANDLED;
}
Expand Down

0 comments on commit 90cee88

Please sign in to comment.