in V1:
void pci_assign_irqs(unsigned bus, unsigned slot, const unsigned char pIntAtoD[4]);
static const unsigned char southbridgeIrqs[4] = { 11, 5, 10, 12 }; static const unsigned char enetIrqs[4] = { 11, 5, 10, 12 }; static const unsigned char slotIrqs[4] = { 5, 10, 12, 11 };
/* Our IDSEL mappings are as follows PCI slot is AD31 (device 15) (00:14.0) Southbridge is AD28 (device 12) (00:11.0) */ static void pci_routing_fixup(void) { struct pci_dev *dev;
dev = pci_find_device(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8231, 0); if (dev != NULL) { /* initialize PCI interupts - these assignments depend on the PCB routing of PINTA-D
PINTA = IRQ11 PINTB = IRQ5 PINTC = IRQ10 PINTD = IRQ12 */ pci_write_config_byte(dev, 0x55, 0xb0); pci_write_config_byte(dev, 0x56, 0xa5); pci_write_config_byte(dev, 0x57, 0xc0); }
// Standard southbridge components printk_info("setting southbridge\n"); pci_assign_irqs(0, 0x11, southbridgeIrqs);
// Ethernet built into southbridge printk_info("setting ethernet\n"); pci_assign_irqs(0, 0x12, enetIrqs);
// PCI slot printk_info("setting pci slot\n"); pci_assign_irqs(0, 0x14, slotIrqs);
}
ok, that explains it!
ron
Hi,
Kevin did this fine job in v1. Basically it assigns irqs for PCI devices in case of PIRQ table doesn't work. I have been using in different place. I also think it would be nice to do it in config file instead of in source just like geode. Ron, does epia work now?
-Andrew
On Wed, Oct 01, 2003 at 05:38:51PM -0600, ron minnich wrote:
in V1:
void pci_assign_irqs(unsigned bus, unsigned slot, const unsigned char pIntAtoD[4]);
static const unsigned char southbridgeIrqs[4] = { 11, 5, 10, 12 }; static const unsigned char enetIrqs[4] = { 11, 5, 10, 12 }; static const unsigned char slotIrqs[4] = { 5, 10, 12, 11 };
/* Our IDSEL mappings are as follows PCI slot is AD31 (device 15) (00:14.0) Southbridge is AD28 (device 12) (00:11.0) */ static void pci_routing_fixup(void) { struct pci_dev *dev;
dev = pci_find_device(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8231,
0); if (dev != NULL) { /* initialize PCI interupts - these assignments depend on the PCB routing of PINTA-D
PINTA = IRQ11 PINTB = IRQ5 PINTC = IRQ10 PINTD = IRQ12 */ pci_write_config_byte(dev, 0x55, 0xb0); pci_write_config_byte(dev, 0x56, 0xa5); pci_write_config_byte(dev, 0x57, 0xc0); } // Standard southbridge components printk_info("setting southbridge\n"); pci_assign_irqs(0, 0x11, southbridgeIrqs); // Ethernet built into southbridge printk_info("setting ethernet\n"); pci_assign_irqs(0, 0x12, enetIrqs); // PCI slot printk_info("setting pci slot\n"); pci_assign_irqs(0, 0x14, slotIrqs);
}
ok, that explains it!
ron
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
On Thu, 2 Oct 2003, Andrew Ip wrote:
Hi,
Kevin did this fine job in v1. Basically it assigns irqs for PCI devices in case of PIRQ table doesn't work. I have been using in different place. I also think it would be nice to do it in config file instead of in source just like geode. Ron, does epia work now?
I'm not getting any ethernet interrupts. The packets get out, they get responsded to, but the node never gets the interrupt.
Also, I get these messages after a while: eth0: Transmit timed out, status 1003, PHY status 786d, resetting...
I assume this means no TX IRQ. Blast. What do I look for?
ron
Can you email me the log. Since I don't have epia right, reading the log is the best I can do.
-Andrew
On Thu, Oct 02, 2003 at 09:45:53AM -0600, ron minnich wrote:
On Thu, 2 Oct 2003, Andrew Ip wrote:
Hi,
Kevin did this fine job in v1. Basically it assigns irqs for PCI devices in case of PIRQ table doesn't work. I have been using in different place. I also think it would be nice to do it in config file instead of in source just like geode. Ron, does epia work now?
I'm not getting any ethernet interrupts. The packets get out, they get responsded to, but the node never gets the interrupt.
Also, I get these messages after a while: eth0: Transmit timed out, status 1003, PHY status 786d, resetting...
I assume this means no TX IRQ. Blast. What do I look for?
ron
hang on, I won't mail log just yet, I think I may have something.
ron