Lines Matching refs:pirq

42 	int (*get)(struct pci_dev *router, struct pci_dev *dev, int pirq);
43 int (*set)(struct pci_dev *router, struct pci_dev *dev, int pirq, int new);
159 static int pirq_ali_get(struct pci_dev *router, struct pci_dev *dev, int pirq) in pirq_ali_get() argument
163 return irqmap[read_config_nybble(router, 0x48, pirq-1)]; in pirq_ali_get()
166 static int pirq_ali_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq) in pirq_ali_set() argument
172 write_config_nybble(router, 0x48, pirq-1, val); in pirq_ali_set()
182 static int pirq_piix_get(struct pci_dev *router, struct pci_dev *dev, int pirq) in pirq_piix_get() argument
186 pci_read_config_byte(router, pirq, &x); in pirq_piix_get()
190 static int pirq_piix_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq) in pirq_piix_set() argument
192 pci_write_config_byte(router, pirq, irq); in pirq_piix_set()
200 static int pirq_via_get(struct pci_dev *router, struct pci_dev *dev, int pirq) in pirq_via_get() argument
202 return read_config_nybble(router, 0x55, pirq); in pirq_via_get()
205 static int pirq_via_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq) in pirq_via_set() argument
207 write_config_nybble(router, 0x55, pirq, irq); in pirq_via_set()
215 static int pirq_opti_get(struct pci_dev *router, struct pci_dev *dev, int pirq) in pirq_opti_get() argument
217 return read_config_nybble(router, 0xb8, pirq >> 4); in pirq_opti_get()
220 static int pirq_opti_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq) in pirq_opti_set() argument
222 write_config_nybble(router, 0xb8, pirq >> 4, irq); in pirq_opti_set()
229 static int pirq_cyrix_get(struct pci_dev *router, struct pci_dev *dev, int pirq) in pirq_cyrix_get() argument
231 return read_config_nybble(router, 0x5C, pirq-1); in pirq_cyrix_get()
234 static int pirq_cyrix_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq) in pirq_cyrix_set() argument
236 write_config_nybble(router, 0x5C, pirq-1, irq); in pirq_cyrix_set()
276 static int pirq_sis_get(struct pci_dev *router, struct pci_dev *dev, int pirq) in pirq_sis_get() argument
279 int reg = pirq; in pirq_sis_get()
281 switch(pirq) { in pirq_sis_get()
304 printk(KERN_INFO "SiS router pirq escape (%d)\n", pirq); in pirq_sis_get()
310 static int pirq_sis_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq) in pirq_sis_set() argument
313 int reg = pirq; in pirq_sis_set()
315 switch(pirq) { in pirq_sis_set()
338 printk(KERN_INFO "SiS router pirq escape (%d)\n", pirq); in pirq_sis_set()
354 static int pirq_vlsi_get(struct pci_dev *router, struct pci_dev *dev, int pirq) in pirq_vlsi_get() argument
356 if (pirq > 8) { in pirq_vlsi_get()
357 printk(KERN_INFO "VLSI router pirq escape (%d)\n", pirq); in pirq_vlsi_get()
360 return read_config_nybble(router, 0x74, pirq-1); in pirq_vlsi_get()
363 static int pirq_vlsi_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq) in pirq_vlsi_set() argument
365 if (pirq > 8) { in pirq_vlsi_set()
366 printk(KERN_INFO "VLSI router pirq escape (%d)\n", pirq); in pirq_vlsi_set()
369 write_config_nybble(router, 0x74, pirq-1, irq); in pirq_vlsi_set()
384 static int pirq_serverworks_get(struct pci_dev *router, struct pci_dev *dev, int pirq) in pirq_serverworks_get() argument
386 outb_p(pirq, 0xc00); in pirq_serverworks_get()
390 static int pirq_serverworks_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq) in pirq_serverworks_set() argument
392 outb_p(pirq, 0xc00); in pirq_serverworks_set()
405 static int pirq_amd756_get(struct pci_dev *router, struct pci_dev *dev, int pirq) in pirq_amd756_get() argument
409 if (pirq <= 4) in pirq_amd756_get()
411 irq = read_config_nybble(router, 0x56, pirq - 1); in pirq_amd756_get()
414 dev->vendor, dev->device, pirq, irq); in pirq_amd756_get()
418 static int pirq_amd756_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq) in pirq_amd756_set() argument
421 dev->vendor, dev->device, pirq, irq); in pirq_amd756_set()
422 if (pirq <= 4) in pirq_amd756_set()
424 write_config_nybble(router, 0x56, pirq - 1, irq); in pirq_amd756_set()
431 static int pirq_bios_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq) in pirq_bios_set() argument
540 int i, pirq, newirq; in pcibios_lookup_irq() local
564 pirq = info->irq[pin].link; in pcibios_lookup_irq()
566 if (!pirq) { in pcibios_lookup_irq()
570 DBG(" -> PIRQ %02x, mask %04x, excl %04x", pirq, mask, pirq_table->exclusive_irqs); in pcibios_lookup_irq()
592 if ((pirq & 0xf0) == 0xf0) { in pcibios_lookup_irq()
593 irq = pirq & 0xf; in pcibios_lookup_irq()
596 } else if (r->get && (irq = r->get(pirq_router_dev, dev, pirq))) { in pcibios_lookup_irq()
601 if (r->set(pirq_router_dev, dev, pirq, newirq)) { in pcibios_lookup_irq()
628 if (info->irq[pin].link == pirq) { in pcibios_lookup_irq()