i8259.c (4b4193256c8d3bc3a5397b5cd9494c2ad386317d) | i8259.c (d25316616842b593de6f89ce2101f1af62f4d559) |
---|---|
1// SPDX-License-Identifier: GPL-2.0 2#include <linux/linkage.h> 3#include <linux/errno.h> 4#include <linux/signal.h> 5#include <linux/sched.h> 6#include <linux/ioport.h> 7#include <linux/interrupt.h> 8#include <linux/irq.h> --- 221 unchanged lines hidden (view full) --- 230}; 231 232static char irq_trigger[2]; 233/** 234 * ELCR registers (0x4d0, 0x4d1) control edge/level of IRQ 235 */ 236static void restore_ELCR(char *trigger) 237{ | 1// SPDX-License-Identifier: GPL-2.0 2#include <linux/linkage.h> 3#include <linux/errno.h> 4#include <linux/signal.h> 5#include <linux/sched.h> 6#include <linux/ioport.h> 7#include <linux/interrupt.h> 8#include <linux/irq.h> --- 221 unchanged lines hidden (view full) --- 230}; 231 232static char irq_trigger[2]; 233/** 234 * ELCR registers (0x4d0, 0x4d1) control edge/level of IRQ 235 */ 236static void restore_ELCR(char *trigger) 237{ |
238 outb(trigger[0], 0x4d0); 239 outb(trigger[1], 0x4d1); | 238 outb(trigger[0], PIC_ELCR1); 239 outb(trigger[1], PIC_ELCR2); |
240} 241 242static void save_ELCR(char *trigger) 243{ 244 /* IRQ 0,1,2,8,13 are marked as reserved */ | 240} 241 242static void save_ELCR(char *trigger) 243{ 244 /* IRQ 0,1,2,8,13 are marked as reserved */ |
245 trigger[0] = inb(0x4d0) & 0xF8; 246 trigger[1] = inb(0x4d1) & 0xDE; | 245 trigger[0] = inb(PIC_ELCR1) & 0xF8; 246 trigger[1] = inb(PIC_ELCR2) & 0xDE; |
247} 248 249static void i8259A_resume(void) 250{ 251 init_8259A(i8259A_auto_eoi); 252 restore_ELCR(irq_trigger); 253} 254 --- 180 unchanged lines hidden --- | 247} 248 249static void i8259A_resume(void) 250{ 251 init_8259A(i8259A_auto_eoi); 252 restore_ELCR(irq_trigger); 253} 254 --- 180 unchanged lines hidden --- |