Lines Matching full:pic
29 * PIC driver for the 8259A Master and Slave PICs in PC/AT machines.
124 struct pic at_pic;
134 int at_irq; /* Relative to PIC base. */
140 static void atpic_register_sources(struct pic *pic);
148 static void atpic_resume(struct pic *pic, bool suspend_cancelled);
153 static void i8259_init(struct atpic *pic, int slave);
186 ("%s: mismatched pic", __func__)); in _atpic_eoi_master()
201 ("%s: mismatched pic", __func__)); in _atpic_eoi_slave()
211 atpic_register_sources(struct pic *pic) in atpic_register_sources() argument
213 struct atpic *ap = (struct atpic *)pic; in atpic_register_sources()
336 atpic_resume(struct pic *pic, bool suspend_cancelled) in atpic_resume() argument
338 struct atpic *ap = (struct atpic *)pic; in atpic_resume()
413 i8259_init(struct atpic *pic, int slave) in i8259_init() argument
417 /* Reset the PIC and program with next four bytes. */ in i8259_init()
419 outb(pic->at_ioaddr, ICW1_RESET | ICW1_IC4); in i8259_init()
420 imr_addr = pic->at_ioaddr + ICU_IMR_OFFSET; in i8259_init()
423 outb(imr_addr, pic->at_intbase); in i8259_init()
426 * Setup slave links. For the master pic, indicate what line in i8259_init()
442 outb(imr_addr, pic->at_imen); in i8259_init()
445 outb(pic->at_ioaddr, OCW3_SEL | OCW3_RR); in i8259_init()
449 outb(pic->at_ioaddr, OCW2_R | OCW2_SL | OCW2_L1); in i8259_init()
561 * Bus attachment for the ISA PIC.
581 * between the two PIC components. If we're using the APIC, however,