Lines Matching defs:router

53 	int (*get)(struct pci_dev *router, struct pci_dev *dev, int pirq);
54 int (*set)(struct pci_dev *router, struct pci_dev *dev, int pirq,
56 int (*lvl)(struct pci_dev *router, struct pci_dev *dev, int pirq,
62 int (*probe)(struct irq_router *r, struct pci_dev *router, u16 device);
117 * have no information as to the router device to use, but we can handle
349 static int pirq_finali_get(struct pci_dev *router, struct pci_dev *dev,
368 static int pirq_finali_set(struct pci_dev *router, struct pci_dev *dev,
390 static int pirq_finali_lvl(struct pci_dev *router, struct pci_dev *dev,
412 static unsigned int read_config_nybble(struct pci_dev *router, unsigned offset, unsigned nr)
417 pci_read_config_byte(router, reg, &x);
421 static void write_config_nybble(struct pci_dev *router, unsigned offset,
427 pci_read_config_byte(router, reg, &x);
429 pci_write_config_byte(router, reg, x);
437 static int pirq_ali_get(struct pci_dev *router, struct pci_dev *dev, int pirq)
442 return irqmap[read_config_nybble(router, 0x48, pirq-1)];
445 static int pirq_ali_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq)
452 write_config_nybble(router, 0x48, pirq-1, val);
468 * with the PIIX router.
490 static int pirq_esc_get(struct pci_dev *router, struct pci_dev *dev, int pirq)
508 static int pirq_esc_set(struct pci_dev *router, struct pci_dev *dev, int pirq,
530 static int pirq_piix_get(struct pci_dev *router, struct pci_dev *dev, int pirq)
534 pci_read_config_byte(router, pirq, &x);
538 static int pirq_piix_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq)
540 pci_write_config_byte(router, pirq, irq);
551 * the same as with the PIIX router.
562 static int pirq_ib_get(struct pci_dev *router, struct pci_dev *dev, int pirq)
571 pci_read_config_byte(router, reg, &x);
575 static int pirq_ib_set(struct pci_dev *router, struct pci_dev *dev, int pirq,
584 pci_write_config_byte(router, reg, irq);
593 static int pirq_via_get(struct pci_dev *router, struct pci_dev *dev, int pirq)
595 return read_config_nybble(router, 0x55, pirq == 4 ? 5 : pirq);
598 static int pirq_via_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq)
600 write_config_nybble(router, 0x55, pirq == 4 ? 5 : pirq, irq);
609 static int pirq_via586_get(struct pci_dev *router, struct pci_dev *dev, int pirq)
614 return read_config_nybble(router, 0x55, pirqmap[pirq-1]);
617 static int pirq_via586_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq)
622 write_config_nybble(router, 0x55, pirqmap[pirq-1], irq);
631 static int pirq_ite_get(struct pci_dev *router, struct pci_dev *dev, int pirq)
636 return read_config_nybble(router, 0x43, pirqmap[pirq-1]);
639 static int pirq_ite_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq)
644 write_config_nybble(router, 0x43, pirqmap[pirq-1], irq);
652 static int pirq_opti_get(struct pci_dev *router, struct pci_dev *dev, int pirq)
654 return read_config_nybble(router, 0xb8, pirq >> 4);
657 static int pirq_opti_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq)
659 write_config_nybble(router, 0xb8, pirq >> 4, irq);
668 static int pirq_cyrix_get(struct pci_dev *router, struct pci_dev *dev, int pirq)
670 return read_config_nybble(router, 0x5C, (pirq-1)^1);
673 static int pirq_cyrix_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq)
675 write_config_nybble(router, 0x5C, (pirq-1)^1, irq);
723 static int pirq_sis497_get(struct pci_dev *router, struct pci_dev *dev,
733 pci_read_config_byte(router, reg, &x);
737 static int pirq_sis497_set(struct pci_dev *router, struct pci_dev *dev,
747 pci_read_config_byte(router, reg, &x);
750 pci_write_config_byte(router, reg, x);
755 * PIRQ routing for SiS 85C503 router used in several SiS chipsets.
760 * - different revision of the router have a different layout for
780 * router (ISA-bridge) should be 0x01 or 0xb0.
788 * Onchip routing for router rev-id 0x01/0xb0 and probably 0x00/0xb1:
806 * router revision 0x04 and there are changes in the register layout
809 * Onchip routing for router rev-id 0x04 (try-and-error observation)
819 static int pirq_sis503_get(struct pci_dev *router, struct pci_dev *dev,
828 pci_read_config_byte(router, reg, &x);
832 static int pirq_sis503_set(struct pci_dev *router, struct pci_dev *dev,
841 pci_read_config_byte(router, reg, &x);
844 pci_write_config_byte(router, reg, x);
851 * config space of VLSI 82C534 PCI-bridge/router (1004:0102)
857 static int pirq_vlsi_get(struct pci_dev *router, struct pci_dev *dev, int pirq)
861 dev_info(&dev->dev, "VLSI router PIRQ escape (%d)\n", pirq);
864 return read_config_nybble(router, 0x74, pirq-1);
867 static int pirq_vlsi_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq)
871 dev_info(&dev->dev, "VLSI router PIRQ escape (%d)\n", pirq);
874 write_config_nybble(router, 0x74, pirq-1, irq);
889 static int pirq_serverworks_get(struct pci_dev *router, struct pci_dev *dev, int pirq)
895 static int pirq_serverworks_set(struct pci_dev *router, struct pci_dev *dev,
911 static int pirq_amd756_get(struct pci_dev *router, struct pci_dev *dev, int pirq)
916 irq = read_config_nybble(router, 0x56, pirq - 1);
918 "AMD756: dev [%04x:%04x], router PIRQ %d get IRQ %d\n",
923 static int pirq_amd756_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq)
926 "AMD756: dev [%04x:%04x], router PIRQ %d set IRQ %d\n",
929 write_config_nybble(router, 0x56, pirq - 1, irq);
936 static int pirq_pico_get(struct pci_dev *router, struct pci_dev *dev, int pirq)
942 static int pirq_pico_set(struct pci_dev *router, struct pci_dev *dev, int pirq,
955 static int pirq_bios_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq)
964 static __init int intel_router_probe(struct irq_router *r, struct pci_dev *router, u16 device)
972 /* 440GX has a proprietary PIRQ router -- don't use it */
1052 struct pci_dev *router, u16 device)
1060 switch (router->device) {
1106 static __init int vlsi_router_probe(struct irq_router *r, struct pci_dev *router, u16 device)
1120 struct pci_dev *router, u16 device)
1133 static __init int sis_router_probe(struct irq_router *r, struct pci_dev *router, u16 device)
1150 static __init int cyrix_router_probe(struct irq_router *r, struct pci_dev *router, u16 device)
1162 static __init int opti_router_probe(struct irq_router *r, struct pci_dev *router, u16 device)
1174 static __init int ite_router_probe(struct irq_router *r, struct pci_dev *router, u16 device)
1186 static __init int ali_router_probe(struct irq_router *r, struct pci_dev *router, u16 device)
1205 static __init int amd_router_probe(struct irq_router *r, struct pci_dev *router, u16 device)
1225 static __init int pico_router_probe(struct irq_router *r, struct pci_dev *router, u16 device)
1273 DBG(KERN_DEBUG "PCI: Trying IRQ router for [%04x:%04x]\n",
1277 /* First look for a router match */
1308 DBG(KERN_DEBUG "PCI: Attempting to find IRQ router for [%04x:%04x]\n",
1328 dev_info(&pirq_router_dev->dev, "%s IRQ router [%04x:%04x]\n",
1332 DBG(KERN_DEBUG "PCI: Interrupt router not found at "