On Wed, 2007-05-16 at 11:49 -0700, yhlu wrote:
PCI slot one has all
four interrupts working.
What doesn't work yet is:
- PCI slots 2-4
-there doesn't seem to be any interrupts generated. slot 2 and 4 can do ifconfig up, but don't transmit or receive any packets. slot 3 refuses to ifconfig up.
2)firewire (it's on PCI bus, so it's probably related to 1) gets no interrupts. If the module is reloaded, dmesg fills the screen endlessly and hard reset is required.
without schematic, that will need some try and test to figure out.
The Tyan S2865 User's Manual Revision 1.00 on page 31 "PCI IDSELs and IRQ Assignments" isn't very helpful. It looks like it's taken from a dual-socket/multi-southbridge motherboard. Rev 1.03 is the same.
PCI slot 1 - all 4 PIRQ[ABCD] are working. I used a multimeter to find where these go on the other PCI slots 2-4, and for onboard Via VT6307 PCI firewire.
I have set mptables.c to match IRQs from working slot1 according to the swizzle table I have discovered:
PCI Slot, IDSEL, PIRQA, PIRQB, PIRQC, PIRQD ati rage xl, 21, ?, n/a, n/a, n/a via firewire, 22, C, ?, n/a, n/a 1, 23, A, B, C, D 2, 24, D, A, B, C 3, 25, C, D, A, B 4, 26, B, C, D, A
Other than IDSEL and PIRQ traces, I can't think of any differences between the PCI slots, and yet only slot 1 is working. Maybe the southbridge has some configuration for arbitration priority that's not set by LinuxBIOS?
I will try and find a PCI card that generates interrupts, but doesn't use bus mastering, as most NICs do, to try and furthur diagnose the problem.
Jeremy