aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86_64/kernel/io_apic.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86_64/kernel/io_apic.c')
-rw-r--r--arch/x86_64/kernel/io_apic.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/arch/x86_64/kernel/io_apic.c b/arch/x86_64/kernel/io_apic.c
index fd1e7c36dc23..e8cf44ef8778 100644
--- a/arch/x86_64/kernel/io_apic.c
+++ b/arch/x86_64/kernel/io_apic.c
@@ -910,7 +910,7 @@ static void __init setup_ExtINT_IRQ0_pin(unsigned int apic, unsigned int pin, in
910 disable_8259A_irq(0); 910 disable_8259A_irq(0);
911 911
912 /* mask LVT0 */ 912 /* mask LVT0 */
913 apic_write_around(APIC_LVT0, APIC_LVT_MASKED | APIC_DM_EXTINT); 913 apic_write(APIC_LVT0, APIC_LVT_MASKED | APIC_DM_EXTINT);
914 914
915 /* 915 /*
916 * We use logical delivery to get the timer IRQ 916 * We use logical delivery to get the timer IRQ
@@ -1635,7 +1635,7 @@ static void enable_lapic_irq (unsigned int irq)
1635 unsigned long v; 1635 unsigned long v;
1636 1636
1637 v = apic_read(APIC_LVT0); 1637 v = apic_read(APIC_LVT0);
1638 apic_write_around(APIC_LVT0, v & ~APIC_LVT_MASKED); 1638 apic_write(APIC_LVT0, v & ~APIC_LVT_MASKED);
1639} 1639}
1640 1640
1641static void disable_lapic_irq (unsigned int irq) 1641static void disable_lapic_irq (unsigned int irq)
@@ -1643,7 +1643,7 @@ static void disable_lapic_irq (unsigned int irq)
1643 unsigned long v; 1643 unsigned long v;
1644 1644
1645 v = apic_read(APIC_LVT0); 1645 v = apic_read(APIC_LVT0);
1646 apic_write_around(APIC_LVT0, v | APIC_LVT_MASKED); 1646 apic_write(APIC_LVT0, v | APIC_LVT_MASKED);
1647} 1647}
1648 1648
1649static void ack_lapic_irq (unsigned int irq) 1649static void ack_lapic_irq (unsigned int irq)
@@ -1769,7 +1769,7 @@ static inline void check_timer(void)
1769 * the 8259A which implies the virtual wire has to be 1769 * the 8259A which implies the virtual wire has to be
1770 * disabled in the local APIC. 1770 * disabled in the local APIC.
1771 */ 1771 */
1772 apic_write_around(APIC_LVT0, APIC_LVT_MASKED | APIC_DM_EXTINT); 1772 apic_write(APIC_LVT0, APIC_LVT_MASKED | APIC_DM_EXTINT);
1773 init_8259A(1); 1773 init_8259A(1);
1774 enable_8259A_irq(0); 1774 enable_8259A_irq(0);
1775 1775
@@ -1835,21 +1835,21 @@ static inline void check_timer(void)
1835 1835
1836 disable_8259A_irq(0); 1836 disable_8259A_irq(0);
1837 irq_desc[0].handler = &lapic_irq_type; 1837 irq_desc[0].handler = &lapic_irq_type;
1838 apic_write_around(APIC_LVT0, APIC_DM_FIXED | vector); /* Fixed mode */ 1838 apic_write(APIC_LVT0, APIC_DM_FIXED | vector); /* Fixed mode */
1839 enable_8259A_irq(0); 1839 enable_8259A_irq(0);
1840 1840
1841 if (timer_irq_works()) { 1841 if (timer_irq_works()) {
1842 apic_printk(APIC_QUIET, " works.\n"); 1842 apic_printk(APIC_QUIET, " works.\n");
1843 return; 1843 return;
1844 } 1844 }
1845 apic_write_around(APIC_LVT0, APIC_LVT_MASKED | APIC_DM_FIXED | vector); 1845 apic_write(APIC_LVT0, APIC_LVT_MASKED | APIC_DM_FIXED | vector);
1846 apic_printk(APIC_VERBOSE," failed.\n"); 1846 apic_printk(APIC_VERBOSE," failed.\n");
1847 1847
1848 apic_printk(APIC_VERBOSE, KERN_INFO "...trying to set up timer as ExtINT IRQ..."); 1848 apic_printk(APIC_VERBOSE, KERN_INFO "...trying to set up timer as ExtINT IRQ...");
1849 1849
1850 init_8259A(0); 1850 init_8259A(0);
1851 make_8259A_irq(0); 1851 make_8259A_irq(0);
1852 apic_write_around(APIC_LVT0, APIC_DM_EXTINT); 1852 apic_write(APIC_LVT0, APIC_DM_EXTINT);
1853 1853
1854 unlock_ExtINT_logic(); 1854 unlock_ExtINT_logic();
1855 1855