Re: [PATCH] interrupt problem with MPS 1.4 / not with MPS 1.1 ?
On Sat, Jun 02, 2001 at 03:41:08AM -0400, Jeff Garzik wrote: > > No, I'm afraid it doesn't :-( > > > Thanks for testing. > > Ok, how about this one? This is a more simple version of the logic > presented, which should give you the value that Manfred asked you plug > in manually. > No go, I'm afraid. I wonder why I do see the PCI: Disabling Via external APIC routing messages, but none of the PCI: Via IRQ fixup ... messages that I assume should have been printed Greetings, Jurriaan Total of 2 processors activated (2808.21 BogoMIPS). ENABLING IO-APIC IRQs ...changing IO-APIC physical APIC ID to 2 ... ok. init IO_APIC IRQs IO-APIC (apicid-pin) 2-0, 2-5, 2-10, 2-11, 2-15, 2-20, 2-21, 2-22, 2-23 not connected. ..TIMER: vector=49 pin1=2 pin2=0 number of MP IRQ sources: 22. number of IO-APIC #2 registers: 24. testing the IO APIC... IO APIC #2.. register #00: 0200 ...: physical APIC id: 02 register #01: 00178011 ... : max redirection entries: 0017 ... : IO APIC version: 0011 WARNING: unexpected IO-APIC, please mail to [EMAIL PROTECTED] register #02: ... : arbitration: 00 IRQ redirection table: NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: 00 000 00 100 0 00000 01 003 03 000 0 01139 02 003 03 000 0 01131 03 003 03 000 0 01141 04 003 03 000 0 01149 05 000 00 100 0 00000 06 003 03 000 0 01151 07 003 03 000 0 01159 08 003 03 000 0 01161 09 003 03 000 0 01169 0a 000 00 100 0 00000 0b 000 00 100 0 00000 0c 003 03 000 0 01171 0d 003 03 000 0 01179 0e 003 03 000 0 01181 0f 000 00 100 0 00000 10 003 03 110 1 01189 11 003 03 110 1 01191 12 003 03 110 1 01199 13 003 03 110 1 011A1 14 000 00 100 0 00000 15 000 00 100 0 00000 16 000 00 100 0 00000 17 000 00 100 0 00000 IRQ to pin mappings: IRQ0 -> 0:2 IRQ1 -> 0:1 IRQ3 -> 0:3 IRQ4 -> 0:4 IRQ6 -> 0:6 IRQ7 -> 0:7 IRQ8 -> 0:8 IRQ9 -> 0:9 IRQ12 -> 0:12 IRQ13 -> 0:13 IRQ14 -> 0:14 IRQ16 -> 0:16 IRQ17 -> 0:17 IRQ18 -> 0:18 IRQ19 -> 0:19 done. Using local APIC timer interrupts. calibrating APIC timer ... . CPU clock speed is 703.1867 MHz. . host bus clock speed is 100.4552 MHz. cpu: 0, clocks: 1004552, slice: 334850 PCI: Probing PCI hardware Unknown bridge resource 0: assuming transparent Unknown bridge resource 2: assuming transparent PCI: Using IRQ router VIA [1106/0686] at 00:07.0 PCI->APIC IRQ transform: (B0,I7,P3) -> 19 PCI->APIC IRQ transform: (B0,I7,P3) -> 19 PCI->APIC IRQ transform: (B0,I10,P0) -> 17 PCI->APIC IRQ transform: (B0,I11,P0) -> 17 PCI->APIC IRQ transform: (B0,I14,P0) -> 18 PCI->APIC IRQ transform: (B1,I0,P0) -> 16 PCI->APIC IRQ transform: (B2,I0,P0) -> 16 PCI->APIC IRQ transform: (B2,I1,P0) -> 17 PCI->APIC IRQ transform: (B2,I2,P0) -> 18 PCI: Disabling Via external APIC routing Linux NET4.0 for Linux 2.4 i2c-core.o: adapter MAVEN:fb0 on i2c-matroxfb registered as adapter 2. usb.c: registered new driver hub uhci.c: USB UHCI at I/O 0xa000, IRQ 19 usb.c: new USB bus registered, assigned bus number 1 hub.c: USB hub found hub.c: 2 ports detected uhci.c: USB UHCI at I/O 0xa400, IRQ 19 usb.c: new USB bus registered, assigned bus number 2 hub.c: USB hub found hub.c: 2 ports detected uhci.c: Linus Torvalds, Johannes Erdfelt, Randy Dunlap, Georg Acher, Deti Fliegl, Thomas Sailer, Roman Weissgaerber uhci.c: USB Universal Host Controller Interface driver Initializing USB Mass Storage driver... usb.c: registered new driver usb-storage USB Mass Storage support registered. NET4: Linux TCP/IP 1.0 for NET4.0 hub.c: USB new device connect on bus1/1, assigned device number 2 usb_control/bulk_msg: timeout usb.c: USB device not accepting new address=2 (error=-110) hub.c: USB new device connect on bus1/1, assigned device number 3 reiserfs: checking transaction log (device 03:0a) ... Using r5 hash to sort names ReiserFS version 3.6.25 reiserfs: checking transaction log (device 21:04) ... Using r5 hash to sort names ReiserFS version 3.6.25 usb_control/bulk_msg: timeout usb.c: USB device not accepting new address=3 (error=-110) reiserfs: checking transaction log (device 22:03) ... Using r5 hash to sort names CPU0 CPU1 0: 4964 8776IO-APIC-edge timer 1: 33 34IO-APIC-edge keyboard 2: 0 0 XT-PIC cascade 8:
[PATCH] interrupt problem with MPS 1.4 / not with MPS 1.1 ?
> On Fri, Jun 01, 2001 at 04:42:40PM -0400, Jeff Garzik wrote: > > Does this patch fix things for you, such that MPS 1.1 and MPS 1.4 both > > work? > > No, I'm afraid it doesn't :-( > > Here are the dmesg (with some info cut out for brevity), the > /proc/interrupts and the lspci -vvvxxx from a 2.4.5-ac6 kernel with this > patch. I see in the dmesg the patch is active, but still I get: Thanks for testing. Ok, how about this one? This is a more simple version of the logic presented, which should give you the value that Manfred asked you plug in manually. -- Jeff Garzik | Disbelief, that's why you fail. Building 1024| MandrakeSoft | diff -urN linux-2.4.5/drivers/pci/quirks.c linux.viairq/drivers/pci/quirks.c --- linux-2.4.5/drivers/pci/quirks.cSat May 19 20:43:06 2001 +++ linux.viairq/drivers/pci/quirks.c Sat Jun 2 03:38:48 2001 @@ -17,6 +17,7 @@ #include #include #include +#include #undef DEBUG @@ -267,6 +268,8 @@ /* * VIA 686A/B: If an IO-APIC is active, we need to route all on-chip * devices to the external APIC. + * + * TODO: this should be done at IRQ assign time (pci_enable_device call) */ static void __init quirk_via_ioapic(struct pci_dev *dev) { @@ -277,6 +280,9 @@ else tmp = 0x1f; /* all known bits (4-0) routed to external APIC */ + printk(KERN_INFO "PCI: %sbling Via external APIC routing\n", + tmp ? "Disa" : "Ena"); + /* Offset 0x58: External APIC IRQ output control */ pci_write_config_byte (dev, 0x58, tmp); } @@ -285,6 +291,34 @@ /* + * Via 686A/B: The PCI_INTERRUPT_LINE register for the on-chip + * devices, USB0/1, AC97, MC97, and ACPI, has an unusual feature: + * when written, it makes an internal connection to the PIC. + * For these devices, this register is defined to be 4 bits wide. + * Normally this is fine. However for IO-APIC motherboards, or + * non-x86 architectures (yes Via exists on PPC among other places), + * we must mask the PCI_INTERRUPT_LINE value versus 0xf to get + * interrupts delivered properly. + * + * TODO: this should be done at IRQ assign time (pci_enable_device call) + */ +static void __init quirk_via_irqpic(struct pci_dev *dev) +{ + u8 irq, new_irq; + + pci_read_config_byte(dev, PCI_INTERRUPT_LINE, ); + new_irq = irq & 0xf; + if (new_irq != irq) { + printk(KERN_INFO "PCI: Via IRQ fixup for %s, from %d to %d\n", + dev->slot_name, irq, new_irq); + + udelay(15); + pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq); + } +} + + +/* * PIIX3 USB: We have to disable USB interrupts that are * hardwired to PIRQD# and may be shared with an * external device. @@ -372,6 +406,11 @@ #ifdef CONFIG_X86_IO_APIC { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686, quirk_via_ioapic }, #endif + + { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_2, + quirk_via_irqpic }, + { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_4, + quirk_via_irqpic }, + { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_5, + quirk_via_irqpic }, + { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_6, + quirk_via_irqpic }, { 0 } }; diff -urN linux-2.4.5/drivers/sound/via82cxxx_audio.c linux.viairq/drivers/sound/via82cxxx_audio.c --- linux-2.4.5/drivers/sound/via82cxxx_audio.c Tue May 1 19:05:00 2001 +++ linux.viairq/drivers/sound/via82cxxx_audio.cFri Jun 1 16:32:25 2001 @@ -3012,7 +3012,6 @@ { int rc; struct via_info *card; - u8 tmp; static int printed_version = 0; DPRINTK ("ENTER\n"); @@ -3107,19 +3106,6 @@ if (rc) { printk (KERN_ERR PFX "interrupt init failed, aborting\n"); goto err_out_have_proc; - } - - pci_read_config_byte (pdev, 0x3C, ); - if ((tmp & 0x0F) != pdev->irq) { - printk (KERN_WARNING PFX "IRQ fixup, 0x3C==0x%02X\n", tmp); - udelay (15); - tmp &= 0xF0; - tmp |= pdev->irq; - pci_write_config_byte (pdev, 0x3C, tmp); - DPRINTK ("new 0x3c==0x%02x\n", tmp); - } else { - DPRINTK ("IRQ reg 0x3c==0x%02x, irq==%d\n", - tmp, tmp & 0x0F); } printk (KERN_INFO PFX "board #%d at 0x%04lX, IRQ %d\n",
Re: [PATCH] interrupt problem with MPS 1.4 / not with MPS 1.1 ?
On Fri, Jun 01, 2001 at 04:42:40PM -0400, Jeff Garzik wrote: > Does this patch fix things for you, such that MPS 1.1 and MPS 1.4 both > work? No, I'm afraid it doesn't :-( Here are the dmesg (with some info cut out for brevity), the /proc/interrupts and the lspci -vvvxxx from a 2.4.5-ac6 kernel with this patch. I see in the dmesg the patch is active, but still I get: usb.c: registered new driver hub usb.c: new USB bus registered, assigned bus number 1 usb.c: new USB bus registered, assigned bus number 2 usb.c: registered new driver usb-storage usb_control/bulk_msg: timeout usb.c: USB device not accepting new address=2 (error=-110) usb_control/bulk_msg: timeout usb.c: USB device not accepting new address=3 (error=-110) Good luck, Jurriaan D APIC at: 0xFEE0 Processor #0 Pentium(tm) Pro APIC version 17 Processor #1 Pentium(tm) Pro APIC version 17 I/O APIC #2 Version 17 at 0xFEC0. Processors: 2 Kernel command line: auto BOOT_IMAGE=SuSE-2.4.5ac6 ro root=2101 BOOT_FILE=/boot/prod/vmlinuz-245ac6 video=matrox:vesa:0x11E,fv:80,sgram Initializing CPU#0 Detected 703.169 MHz processor. Console: colour VGA+ 80x25 Calibrating delay loop... 1402.47 BogoMIPS Total of 2 processors activated (2808.21 BogoMIPS). ENABLING IO-APIC IRQs ...changing IO-APIC physical APIC ID to 2 ... ok. init IO_APIC IRQs IO-APIC (apicid-pin) 2-0, 2-5, 2-10, 2-11, 2-15, 2-20, 2-21, 2-22, 2-23 not connected. ..TIMER: vector=49 pin1=2 pin2=0 number of MP IRQ sources: 22. number of IO-APIC #2 registers: 24. testing the IO APIC... IO APIC #2.. register #00: 0200 ...: physical APIC id: 02 register #01: 00178011 ... : max redirection entries: 0017 ... : IO APIC version: 0011 WARNING: unexpected IO-APIC, please mail to [EMAIL PROTECTED] register #02: ... : arbitration: 00 IRQ redirection table: NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: 00 000 00 100 0 00000 01 003 03 000 0 01139 02 003 03 000 0 01131 03 003 03 000 0 01141 04 003 03 000 0 01149 05 000 00 100 0 00000 06 003 03 000 0 01151 07 003 03 000 0 01159 08 003 03 000 0 01161 09 003 03 000 0 01169 0a 000 00 100 0 00000 0b 000 00 100 0 00000 0c 003 03 000 0 01171 0d 003 03 000 0 01179 0e 003 03 000 0 01181 0f 000 00 100 0 00000 10 003 03 110 1 01189 11 003 03 110 1 01191 12 003 03 110 1 01199 13 003 03 110 1 011A1 14 000 00 100 0 00000 15 000 00 100 0 00000 16 000 00 100 0 00000 17 000 00 100 0 00000 IRQ to pin mappings: IRQ0 -> 0:2 IRQ1 -> 0:1 IRQ3 -> 0:3 IRQ4 -> 0:4 IRQ6 -> 0:6 IRQ7 -> 0:7 IRQ8 -> 0:8 IRQ9 -> 0:9 IRQ12 -> 0:12 IRQ13 -> 0:13 IRQ14 -> 0:14 IRQ16 -> 0:16 IRQ17 -> 0:17 IRQ18 -> 0:18 IRQ19 -> 0:19 done. Using local APIC timer interrupts. calibrating APIC timer ... . CPU clock speed is 703.0694 MHz. . host bus clock speed is 100.4384 MHz. cpu: 0, clocks: 1004384, slice: 334794 CPU0 cpu: 1, clocks: 1004384, slice: 334794 CPU1 checking TSC synchronization across CPUs: passed. mtrr: your CPUs had inconsistent fixed MTRR settings mtrr: your CPUs had inconsistent variable MTRR settings mtrr: probably your BIOS does not setup all CPUs PCI: PCI BIOS revision 2.10 entry at 0xfb3a0, last bus=2 PCI: Using configuration type 1 PCI: Probing PCI hardware Unknown bridge resource 0: assuming transparent Unknown bridge resource 2: assuming transparent PCI: Using IRQ router VIA [1106/0686] at 00:07.0 PCI->APIC IRQ transform: (B0,I7,P3) -> 19 PCI->APIC IRQ transform: (B0,I7,P3) -> 19 PCI->APIC IRQ transform: (B0,I10,P0) -> 17 PCI->APIC IRQ transform: (B0,I11,P0) -> 17 PCI->APIC IRQ transform: (B0,I14,P0) -> 18 PCI->APIC IRQ transform: (B1,I0,P0) -> 16 PCI->APIC IRQ transform: (B2,I0,P0) -> 16 PCI->APIC IRQ transform: (B2,I1,P0) -> 17 PCI->APIC IRQ transform: (B2,I2,P0) -> 18 PCI: Setting Via APIC control PCI: Via IRQ fixup for 00:07.2, from 5 to 19 PCI: Via IRQ fixup for 00:07.3, from 5 to 19 PCI: Via IRQ fixup for 00:07.4, from 0 to 3 Linux NET4.0 for Linux 2.4 i2c-core.o: adapter MAVEN:fb0 on i2c-matroxfb registered as adapter 2. usb.c: registered new driver hub uhci.c: USB UHCI at I/O 0xa000, IRQ 19 usb.c: new USB bus registered, assigned bus number 1 hub.c: USB hub found hub.c: 2 ports detected uhci.c: USB UHCI at I/O 0xa400, IRQ 19 usb.c: new USB bus registered, assigned bus number 2 hub.c: USB hub found
Re: [PATCH] interrupt problem with MPS 1.4 / not with MPS 1.1 ?
On Fri, Jun 01, 2001 at 04:42:40PM -0400, Jeff Garzik wrote: Does this patch fix things for you, such that MPS 1.1 and MPS 1.4 both work? No, I'm afraid it doesn't :-( Here are the dmesg (with some info cut out for brevity), the /proc/interrupts and the lspci -vvvxxx from a 2.4.5-ac6 kernel with this patch. I see in the dmesg the patch is active, but still I get: usb.c: registered new driver hub usb.c: new USB bus registered, assigned bus number 1 usb.c: new USB bus registered, assigned bus number 2 usb.c: registered new driver usb-storage usb_control/bulk_msg: timeout usb.c: USB device not accepting new address=2 (error=-110) usb_control/bulk_msg: timeout usb.c: USB device not accepting new address=3 (error=-110) Good luck, Jurriaan D APIC at: 0xFEE0 Processor #0 Pentium(tm) Pro APIC version 17 Processor #1 Pentium(tm) Pro APIC version 17 I/O APIC #2 Version 17 at 0xFEC0. Processors: 2 Kernel command line: auto BOOT_IMAGE=SuSE-2.4.5ac6 ro root=2101 BOOT_FILE=/boot/prod/vmlinuz-245ac6 video=matrox:vesa:0x11E,fv:80,sgram Initializing CPU#0 Detected 703.169 MHz processor. Console: colour VGA+ 80x25 Calibrating delay loop... 1402.47 BogoMIPS snip Total of 2 processors activated (2808.21 BogoMIPS). ENABLING IO-APIC IRQs ...changing IO-APIC physical APIC ID to 2 ... ok. init IO_APIC IRQs IO-APIC (apicid-pin) 2-0, 2-5, 2-10, 2-11, 2-15, 2-20, 2-21, 2-22, 2-23 not connected. ..TIMER: vector=49 pin1=2 pin2=0 number of MP IRQ sources: 22. number of IO-APIC #2 registers: 24. testing the IO APIC... IO APIC #2.. register #00: 0200 ...: physical APIC id: 02 register #01: 00178011 ... : max redirection entries: 0017 ... : IO APIC version: 0011 WARNING: unexpected IO-APIC, please mail to [EMAIL PROTECTED] register #02: ... : arbitration: 00 IRQ redirection table: NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: 00 000 00 100 0 00000 01 003 03 000 0 01139 02 003 03 000 0 01131 03 003 03 000 0 01141 04 003 03 000 0 01149 05 000 00 100 0 00000 06 003 03 000 0 01151 07 003 03 000 0 01159 08 003 03 000 0 01161 09 003 03 000 0 01169 0a 000 00 100 0 00000 0b 000 00 100 0 00000 0c 003 03 000 0 01171 0d 003 03 000 0 01179 0e 003 03 000 0 01181 0f 000 00 100 0 00000 10 003 03 110 1 01189 11 003 03 110 1 01191 12 003 03 110 1 01199 13 003 03 110 1 011A1 14 000 00 100 0 00000 15 000 00 100 0 00000 16 000 00 100 0 00000 17 000 00 100 0 00000 IRQ to pin mappings: IRQ0 - 0:2 IRQ1 - 0:1 IRQ3 - 0:3 IRQ4 - 0:4 IRQ6 - 0:6 IRQ7 - 0:7 IRQ8 - 0:8 IRQ9 - 0:9 IRQ12 - 0:12 IRQ13 - 0:13 IRQ14 - 0:14 IRQ16 - 0:16 IRQ17 - 0:17 IRQ18 - 0:18 IRQ19 - 0:19 done. Using local APIC timer interrupts. calibrating APIC timer ... . CPU clock speed is 703.0694 MHz. . host bus clock speed is 100.4384 MHz. cpu: 0, clocks: 1004384, slice: 334794 CPU0T0:1004384,T1:669584,D:6,S:334794,C:1004384 cpu: 1, clocks: 1004384, slice: 334794 CPU1T0:1004384,T1:334784,D:12,S:334794,C:1004384 checking TSC synchronization across CPUs: passed. mtrr: your CPUs had inconsistent fixed MTRR settings mtrr: your CPUs had inconsistent variable MTRR settings mtrr: probably your BIOS does not setup all CPUs PCI: PCI BIOS revision 2.10 entry at 0xfb3a0, last bus=2 PCI: Using configuration type 1 PCI: Probing PCI hardware Unknown bridge resource 0: assuming transparent Unknown bridge resource 2: assuming transparent PCI: Using IRQ router VIA [1106/0686] at 00:07.0 PCI-APIC IRQ transform: (B0,I7,P3) - 19 PCI-APIC IRQ transform: (B0,I7,P3) - 19 PCI-APIC IRQ transform: (B0,I10,P0) - 17 PCI-APIC IRQ transform: (B0,I11,P0) - 17 PCI-APIC IRQ transform: (B0,I14,P0) - 18 PCI-APIC IRQ transform: (B1,I0,P0) - 16 PCI-APIC IRQ transform: (B2,I0,P0) - 16 PCI-APIC IRQ transform: (B2,I1,P0) - 17 PCI-APIC IRQ transform: (B2,I2,P0) - 18 PCI: Setting Via APIC control PCI: Via IRQ fixup for 00:07.2, from 5 to 19 PCI: Via IRQ fixup for 00:07.3, from 5 to 19 PCI: Via IRQ fixup for 00:07.4, from 0 to 3 Linux NET4.0 for Linux 2.4 snip i2c-core.o: adapter MAVEN:fb0 on i2c-matroxfb registered as adapter 2. usb.c: registered new driver hub uhci.c: USB UHCI at I/O 0xa000, IRQ 19 usb.c: new USB bus registered, assigned bus number 1 hub.c: USB hub found hub.c: 2 ports detected uhci.c: USB UHCI at I/O 0xa400, IRQ 19 usb.c: new USB
[PATCH] interrupt problem with MPS 1.4 / not with MPS 1.1 ?
On Fri, Jun 01, 2001 at 04:42:40PM -0400, Jeff Garzik wrote: Does this patch fix things for you, such that MPS 1.1 and MPS 1.4 both work? No, I'm afraid it doesn't :-( Here are the dmesg (with some info cut out for brevity), the /proc/interrupts and the lspci -vvvxxx from a 2.4.5-ac6 kernel with this patch. I see in the dmesg the patch is active, but still I get: Thanks for testing. Ok, how about this one? This is a more simple version of the logic presented, which should give you the value that Manfred asked you plug in manually. -- Jeff Garzik | Disbelief, that's why you fail. Building 1024| MandrakeSoft | diff -urN linux-2.4.5/drivers/pci/quirks.c linux.viairq/drivers/pci/quirks.c --- linux-2.4.5/drivers/pci/quirks.cSat May 19 20:43:06 2001 +++ linux.viairq/drivers/pci/quirks.c Sat Jun 2 03:38:48 2001 @@ -17,6 +17,7 @@ #include linux/kernel.h #include linux/pci.h #include linux/init.h +#include linux/delay.h #undef DEBUG @@ -267,6 +268,8 @@ /* * VIA 686A/B: If an IO-APIC is active, we need to route all on-chip * devices to the external APIC. + * + * TODO: this should be done at IRQ assign time (pci_enable_device call) */ static void __init quirk_via_ioapic(struct pci_dev *dev) { @@ -277,6 +280,9 @@ else tmp = 0x1f; /* all known bits (4-0) routed to external APIC */ + printk(KERN_INFO PCI: %sbling Via external APIC routing\n, + tmp ? Disa : Ena); + /* Offset 0x58: External APIC IRQ output control */ pci_write_config_byte (dev, 0x58, tmp); } @@ -285,6 +291,34 @@ /* + * Via 686A/B: The PCI_INTERRUPT_LINE register for the on-chip + * devices, USB0/1, AC97, MC97, and ACPI, has an unusual feature: + * when written, it makes an internal connection to the PIC. + * For these devices, this register is defined to be 4 bits wide. + * Normally this is fine. However for IO-APIC motherboards, or + * non-x86 architectures (yes Via exists on PPC among other places), + * we must mask the PCI_INTERRUPT_LINE value versus 0xf to get + * interrupts delivered properly. + * + * TODO: this should be done at IRQ assign time (pci_enable_device call) + */ +static void __init quirk_via_irqpic(struct pci_dev *dev) +{ + u8 irq, new_irq; + + pci_read_config_byte(dev, PCI_INTERRUPT_LINE, irq); + new_irq = irq 0xf; + if (new_irq != irq) { + printk(KERN_INFO PCI: Via IRQ fixup for %s, from %d to %d\n, + dev-slot_name, irq, new_irq); + + udelay(15); + pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq); + } +} + + +/* * PIIX3 USB: We have to disable USB interrupts that are * hardwired to PIRQD# and may be shared with an * external device. @@ -372,6 +406,11 @@ #ifdef CONFIG_X86_IO_APIC { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686, quirk_via_ioapic }, #endif + + { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_2, + quirk_via_irqpic }, + { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_4, + quirk_via_irqpic }, + { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_5, + quirk_via_irqpic }, + { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_6, + quirk_via_irqpic }, { 0 } }; diff -urN linux-2.4.5/drivers/sound/via82cxxx_audio.c linux.viairq/drivers/sound/via82cxxx_audio.c --- linux-2.4.5/drivers/sound/via82cxxx_audio.c Tue May 1 19:05:00 2001 +++ linux.viairq/drivers/sound/via82cxxx_audio.cFri Jun 1 16:32:25 2001 @@ -3012,7 +3012,6 @@ { int rc; struct via_info *card; - u8 tmp; static int printed_version = 0; DPRINTK (ENTER\n); @@ -3107,19 +3106,6 @@ if (rc) { printk (KERN_ERR PFX interrupt init failed, aborting\n); goto err_out_have_proc; - } - - pci_read_config_byte (pdev, 0x3C, tmp); - if ((tmp 0x0F) != pdev-irq) { - printk (KERN_WARNING PFX IRQ fixup, 0x3C==0x%02X\n, tmp); - udelay (15); - tmp = 0xF0; - tmp |= pdev-irq; - pci_write_config_byte (pdev, 0x3C, tmp); - DPRINTK (new 0x3c==0x%02x\n, tmp); - } else { - DPRINTK (IRQ reg 0x3c==0x%02x, irq==%d\n, - tmp, tmp 0x0F); } printk (KERN_INFO PFX board #%d at 0x%04lX, IRQ %d\n,
Re: [PATCH] interrupt problem with MPS 1.4 / not with MPS 1.1 ?
On Sat, Jun 02, 2001 at 03:41:08AM -0400, Jeff Garzik wrote: No, I'm afraid it doesn't :-( Thanks for testing. Ok, how about this one? This is a more simple version of the logic presented, which should give you the value that Manfred asked you plug in manually. No go, I'm afraid. I wonder why I do see the PCI: Disabling Via external APIC routing messages, but none of the PCI: Via IRQ fixup ... messages that I assume should have been printed Greetings, Jurriaan Total of 2 processors activated (2808.21 BogoMIPS). ENABLING IO-APIC IRQs ...changing IO-APIC physical APIC ID to 2 ... ok. init IO_APIC IRQs IO-APIC (apicid-pin) 2-0, 2-5, 2-10, 2-11, 2-15, 2-20, 2-21, 2-22, 2-23 not connected. ..TIMER: vector=49 pin1=2 pin2=0 number of MP IRQ sources: 22. number of IO-APIC #2 registers: 24. testing the IO APIC... IO APIC #2.. register #00: 0200 ...: physical APIC id: 02 register #01: 00178011 ... : max redirection entries: 0017 ... : IO APIC version: 0011 WARNING: unexpected IO-APIC, please mail to [EMAIL PROTECTED] register #02: ... : arbitration: 00 IRQ redirection table: NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: 00 000 00 100 0 00000 01 003 03 000 0 01139 02 003 03 000 0 01131 03 003 03 000 0 01141 04 003 03 000 0 01149 05 000 00 100 0 00000 06 003 03 000 0 01151 07 003 03 000 0 01159 08 003 03 000 0 01161 09 003 03 000 0 01169 0a 000 00 100 0 00000 0b 000 00 100 0 00000 0c 003 03 000 0 01171 0d 003 03 000 0 01179 0e 003 03 000 0 01181 0f 000 00 100 0 00000 10 003 03 110 1 01189 11 003 03 110 1 01191 12 003 03 110 1 01199 13 003 03 110 1 011A1 14 000 00 100 0 00000 15 000 00 100 0 00000 16 000 00 100 0 00000 17 000 00 100 0 00000 IRQ to pin mappings: IRQ0 - 0:2 IRQ1 - 0:1 IRQ3 - 0:3 IRQ4 - 0:4 IRQ6 - 0:6 IRQ7 - 0:7 IRQ8 - 0:8 IRQ9 - 0:9 IRQ12 - 0:12 IRQ13 - 0:13 IRQ14 - 0:14 IRQ16 - 0:16 IRQ17 - 0:17 IRQ18 - 0:18 IRQ19 - 0:19 done. Using local APIC timer interrupts. calibrating APIC timer ... . CPU clock speed is 703.1867 MHz. . host bus clock speed is 100.4552 MHz. cpu: 0, clocks: 1004552, slice: 334850 PCI: Probing PCI hardware Unknown bridge resource 0: assuming transparent Unknown bridge resource 2: assuming transparent PCI: Using IRQ router VIA [1106/0686] at 00:07.0 PCI-APIC IRQ transform: (B0,I7,P3) - 19 PCI-APIC IRQ transform: (B0,I7,P3) - 19 PCI-APIC IRQ transform: (B0,I10,P0) - 17 PCI-APIC IRQ transform: (B0,I11,P0) - 17 PCI-APIC IRQ transform: (B0,I14,P0) - 18 PCI-APIC IRQ transform: (B1,I0,P0) - 16 PCI-APIC IRQ transform: (B2,I0,P0) - 16 PCI-APIC IRQ transform: (B2,I1,P0) - 17 PCI-APIC IRQ transform: (B2,I2,P0) - 18 PCI: Disabling Via external APIC routing Linux NET4.0 for Linux 2.4 i2c-core.o: adapter MAVEN:fb0 on i2c-matroxfb registered as adapter 2. usb.c: registered new driver hub uhci.c: USB UHCI at I/O 0xa000, IRQ 19 usb.c: new USB bus registered, assigned bus number 1 hub.c: USB hub found hub.c: 2 ports detected uhci.c: USB UHCI at I/O 0xa400, IRQ 19 usb.c: new USB bus registered, assigned bus number 2 hub.c: USB hub found hub.c: 2 ports detected uhci.c: Linus Torvalds, Johannes Erdfelt, Randy Dunlap, Georg Acher, Deti Fliegl, Thomas Sailer, Roman Weissgaerber uhci.c: USB Universal Host Controller Interface driver Initializing USB Mass Storage driver... usb.c: registered new driver usb-storage USB Mass Storage support registered. NET4: Linux TCP/IP 1.0 for NET4.0 hub.c: USB new device connect on bus1/1, assigned device number 2 usb_control/bulk_msg: timeout usb.c: USB device not accepting new address=2 (error=-110) hub.c: USB new device connect on bus1/1, assigned device number 3 reiserfs: checking transaction log (device 03:0a) ... Using r5 hash to sort names ReiserFS version 3.6.25 reiserfs: checking transaction log (device 21:04) ... Using r5 hash to sort names ReiserFS version 3.6.25 usb_control/bulk_msg: timeout usb.c: USB device not accepting new address=3 (error=-110) reiserfs: checking transaction log (device 22:03) ... Using r5 hash to sort names CPU0 CPU1 0: 4964 8776IO-APIC-edge timer 1: 33 34IO-APIC-edge keyboard 2: 0 0 XT-PIC cascade 8: 2 0IO-APIC-edge rtc 14:
[PATCH] Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
Does this patch fix things for you, such that MPS 1.1 and MPS 1.4 both work? -- Jeff Garzik | Disbelief, that's why you fail. Building 1024| MandrakeSoft | diff -urN linux-2.4.5/drivers/pci/quirks.c linux.viairq/drivers/pci/quirks.c --- linux-2.4.5/drivers/pci/quirks.cSat May 19 20:43:06 2001 +++ linux.viairq/drivers/pci/quirks.c Fri Jun 1 16:33:21 2001 @@ -17,6 +17,7 @@ #include #include #include +#include #undef DEBUG @@ -267,6 +268,8 @@ /* * VIA 686A/B: If an IO-APIC is active, we need to route all on-chip * devices to the external APIC. + * + * TODO: this should be done at IRQ assign time (pci_enable_device call) */ static void __init quirk_via_ioapic(struct pci_dev *dev) { @@ -277,6 +280,8 @@ else tmp = 0x1f; /* all known bits (4-0) routed to external APIC */ + printk(KERN_INFO "PCI: Setting Via APIC control\n"); + /* Offset 0x58: External APIC IRQ output control */ pci_write_config_byte (dev, 0x58, tmp); } @@ -285,6 +290,35 @@ /* + * Via 686A/B: The PCI_INTERRUPT_LINE register for the on-chip + * devices, USB0/1, AC97, MC97, and ACPI, has an unusual feature: + * when written, it makes an internal connection to the PIC. + * For these devices, this register is defined to be 4 bits wide. + * Normally this is fine. However for IO-APIC motherboards, or + * non-x86 architectures (yes Via exists on PPC among other places), + * we must mask the PCI_INTERRUPT_LINE value versus 0xf to get + * interrupts delivered properly. + * + * TODO: this should be done at IRQ assign time (pci_enable_device call) + */ +static void __init quirk_via_irqpic(struct pci_dev *dev) +{ + u8 tmp; + + pci_read_config_byte(dev, PCI_INTERRUPT_LINE, ); +if ((tmp & 0x0F) != dev->irq) { + printk(KERN_INFO "PCI: Via IRQ fixup for %s, from %d to %d\n", + dev->slot_name, tmp, (tmp & 0xF0) | dev->irq); +udelay (15); + +tmp &= 0xF0; +tmp |= dev->irq; + pci_write_config_byte(dev, PCI_INTERRUPT_LINE, tmp); + } +} + + +/* * PIIX3 USB: We have to disable USB interrupts that are * hardwired to PIRQD# and may be shared with an * external device. @@ -372,6 +406,11 @@ #ifdef CONFIG_X86_IO_APIC { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686, quirk_via_ioapic }, #endif + + { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_2, + quirk_via_irqpic }, + { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_4, + quirk_via_irqpic }, + { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_5, + quirk_via_irqpic }, + { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_6, + quirk_via_irqpic }, { 0 } }; diff -urN linux-2.4.5/drivers/sound/via82cxxx_audio.c linux.viairq/drivers/sound/via82cxxx_audio.c --- linux-2.4.5/drivers/sound/via82cxxx_audio.c Tue May 1 19:05:00 2001 +++ linux.viairq/drivers/sound/via82cxxx_audio.cFri Jun 1 16:32:25 2001 @@ -3012,7 +3012,6 @@ { int rc; struct via_info *card; - u8 tmp; static int printed_version = 0; DPRINTK ("ENTER\n"); @@ -3107,19 +3106,6 @@ if (rc) { printk (KERN_ERR PFX "interrupt init failed, aborting\n"); goto err_out_have_proc; - } - - pci_read_config_byte (pdev, 0x3C, ); - if ((tmp & 0x0F) != pdev->irq) { - printk (KERN_WARNING PFX "IRQ fixup, 0x3C==0x%02X\n", tmp); - udelay (15); - tmp &= 0xF0; - tmp |= pdev->irq; - pci_write_config_byte (pdev, 0x3C, tmp); - DPRINTK ("new 0x3c==0x%02x\n", tmp); - } else { - DPRINTK ("IRQ reg 0x3c==0x%02x, irq==%d\n", - tmp, tmp & 0x0F); } printk (KERN_INFO PFX "board #%d at 0x%04lX, IRQ %d\n",
Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
On Fri, Jun 01, 2001 at 07:28:33PM +0200, Manfred Spraul wrote: > [EMAIL PROTECTED] wrote: > > > > :setpci -s 00:07.2 INTERRUPT_LINE=15 > > :lspci -vx -s 00:07.2 > > 00:07.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 16) (prog-if 00 >[UHCI]) > > Subsystem: Unknown device 0925:1234 > > Flags: bus master, medium devsel, latency 32, IRQ 19 > > I/O ports at a000 [size=32] > > Capabilities: [80] Power Management version 2 > > 30: 00 00 00 00 80 00 00 00 00 00 00 00 15 04 00 > > :setpci -s 00:07.2 INTERRUPT_LINE=19 > > :lspci -vx -s 00:07.2 > > 00:07.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 16) (prog-if 00 >[UHCI]) > > Subsystem: Unknown device 0925:1234 > > Flags: bus master, medium devsel, latency 32, IRQ 19 > > I/O ports at a000 [size=32] > > Capabilities: [80] Power Management version 2 > > 30: 00 00 00 00 80 00 00 00 00 00 00 00 19 04 00 00 > > > > So that is correct. I'll attach all the information from the MPS 1.4 > > reboot, in which 00:07.2 happily points at 05, while everything else > > thinks it's at 19. > > > > Could you compile uhci as a module, set the configuration to MPS1.4 and > find out with which interrupt line setting it works. > I'd try both > > setpci -s 00:07.2 INTERRUPT_LINE=13 no change, still this in /var/log/messages: Jun 1 20:57:48 middle kernel: uhci.c: USB Universal Host Controller Interface driver Jun 1 20:57:48 middle kernel: hub.c: USB new device connect on bus1/1, assigned device number 2 Jun 1 20:57:51 middle kernel: usb_control/bulk_msg: timeout Jun 1 20:57:51 middle kernel: usb.c: USB device not accepting new address=2 (error=-110) Jun 1 20:57:51 middle kernel: hub.c: USB new device connect on bus1/1, assigned device number 3 Jun 1 20:57:54 middle kernel: usb_control/bulk_msg: timeout Jun 1 20:57:54 middle kernel: usb.c: USB device not accepting new address=3 (error=-110) > setpci -s 00:07.2 INTERRUPT_LINE=3 > [even if 13 works, please try 03 as well. 13 is hexadecimal==19] Bingo!! Jun 1 20:59:34 middle kernel: Type: Direct-Access ANSI SCSI revision: 02 Jun 1 20:59:34 middle kernel: Attached scsi removable disk sda at scsi3, channel 0, id 0, lun 0 Jun 1 20:59:34 middle kernel: sda : READ CAPACITY failed. Jun 1 20:59:34 middle kernel: sda : status = 1, message = 00, host = 0, driver = 08 Jun 1 20:59:34 middle kernel: sda : extended sense code = 2 Jun 1 20:59:34 middle kernel: sda : block size assumed to be 512 bytes, disk size 1GB. Jun 1 20:59:34 middle kernel: sda: I/O error: dev 08:00, sector 0 Jun 1 20:59:34 middle kernel: unable to read partition table Jun 1 20:59:34 middle kernel: WARNING: USB Mass Storage data integrity not assured Jun 1 20:59:34 middle kernel: USB Mass Storage device found at 2 > > The via ac97 sound driver contains an irq fixup for this problem. Either > a similar fixup is necessary in the uhci driver, or the fixup from the > ac97 driver could be moved to the pci-quirks and applied to all devices > in the southbridge. > Just to be sure, the lspci -vvvxxx reading of 07.2 after this setpci -s 00:07.2 INTERRUPT_LINE=3 with MPS=1.4 in the bios: 00:07.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 16) (prog-if 00 [UHCI]) Subsystem: Unknown device 0925:1234 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR- http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
Manfred Spraul wrote: > Could you compile uhci as a module, set the configuration to MPS1.4 and > find out with which interrupt line setting it works. > I'd try both > > setpci -s 00:07.2 INTERRUPT_LINE=13 > setpci -s 00:07.2 INTERRUPT_LINE=3 > [even if 13 works, please try 03 as well. 13 is hexadecimal==19] > > The via ac97 sound driver contains an irq fixup for this problem. Either I am not sure this fixup is necessary, though IIRC it did solve some problems. Since this latest round of Via fixups, I would like to remove that little change in via audio, and see it anyone complains. The 686A and 686B docs list no irq after 14. Adrian Cox has said that setting the PCI intr line value actually makes a connection on the PIC, instead of just being a scratchpad register like it is normally. Adrian said the same thing about the USB IRQ, and I presume the other internal irqs (like ACPI) listed for register 0x58 apply as well. -- Jeff Garzik | Disbelief, that's why you fail. Building 1024| MandrakeSoft | - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
[EMAIL PROTECTED] wrote: > > :setpci -s 00:07.2 INTERRUPT_LINE=15 > :lspci -vx -s 00:07.2 > 00:07.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 16) (prog-if 00 [UHCI]) > Subsystem: Unknown device 0925:1234 > Flags: bus master, medium devsel, latency 32, IRQ 19 > I/O ports at a000 [size=32] > Capabilities: [80] Power Management version 2 > 30: 00 00 00 00 80 00 00 00 00 00 00 00 15 04 00 > :setpci -s 00:07.2 INTERRUPT_LINE=19 > :lspci -vx -s 00:07.2 > 00:07.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 16) (prog-if 00 [UHCI]) > Subsystem: Unknown device 0925:1234 > Flags: bus master, medium devsel, latency 32, IRQ 19 > I/O ports at a000 [size=32] > Capabilities: [80] Power Management version 2 > 30: 00 00 00 00 80 00 00 00 00 00 00 00 19 04 00 00 > > So that is correct. I'll attach all the information from the MPS 1.4 > reboot, in which 00:07.2 happily points at 05, while everything else > thinks it's at 19. > Could you compile uhci as a module, set the configuration to MPS1.4 and find out with which interrupt line setting it works. I'd try both setpci -s 00:07.2 INTERRUPT_LINE=13 setpci -s 00:07.2 INTERRUPT_LINE=3 [even if 13 works, please try 03 as well. 13 is hexadecimal==19] The via ac97 sound driver contains an irq fixup for this problem. Either a similar fixup is necessary in the uhci driver, or the fixup from the ac97 driver could be moved to the pci-quirks and applied to all devices in the southbridge. -- Manfred - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
On Thu, May 31, 2001 at 11:56:44AM -0700, Greg KH wrote: > Is the BIOS set to "Plug and Play supported OS" somewhere? If not, try > enabling it. > It wasn't set, but with it set there is no difference. Greetings, Jurriaan -- IF MICROSOFT BUILT CARS.. New seats would force everyone to have the same size butt. GNU/Linux 2.4.5-ac5 SMP/ReiserFS 2x1402 bogomips load av: 0.87 0.42 0.16 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
On Fri, Jun 01, 2001 at 01:20:23AM -0400, Jeff Garzik wrote: > Looking at the diff of "lspci -vvvxxx" between MPS1.1 and MPS1.4 (on the > same system) may be quite useful... maybe I missed the earlier "lspci > -vvvxxx", but I only see one here... Yep, I didn't want to keep sending long messages. Here goes: diff pci_11 pci_14: -- 4c4 < Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR-Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR- TAbort- SERR- Capabilities: [c0] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- 00: 06 11 91 06 06 00 10 a2 c4 00 00 06 00 08 00 00 10: 08 00 00 d0 00 00 00 00 00 00 00 00 00 00 00 00 20: 00 00 00 00 00 00 00 00 00 00 00 00 7b 14 04 a2 30: 00 00 00 00 a0 00 00 00 00 00 00 00 00 00 00 00 00:01.0 PCI bridge: VIA Technologies, Inc. VT82C598/694x [Apollo MVP3/Pro133x AGP] (prog-if 00 [Normal decode]) Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR- Reset- FastB2B- Capabilities: [80] Power Management version 2 Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- 00: 06 11 98 85 07 00 30 22 00 00 04 06 00 00 01 00 10: 00 00 00 00 00 00 00 00 00 01 01 00 f0 00 00 00 20: 00 d6 f0 d8 00 d4 f0 d5 00 00 00 00 00 00 00 00 30: 00 00 00 00 80 00 00 00 00 00 00 00 00 00 0c 00 00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 40) Subsystem: ABIT Computer Corp.: Unknown device Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- Reset- FastB2B- 00: 11 10 24 00 07 01 80 02 02 00 04 06 08 20 01 00 10: 00 00 00 00 00 00 00 00 00 02 02 20 91 91 80 22 20: 00 d9 f0 da f1 ff 01 00 00 00 00 00 00 00 00 00 30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 00:0a.0 SCSI storage controller: Symbios Logic Inc. (formerly NCR) 53c860 (rev 13) Subsystem: Symbios Logic Inc. (formerly NCR): Unknown device 1000 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- [disabled] [size=128K] Capabilities: [60] Power Management version 2 Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- 00: 03 11 04 00 05 00 30 02 03 00 80 01 08 78 00 00 10: 01 b8 00 00 01 bc 00 00 01 c0 00 00 01 c4 00 00 20: 01 c8 00 00 00 00 00 00 00 00 00 00 03 11 01 00 30: 00 00 00 00 60 00 00 00 00 00 00 00 0a 01 08 08 01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G400 AGP (rev 03) (prog-if 00 [VGA]) Subsystem: Matrox Graphics, Inc. Millennium G400 32Mb SGRAM Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- [disabled] [size=64K] Capabilities: [dc] Power Management version 2 Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Capabilities: [f0] AGP version 2.0 Status: RQ=31 SBA+ 64bit- FW- Rate=x1,x2 Command: RQ=31 SBA+ AGP+ 64bit- FW- Rate=x1 00: 2b 10 25 05 07 00 90 02 03 00 00 03 08 20 00 00 10: 08 00 00 d4 00 00 00 d6 00 00 00 d7 00 00 00 00 20: 00 00 00 00 00 00 00 00 00 00 00 00 2b 10 f8 19 30: 00 00 00 00 dc 00 00 00 00 00 00 00 0f 01 10 20 02:00.0 SCSI storage controller: Symbios Logic Inc. (formerly NCR) 53c875 (rev 04) Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR- [disabled] [size=64K] 00: 00 10 0f 00 47 00 00 02 04 00 00 01 08 48 00 00 10: 01 90 00 00 00 10 00 da 00 00 00 da 00 00 00 00 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30: 00 00 00 00 00 00 00 00 00 00 00 00 0f 01 11 40 02:01.0 SCSI storage controller: Symbios Logic Inc. (formerly NCR) 53c875 (rev 04) Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR- [disabled] [size=64K] 00: 00 10 0f 00 47 00 00 02 04 00 00 01 08 48 00 00 10: 01 94 00 00 00 20 00 da 00 30 00 da 00 00 00 00 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30: 00 00 00 00 00 00
Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
On Fri, Jun 01, 2001 at 01:20:23AM -0400, Jeff Garzik wrote: Looking at the diff of lspci -vvvxxx between MPS1.1 and MPS1.4 (on the same system) may be quite useful... maybe I missed the earlier lspci -vvvxxx, but I only see one here... Yep, I didn't want to keep sending long messages. Here goes: diff pci_11 pci_14: -- 4c4 Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium TAbort- TAbort- MAbort+ SERR- PERR+ --- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium TAbort- TAbort- MAbort+ SERR- PERR- I see, this isn't going to work. I'll insert the complete dump from mps 1.1 here, followed by the same from 1.4: 00:00.0 Host bridge: VIA Technologies, Inc. VT82C693A/694x [Apollo PRO133x] (rev c4) Subsystem: ABIT Computer Corp.: Unknown device a204 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium TAbort- TAbort- MAbort+ SERR- PERR+ Latency: 8 Region 0: Memory at d000 (32-bit, prefetchable) [size=64M] Capabilities: [a0] AGP version 2.0 Status: RQ=31 SBA+ 64bit- FW- Rate=x1,x2 Command: RQ=0 SBA- AGP- 64bit- FW- Rate=none Capabilities: [c0] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- 00: 06 11 91 06 06 00 10 a2 c4 00 00 06 00 08 00 00 10: 08 00 00 d0 00 00 00 00 00 00 00 00 00 00 00 00 20: 00 00 00 00 00 00 00 00 00 00 00 00 7b 14 04 a2 30: 00 00 00 00 a0 00 00 00 00 00 00 00 00 00 00 00 00:01.0 PCI bridge: VIA Technologies, Inc. VT82C598/694x [Apollo MVP3/Pro133x AGP] (prog-if 00 [Normal decode]) Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium TAbort- TAbort- MAbort+ SERR- PERR- Latency: 0 Bus: primary=00, secondary=01, subordinate=01, sec-latency=0 I/O behind bridge: f000-0fff Memory behind bridge: d600-d8ff Prefetchable memory behind bridge: d400-d5ff BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- Reset- FastB2B- Capabilities: [80] Power Management version 2 Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- 00: 06 11 98 85 07 00 30 22 00 00 04 06 00 00 01 00 10: 00 00 00 00 00 00 00 00 00 01 01 00 f0 00 00 00 20: 00 d6 f0 d8 00 d4 f0 d5 00 00 00 00 00 00 00 00 30: 00 00 00 00 80 00 00 00 00 00 00 00 00 00 0c 00 00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 40) Subsystem: ABIT Computer Corp.: Unknown device Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium TAbort- TAbort- MAbort- SERR- PERR- Latency: 0 Capabilities: [c0] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- 00: 06 11 86 06 87 00 10 02 40 00 01 06 00 00 80 00 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20: 00 00 00 00 00 00 00 00 00 00 00 00 7b 14 00 00 30: 00 00 00 00 c0 00 00 00 00 00 00 00 00 00 00 00 00:07.1 IDE interface: VIA Technologies, Inc. Bus Master IDE (rev 06) (prog-if 8a [Master SecP PriP]) Subsystem: VIA Technologies, Inc. Bus Master IDE Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium TAbort- TAbort- MAbort- SERR- PERR- Latency: 32 Region 4: I/O ports at a800 [size=16] Capabilities: [c0] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- 00: 06 11 71 05 07 00 90 02 06 8a 01 01 00 20 00 00 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20: 01 a8 00 00 00 00 00 00 00 00 00 00 06 11 71 05 30: 00 00 00 00 c0 00 00 00 00 00 00 00 ff 00 00 00 00:07.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 16) (prog-if 00 [UHCI]) Subsystem: Unknown device 0925:1234 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium TAbort- TAbort- MAbort- SERR- PERR- Latency: 32, cache line size 08 Interrupt: pin D routed to IRQ 5 Region 4: I/O ports at a000 [size=32] Capabilities: [80] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
On Thu, May 31, 2001 at 11:56:44AM -0700, Greg KH wrote: Is the BIOS set to Plug and Play supported OS somewhere? If not, try enabling it. It wasn't set, but with it set there is no difference. Greetings, Jurriaan -- IF MICROSOFT BUILT CARS.. New seats would force everyone to have the same size butt. GNU/Linux 2.4.5-ac5 SMP/ReiserFS 2x1402 bogomips load av: 0.87 0.42 0.16 - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
[EMAIL PROTECTED] wrote: :setpci -s 00:07.2 INTERRUPT_LINE=15 :lspci -vx -s 00:07.2 00:07.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 16) (prog-if 00 [UHCI]) Subsystem: Unknown device 0925:1234 Flags: bus master, medium devsel, latency 32, IRQ 19 I/O ports at a000 [size=32] Capabilities: [80] Power Management version 2 30: 00 00 00 00 80 00 00 00 00 00 00 00 15 04 00 :setpci -s 00:07.2 INTERRUPT_LINE=19 :lspci -vx -s 00:07.2 00:07.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 16) (prog-if 00 [UHCI]) Subsystem: Unknown device 0925:1234 Flags: bus master, medium devsel, latency 32, IRQ 19 I/O ports at a000 [size=32] Capabilities: [80] Power Management version 2 30: 00 00 00 00 80 00 00 00 00 00 00 00 19 04 00 00 So that is correct. I'll attach all the information from the MPS 1.4 reboot, in which 00:07.2 happily points at 05, while everything else thinks it's at 19. Could you compile uhci as a module, set the configuration to MPS1.4 and find out with which interrupt line setting it works. I'd try both setpci -s 00:07.2 INTERRUPT_LINE=13 setpci -s 00:07.2 INTERRUPT_LINE=3 [even if 13 works, please try 03 as well. 13 is hexadecimal==19] The via ac97 sound driver contains an irq fixup for this problem. Either a similar fixup is necessary in the uhci driver, or the fixup from the ac97 driver could be moved to the pci-quirks and applied to all devices in the southbridge. -- Manfred - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
Manfred Spraul wrote: Could you compile uhci as a module, set the configuration to MPS1.4 and find out with which interrupt line setting it works. I'd try both setpci -s 00:07.2 INTERRUPT_LINE=13 setpci -s 00:07.2 INTERRUPT_LINE=3 [even if 13 works, please try 03 as well. 13 is hexadecimal==19] The via ac97 sound driver contains an irq fixup for this problem. Either I am not sure this fixup is necessary, though IIRC it did solve some problems. Since this latest round of Via fixups, I would like to remove that little change in via audio, and see it anyone complains. The 686A and 686B docs list no irq after 14. Adrian Cox has said that setting the PCI intr line value actually makes a connection on the PIC, instead of just being a scratchpad register like it is normally. Adrian said the same thing about the USB IRQ, and I presume the other internal irqs (like ACPI) listed for register 0x58 apply as well. -- Jeff Garzik | Disbelief, that's why you fail. Building 1024| MandrakeSoft | - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
On Fri, Jun 01, 2001 at 07:28:33PM +0200, Manfred Spraul wrote: [EMAIL PROTECTED] wrote: :setpci -s 00:07.2 INTERRUPT_LINE=15 :lspci -vx -s 00:07.2 00:07.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 16) (prog-if 00 [UHCI]) Subsystem: Unknown device 0925:1234 Flags: bus master, medium devsel, latency 32, IRQ 19 I/O ports at a000 [size=32] Capabilities: [80] Power Management version 2 30: 00 00 00 00 80 00 00 00 00 00 00 00 15 04 00 :setpci -s 00:07.2 INTERRUPT_LINE=19 :lspci -vx -s 00:07.2 00:07.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 16) (prog-if 00 [UHCI]) Subsystem: Unknown device 0925:1234 Flags: bus master, medium devsel, latency 32, IRQ 19 I/O ports at a000 [size=32] Capabilities: [80] Power Management version 2 30: 00 00 00 00 80 00 00 00 00 00 00 00 19 04 00 00 So that is correct. I'll attach all the information from the MPS 1.4 reboot, in which 00:07.2 happily points at 05, while everything else thinks it's at 19. Could you compile uhci as a module, set the configuration to MPS1.4 and find out with which interrupt line setting it works. I'd try both setpci -s 00:07.2 INTERRUPT_LINE=13 no change, still this in /var/log/messages: Jun 1 20:57:48 middle kernel: uhci.c: USB Universal Host Controller Interface driver Jun 1 20:57:48 middle kernel: hub.c: USB new device connect on bus1/1, assigned device number 2 Jun 1 20:57:51 middle kernel: usb_control/bulk_msg: timeout Jun 1 20:57:51 middle kernel: usb.c: USB device not accepting new address=2 (error=-110) Jun 1 20:57:51 middle kernel: hub.c: USB new device connect on bus1/1, assigned device number 3 Jun 1 20:57:54 middle kernel: usb_control/bulk_msg: timeout Jun 1 20:57:54 middle kernel: usb.c: USB device not accepting new address=3 (error=-110) setpci -s 00:07.2 INTERRUPT_LINE=3 [even if 13 works, please try 03 as well. 13 is hexadecimal==19] Bingo!! Jun 1 20:59:34 middle kernel: Type: Direct-Access ANSI SCSI revision: 02 Jun 1 20:59:34 middle kernel: Attached scsi removable disk sda at scsi3, channel 0, id 0, lun 0 Jun 1 20:59:34 middle kernel: sda : READ CAPACITY failed. Jun 1 20:59:34 middle kernel: sda : status = 1, message = 00, host = 0, driver = 08 Jun 1 20:59:34 middle kernel: sda : extended sense code = 2 Jun 1 20:59:34 middle kernel: sda : block size assumed to be 512 bytes, disk size 1GB. Jun 1 20:59:34 middle kernel: sda: I/O error: dev 08:00, sector 0 Jun 1 20:59:34 middle kernel: unable to read partition table Jun 1 20:59:34 middle kernel: WARNING: USB Mass Storage data integrity not assured Jun 1 20:59:34 middle kernel: USB Mass Storage device found at 2 The via ac97 sound driver contains an irq fixup for this problem. Either a similar fixup is necessary in the uhci driver, or the fixup from the ac97 driver could be moved to the pci-quirks and applied to all devices in the southbridge. Just to be sure, the lspci -vvvxxx reading of 07.2 after this setpci -s 00:07.2 INTERRUPT_LINE=3 with MPS=1.4 in the bios: 00:07.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 16) (prog-if 00 [UHCI]) Subsystem: Unknown device 0925:1234 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium TAbort- TAbort- MAbort- SERR- PERR- Latency: 32, cache line size 08 Interrupt: pin D routed to IRQ 19 Region 4: I/O ports at a000 [size=32] Capabilities: [80] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- 00: 06 11 38 30 07 00 10 02 16 00 03 0c 08 20 00 00 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20: 01 a0 00 00 00 00 00 00 00 00 00 00 25 09 34 12 30: 00 00 00 00 80 00 00 00 00 00 00 00 03 04 00 00 40: 00 10 03 00 02 00 32 e0 00 00 00 00 00 00 00 00 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 60: 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80: 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c0: 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 /proc/interrupts: CPU0 CPU1 0: 22004 24207IO-APIC-edge timer 1: 2073 2617IO-APIC-edge keyboard 2: 0 0 XT-PIC cascade 8: 2 0IO-APIC-edge rtc 14:240241IO-APIC-edge ide0 16:53420075342450 IO-APIC-level
[PATCH] Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
Does this patch fix things for you, such that MPS 1.1 and MPS 1.4 both work? -- Jeff Garzik | Disbelief, that's why you fail. Building 1024| MandrakeSoft | diff -urN linux-2.4.5/drivers/pci/quirks.c linux.viairq/drivers/pci/quirks.c --- linux-2.4.5/drivers/pci/quirks.cSat May 19 20:43:06 2001 +++ linux.viairq/drivers/pci/quirks.c Fri Jun 1 16:33:21 2001 @@ -17,6 +17,7 @@ #include linux/kernel.h #include linux/pci.h #include linux/init.h +#include linux/delay.h #undef DEBUG @@ -267,6 +268,8 @@ /* * VIA 686A/B: If an IO-APIC is active, we need to route all on-chip * devices to the external APIC. + * + * TODO: this should be done at IRQ assign time (pci_enable_device call) */ static void __init quirk_via_ioapic(struct pci_dev *dev) { @@ -277,6 +280,8 @@ else tmp = 0x1f; /* all known bits (4-0) routed to external APIC */ + printk(KERN_INFO PCI: Setting Via APIC control\n); + /* Offset 0x58: External APIC IRQ output control */ pci_write_config_byte (dev, 0x58, tmp); } @@ -285,6 +290,35 @@ /* + * Via 686A/B: The PCI_INTERRUPT_LINE register for the on-chip + * devices, USB0/1, AC97, MC97, and ACPI, has an unusual feature: + * when written, it makes an internal connection to the PIC. + * For these devices, this register is defined to be 4 bits wide. + * Normally this is fine. However for IO-APIC motherboards, or + * non-x86 architectures (yes Via exists on PPC among other places), + * we must mask the PCI_INTERRUPT_LINE value versus 0xf to get + * interrupts delivered properly. + * + * TODO: this should be done at IRQ assign time (pci_enable_device call) + */ +static void __init quirk_via_irqpic(struct pci_dev *dev) +{ + u8 tmp; + + pci_read_config_byte(dev, PCI_INTERRUPT_LINE, tmp); +if ((tmp 0x0F) != dev-irq) { + printk(KERN_INFO PCI: Via IRQ fixup for %s, from %d to %d\n, + dev-slot_name, tmp, (tmp 0xF0) | dev-irq); +udelay (15); + +tmp = 0xF0; +tmp |= dev-irq; + pci_write_config_byte(dev, PCI_INTERRUPT_LINE, tmp); + } +} + + +/* * PIIX3 USB: We have to disable USB interrupts that are * hardwired to PIRQD# and may be shared with an * external device. @@ -372,6 +406,11 @@ #ifdef CONFIG_X86_IO_APIC { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686, quirk_via_ioapic }, #endif + + { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_2, + quirk_via_irqpic }, + { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_4, + quirk_via_irqpic }, + { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_5, + quirk_via_irqpic }, + { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_6, + quirk_via_irqpic }, { 0 } }; diff -urN linux-2.4.5/drivers/sound/via82cxxx_audio.c linux.viairq/drivers/sound/via82cxxx_audio.c --- linux-2.4.5/drivers/sound/via82cxxx_audio.c Tue May 1 19:05:00 2001 +++ linux.viairq/drivers/sound/via82cxxx_audio.cFri Jun 1 16:32:25 2001 @@ -3012,7 +3012,6 @@ { int rc; struct via_info *card; - u8 tmp; static int printed_version = 0; DPRINTK (ENTER\n); @@ -3107,19 +3106,6 @@ if (rc) { printk (KERN_ERR PFX interrupt init failed, aborting\n); goto err_out_have_proc; - } - - pci_read_config_byte (pdev, 0x3C, tmp); - if ((tmp 0x0F) != pdev-irq) { - printk (KERN_WARNING PFX IRQ fixup, 0x3C==0x%02X\n, tmp); - udelay (15); - tmp = 0xF0; - tmp |= pdev-irq; - pci_write_config_byte (pdev, 0x3C, tmp); - DPRINTK (new 0x3c==0x%02x\n, tmp); - } else { - DPRINTK (IRQ reg 0x3c==0x%02x, irq==%d\n, - tmp, tmp 0x0F); } printk (KERN_INFO PFX board #%d at 0x%04lX, IRQ %d\n,
Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
Looking at the diff of "lspci -vvvxxx" between MPS1.1 and MPS1.4 (on the same system) may be quite useful... maybe I missed the earlier "lspci -vvvxxx", but I only see one here... -- Jeff Garzik | Disbelief, that's why you fail. Building 1024| MandrakeSoft | - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
On Thu, May 31, 2001 at 10:45:17PM +0200, Manfred Spraul wrote: > [EMAIL PROTECTED] wrote: > > > > 00:07.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 16) (prog-if 00 >[UHCI]) > > Subsystem: Unknown device 0925:1234 > > Flags: bus master, medium devsel, latency 32, IRQ 5 > > I/O ports at a000 [size=32] > > Capabilities: [80] Power Management version 2 > > 30: 00 00 00 00 80 00 00 00 00 00 00 00 05 04 00 00 > > > > 0x3X is at 5, not at 3. > > > You still run with MPS 1.1. > It should be 3 or 19 after you reboot with MPS 1.4. > > Could you please try the following commands as root, but just before > rebooting. It'll kill the USB controller. > > #setpci -s 00:07.2 INTERRUPT_LINE=15 > #lspci -vx -s 00:07.2 > <<< 0x3C should be 15 > #setpci -s 00:07.2 INTERRUPT_LINE=19 > #lspci -vx -s 00:07.2 > <<< 0x3C is now either 19 or 3 > :setpci -s 00:07.2 INTERRUPT_LINE=15 :lspci -vx -s 00:07.2 00:07.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 16) (prog-if 00 [UHCI]) Subsystem: Unknown device 0925:1234 Flags: bus master, medium devsel, latency 32, IRQ 19 I/O ports at a000 [size=32] Capabilities: [80] Power Management version 2 30: 00 00 00 00 80 00 00 00 00 00 00 00 15 04 00 00 :setpci -s 00:07.2 INTERRUPT_LINE=19 :lspci -vx -s 00:07.2 00:07.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 16) (prog-if 00 [UHCI]) Subsystem: Unknown device 0925:1234 Flags: bus master, medium devsel, latency 32, IRQ 19 I/O ports at a000 [size=32] Capabilities: [80] Power Management version 2 30: 00 00 00 00 80 00 00 00 00 00 00 00 19 04 00 00 So that is correct. I'll attach all the information from the MPS 1.4 reboot, in which 00:07.2 happily points at 05, while everything else thinks it's at 19. 0: 000f - 0010 (reserved) BIOS-e820: 0010 - 1fff (usable) BIOS-e820: 1fff - 1fff3000 (ACPI NVS) BIOS-e820: 1fff3000 - 2000 (ACPI data) BIOS-e820: fec0 - fec01000 (reserved) BIOS-e820: fee0 - fee01000 (reserved) BIOS-e820: - 0001 (reserved) found SMP MP-table at 000f5770 hm, page 000f5000 reserved twice. hm, page 000f6000 reserved twice. hm, page 000f1000 reserved twice. hm, page 000f2000 reserved twice. On node 0 totalpages: 131056 zone(0): 4096 pages. zone(1): 126960 pages. zone(2): 0 pages. Intel MultiProcessor Specification v1.4 Virtual Wire compatibility mode. OEM ID: OEM0 Product ID: PROD APIC at: 0xFEE0 Processor #0 Pentium(tm) Pro APIC version 17 Processor #1 Pentium(tm) Pro APIC version 17 I/O APIC #2 Version 17 at 0xFEC0. Processors: 2 Kernel command line: auto BOOT_IMAGE=SuSE-2.4.5ac5 ro root=2101 BOOT_FILE=/boot/prod/vmlinuz-245ac5 video=matrox:vesa:0x11E,fv:80,sgram Total of 2 processors activated (2808.21 BogoMIPS). ENABLING IO-APIC IRQs ...changing IO-APIC physical APIC ID to 2 ... ok. init IO_APIC IRQs IO-APIC (apicid-pin) 2-0, 2-5, 2-10, 2-11, 2-15, 2-20, 2-21, 2-22, 2-23 not connected. ..TIMER: vector=49 pin1=2 pin2=0 number of MP IRQ sources: 22. number of IO-APIC #2 registers: 24. testing the IO APIC... IO APIC #2.. register #00: 0200 ...: physical APIC id: 02 register #01: 00178011 ... : max redirection entries: 0017 ... : IO APIC version: 0011 WARNING: unexpected IO-APIC, please mail to [EMAIL PROTECTED] register #02: ... : arbitration: 00 IRQ redirection table: NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: 00 000 00 100 0 00000 01 003 03 000 0 01139 02 003 03 000 0 01131 03 003 03 000 0 01141 04 003 03 000 0 01149 05 000 00 100 0 00000 06 003 03 000 0 01151 07 003 03 000 0 01159 08 003 03 000 0 01161 09 003 03 000 0 01169 0a 000 00 100 0 00000 0b 000 00 100 0 00000 0c 003 03 000 0 01171 0d 003 03 000 0 01179 0e 003 03 000 0 01181 0f 000 00 100 0 00000 10 003 03 110 1 01189 11 003 03 110 1 01191 12 003 03 110 1 01199 13 003 03 110 1 011A1 14 000 00 100 0 00000 15 000 00 100 0 00000 16 000 00 100 0 00000 17 000 00 100 0 00000 IRQ to pin mappings: IRQ0 -> 0:2 IRQ1 -> 0:1 IRQ3 -> 0:3 IRQ4 -> 0:4 IRQ6 -> 0:6 IRQ7 -> 0:7 IRQ8 -> 0:8 IRQ9 -> 0:9 IRQ12 -> 0:12 IRQ13 -> 0:13 IRQ14 -> 0:14 IRQ16
Re: [lkml]Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
Manfred Spraul wrote: > > > > > I know that with MPS 1.4, the USB controller finds itself at an > > unshared interrupt 19. I can't reboot at the moment to check. > > > lspci -vxxx -s 00:07.0 > > the APIC sits in the southbridge. > the low 2 bits of offset 0x58 must be set [route USB IRQ to APIC], and > > lspci -vx -s 00:07.2 > > offset 0x3C must be set to 3 [19 & 15] > > There was some discussion about the same problem with the sound part of > the southbridge. If an IO-APIC is present, 2.4.5 automatically routes all Via IRQs to external APIC. See quirk_via_ioapic in drivers/pci/quirks.c. I have received reports that MPS1.1 works on SMP Via boards, while MPS1.4 kills it. -- Jeff Garzik | Disbelief, that's why you fail. Building 1024| MandrakeSoft | - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [lkml]Re: [lkml]Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
[EMAIL PROTECTED] wrote: > > 00:07.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 16) (prog-if 00 [UHCI]) > Subsystem: Unknown device 0925:1234 > Flags: bus master, medium devsel, latency 32, IRQ 5 > I/O ports at a000 [size=32] > Capabilities: [80] Power Management version 2 > 30: 00 00 00 00 80 00 00 00 00 00 00 00 05 04 00 00 > > 0x3X is at 5, not at 3. > You still run with MPS 1.1. It should be 3 or 19 after you reboot with MPS 1.4. Could you please try the following commands as root, but just before rebooting. It'll kill the USB controller. #setpci -s 00:07.2 INTERRUPT_LINE=15 #lspci -vx -s 00:07.2 <<< 0x3C should be 15 #setpci -s 00:07.2 INTERRUPT_LINE=19 #lspci -vx -s 00:07.2 <<< 0x3C is now either 19 or 3 -- Manfred - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [lkml]Re: [lkml]Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
On Thu, May 31, 2001 at 10:21:55PM +0200, Manfred Spraul wrote: > > > > I know that with MPS 1.4, the USB controller finds itself at an > > unshared interrupt 19. I can't reboot at the moment to check. > > > lspci -vxxx -s 00:07.0 > > the APIC sits in the southbridge. > the low 2 bits of offset 0x58 must be set [route USB IRQ to APIC], and > > lspci -vx -s 00:07.2 > > offset 0x3C must be set to 3 [19 & 15] > > There was some discussion about the same problem with the sound part of > the southbridge. > > What are the current values of these registers? > current, as in MPS 1.1: 00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 40) Subsystem: ABIT Computer Corp.: Unknown device Flags: bus master, stepping, medium devsel, latency 0 Capabilities: [c0] Power Management version 2 50: 02 76 04 00 00 f0 ab 50 1f 06 ff 08 00 00 00 00 I'd say the lower 2 bits at 0x58 are set. 00:07.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 16) (prog-if 00 [UHCI]) Subsystem: Unknown device 0925:1234 Flags: bus master, medium devsel, latency 32, IRQ 5 I/O ports at a000 [size=32] Capabilities: [80] Power Management version 2 30: 00 00 00 00 80 00 00 00 00 00 00 00 05 04 00 00 0x3X is at 5, not at 3. Greetings, Jurriaan -- Endora is where we are, and you need to know that describing this place is like dancing to no music. Peter Hedges - What's eating Gilbert Grape GNU/Linux 2.4.5-ac4 SMP/ReiserFS 2x1402 bogomips load av: 0.02 0.01 0.00 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [lkml]Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
> > I know that with MPS 1.4, the USB controller finds itself at an > unshared interrupt 19. I can't reboot at the moment to check. > lspci -vxxx -s 00:07.0 the APIC sits in the southbridge. the low 2 bits of offset 0x58 must be set [route USB IRQ to APIC], and lspci -vx -s 00:07.2 offset 0x3C must be set to 3 [19 & 15] There was some discussion about the same problem with the sound part of the southbridge. What are the current values of these registers? -- Manfred - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
On Thu, May 31, 2001 at 09:48:35PM +0200, [EMAIL PROTECTED] wrote: > On Thu, May 31, 2001 at 11:06:42AM -0700, Greg KH wrote: > > On Thu, May 31, 2001 at 08:39:08PM +0200, [EMAIL PROTECTED] wrote: > > > What information would be necessary to debug this? > > > > Which kernel version? > > > > greg k-h > > > 2.4.5-ac4, but I rebooted in 2.4.4 and it did the same. Is the BIOS set to "Plug and Play supported OS" somewhere? If not, try enabling it. Also the MPS 1.4 boot messages would be helpful :) thanks, greg k-h - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [lkml]Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
On Thu, May 31, 2001 at 11:06:42AM -0700, Greg KH wrote: > On Thu, May 31, 2001 at 08:39:08PM +0200, [EMAIL PROTECTED] wrote: > > What information would be necessary to debug this? > > Which kernel version? > > greg k-h > 2.4.5-ac4, but I rebooted in 2.4.4 and it did the same. I'll try and add some info here (from the bios= MPS 1.1 case!) I have the following expansion cards: Matrox G400 agp video-card ITI 4280 dual-UW scsi + fast ethernet card NCR860 ultra-scsi card Soundblaster Live! 5.1 card from dmesg: Total of 2 processors activated (2808.21 BogoMIPS). ENABLING IO-APIC IRQs ...changing IO-APIC physical APIC ID to 2 ... ok. init IO_APIC IRQs IO-APIC (apicid-pin) 2-0, 2-16, 2-17, 2-18, 2-19, 2-20, 2-21, 2-22, 2-23 not connected. ..TIMER: vector=49 pin1=2 pin2=0 number of MP IRQ sources: 16. number of IO-APIC #2 registers: 24. testing the IO APIC... IO APIC #2.. register #00: 0200 ...: physical APIC id: 02 register #01: 00178011 ... : max redirection entries: 0017 ... : IO APIC version: 0011 WARNING: unexpected IO-APIC, please mail to [EMAIL PROTECTED] register #02: ... : arbitration: 00 IRQ redirection table: NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: 00 000 00 100 0 00000 01 003 03 000 0 01139 02 003 03 000 0 01131 03 003 03 000 0 01141 04 003 03 000 0 01149 05 003 03 110 1 01151 06 003 03 000 0 01159 07 003 03 000 0 01161 08 003 03 000 0 01169 09 003 03 000 0 01171 0a 003 03 110 1 01179 0b 003 03 110 1 01181 0c 003 03 000 0 01189 0d 003 03 000 0 01191 0e 003 03 000 0 01199 0f 003 03 110 1 011A1 10 000 00 100 0 00000 11 000 00 100 0 00000 12 000 00 100 0 00000 13 000 00 100 0 00000 14 000 00 100 0 00000 15 000 00 100 0 00000 16 000 00 100 0 00000 17 000 00 100 0 00000 IRQ to pin mappings: IRQ0 -> 0:2 IRQ1 -> 0:1 IRQ3 -> 0:3 IRQ4 -> 0:4 IRQ5 -> 0:5 IRQ6 -> 0:6 IRQ7 -> 0:7 IRQ8 -> 0:8 IRQ9 -> 0:9 IRQ10 -> 0:10 IRQ11 -> 0:11 IRQ12 -> 0:12 IRQ13 -> 0:13 IRQ14 -> 0:14 IRQ15 -> 0:15 done. Using local APIC timer interrupts. calibrating APIC timer ... . CPU clock speed is 703.1338 MHz. . host bus clock speed is 100.4475 MHz. cpu: 0, clocks: 1004475, slice: 334825 CPU0 cpu: 1, clocks: 1004475, slice: 334825 CPU1 checking TSC synchronization across CPUs: passed. mtrr: your CPUs had inconsistent variable MTRR settings mtrr: probably your BIOS does not setup all CPUs PCI: PCI BIOS revision 2.10 entry at 0xfb3a0, last bus=2 PCI: Using configuration type 1 PCI: Probing PCI hardware Unknown bridge resource 0: assuming transparent Unknown bridge resource 2: assuming transparent PCI: Using IRQ router VIA [1106/0686] at 00:07.0 Linux NET4.0 for Linux 2.4 usb.c: registered new driver hub uhci.c: USB UHCI at I/O 0xa000, IRQ 5 usb.c: new USB bus registered, assigned bus number 1 hub.c: USB hub found hub.c: 2 ports detected uhci.c: USB UHCI at I/O 0xa400, IRQ 5 usb.c: new USB bus registered, assigned bus number 2 hub.c: USB hub found hub.c: 2 ports detected uhci.c: Linus Torvalds, Johannes Erdfelt, Randy Dunlap, Georg Acher, Deti Fliegl, Thomas Sailer, Roman Weissgaerber uhci.c: USB Universal Host Controller Interface driver Initializing USB Mass Storage driver... usb.c: registered new driver usb-storage USB Mass Storage support registered. NET4: Linux TCP/IP 1.0 for NET4.0 Freeing unused kernel memory: 248k freed hub.c: USB new device connect on bus1/1, assigned device number 2 scsi3 : SCSI emulation for USB Mass Storage devices Vendor: IOMEGAModel: ZIP 250 Rev: 61.T Type: Direct-Access ANSI SCSI revision: 02 Attached scsi removable disk sda at scsi3, channel 0, id 0, lun 0 sda : READ CAPACITY failed. sda : status = 1, message = 00, host = 0, driver = 08 sda : extended sense code = 2 sda : block size assumed to be 512 bytes, disk size 1GB. sda: I/O error: dev 08:00, sector 0 unable to read partition table WARNING: USB Mass Storage data integrity not assured USB Mass Storage device found at 2 Adding Swap: 1047776k swap-space (priority -1) from lspci: 00:00.0 Host bridge: VIA Technologies, Inc. VT82C693A/694x [Apollo PRO133x] (rev c4) Subsystem: ABIT Computer Corp.: Unknown device a204 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
On Thu, May 31, 2001 at 08:39:08PM +0200, [EMAIL PROTECTED] wrote: > What information would be necessary to debug this? Which kernel version? greg k-h - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
interrupt problem with MPS 1.4 / not with MPS 1.1 ?
Hardware: Abit VP6 (Via 694x) x86/SMP motherboard with USB controller If I set the bios for MPS 1.1, USB runs fine. If I set the bios for MPS 1.4, I get this: May 31 13:08:06 middle kernel: hub.c: USB new device connect on bus1/1, assigned device number 4 May 31 13:08:09 middle kernel: usb_control/bulk_msg: timeout May 31 13:08:09 middle kernel: usb.c: USB device not accepting new address=4 (error=-110) May 31 13:08:09 middle kernel: hub.c: USB new device connect on bus1/1, assigned device number 5 May 31 13:08:12 middle kernel: usb_control/bulk_msg: timeout May 31 13:08:12 middle kernel: usb.c: USB device not accepting new address=5 (error=-110) May 31 13:08:12 middle kernel: hub.c: USB new device connect on bus1/1, assigned device number 6 May 31 13:08:15 middle kernel: usb_control/bulk_msg: timeout May 31 13:08:15 middle kernel: usb.c: USB device not accepting new address=6 (error=-110) May 31 13:08:16 middle kernel: hub.c: USB new device connect on bus1/1, assigned device number 7 May 31 13:08:19 middle kernel: usb_control/bulk_msg: timeout May 31 13:08:19 middle kernel: usb.c: USB device not accepting new address=7 (error=-110) May 31 13:08:19 middle kernel: hub.c: USB new device connect on bus1/1, assigned device number 8 May 31 13:08:22 middle kernel: usb_control/bulk_msg: timeout May 31 13:08:22 middle kernel: usb.c: USB device not accepting new address=8 (error=-110) May 31 13:08:22 middle kernel: hub.c: USB new device connect on bus1/1, assigned device number 9 Now I understand this mail doesn't have all the necessary info, but my question is: What information would be necessary to debug this? dmesg /var/log/messages lspci -vv (or -x?) or more? Jurriaan -- BOFH excuse #57: Groundskeepers stole the root password GNU/Linux 2.4.5-ac4 SMP/ReiserFS 2x1402 bogomips load av: 0.41 0.11 0.03 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
interrupt problem with MPS 1.4 / not with MPS 1.1 ?
Hardware: Abit VP6 (Via 694x) x86/SMP motherboard with USB controller If I set the bios for MPS 1.1, USB runs fine. If I set the bios for MPS 1.4, I get this: May 31 13:08:06 middle kernel: hub.c: USB new device connect on bus1/1, assigned device number 4 May 31 13:08:09 middle kernel: usb_control/bulk_msg: timeout May 31 13:08:09 middle kernel: usb.c: USB device not accepting new address=4 (error=-110) May 31 13:08:09 middle kernel: hub.c: USB new device connect on bus1/1, assigned device number 5 May 31 13:08:12 middle kernel: usb_control/bulk_msg: timeout May 31 13:08:12 middle kernel: usb.c: USB device not accepting new address=5 (error=-110) May 31 13:08:12 middle kernel: hub.c: USB new device connect on bus1/1, assigned device number 6 May 31 13:08:15 middle kernel: usb_control/bulk_msg: timeout May 31 13:08:15 middle kernel: usb.c: USB device not accepting new address=6 (error=-110) May 31 13:08:16 middle kernel: hub.c: USB new device connect on bus1/1, assigned device number 7 May 31 13:08:19 middle kernel: usb_control/bulk_msg: timeout May 31 13:08:19 middle kernel: usb.c: USB device not accepting new address=7 (error=-110) May 31 13:08:19 middle kernel: hub.c: USB new device connect on bus1/1, assigned device number 8 May 31 13:08:22 middle kernel: usb_control/bulk_msg: timeout May 31 13:08:22 middle kernel: usb.c: USB device not accepting new address=8 (error=-110) May 31 13:08:22 middle kernel: hub.c: USB new device connect on bus1/1, assigned device number 9 Now I understand this mail doesn't have all the necessary info, but my question is: What information would be necessary to debug this? dmesg /var/log/messages lspci -vv (or -x?) or more? Jurriaan -- BOFH excuse #57: Groundskeepers stole the root password GNU/Linux 2.4.5-ac4 SMP/ReiserFS 2x1402 bogomips load av: 0.41 0.11 0.03 - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
On Thu, May 31, 2001 at 08:39:08PM +0200, [EMAIL PROTECTED] wrote: What information would be necessary to debug this? Which kernel version? greg k-h - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [lkml]Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
On Thu, May 31, 2001 at 11:06:42AM -0700, Greg KH wrote: On Thu, May 31, 2001 at 08:39:08PM +0200, [EMAIL PROTECTED] wrote: What information would be necessary to debug this? Which kernel version? greg k-h 2.4.5-ac4, but I rebooted in 2.4.4 and it did the same. I'll try and add some info here (from the bios= MPS 1.1 case!) I have the following expansion cards: Matrox G400 agp video-card ITI 4280 dual-UW scsi + fast ethernet card NCR860 ultra-scsi card Soundblaster Live! 5.1 card from dmesg: Total of 2 processors activated (2808.21 BogoMIPS). ENABLING IO-APIC IRQs ...changing IO-APIC physical APIC ID to 2 ... ok. init IO_APIC IRQs IO-APIC (apicid-pin) 2-0, 2-16, 2-17, 2-18, 2-19, 2-20, 2-21, 2-22, 2-23 not connected. ..TIMER: vector=49 pin1=2 pin2=0 number of MP IRQ sources: 16. number of IO-APIC #2 registers: 24. testing the IO APIC... IO APIC #2.. register #00: 0200 ...: physical APIC id: 02 register #01: 00178011 ... : max redirection entries: 0017 ... : IO APIC version: 0011 WARNING: unexpected IO-APIC, please mail to [EMAIL PROTECTED] register #02: ... : arbitration: 00 IRQ redirection table: NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: 00 000 00 100 0 00000 01 003 03 000 0 01139 02 003 03 000 0 01131 03 003 03 000 0 01141 04 003 03 000 0 01149 05 003 03 110 1 01151 06 003 03 000 0 01159 07 003 03 000 0 01161 08 003 03 000 0 01169 09 003 03 000 0 01171 0a 003 03 110 1 01179 0b 003 03 110 1 01181 0c 003 03 000 0 01189 0d 003 03 000 0 01191 0e 003 03 000 0 01199 0f 003 03 110 1 011A1 10 000 00 100 0 00000 11 000 00 100 0 00000 12 000 00 100 0 00000 13 000 00 100 0 00000 14 000 00 100 0 00000 15 000 00 100 0 00000 16 000 00 100 0 00000 17 000 00 100 0 00000 IRQ to pin mappings: IRQ0 - 0:2 IRQ1 - 0:1 IRQ3 - 0:3 IRQ4 - 0:4 IRQ5 - 0:5 IRQ6 - 0:6 IRQ7 - 0:7 IRQ8 - 0:8 IRQ9 - 0:9 IRQ10 - 0:10 IRQ11 - 0:11 IRQ12 - 0:12 IRQ13 - 0:13 IRQ14 - 0:14 IRQ15 - 0:15 done. Using local APIC timer interrupts. calibrating APIC timer ... . CPU clock speed is 703.1338 MHz. . host bus clock speed is 100.4475 MHz. cpu: 0, clocks: 1004475, slice: 334825 CPU0T0:1004464,T1:669632,D:7,S:334825,C:1004475 cpu: 1, clocks: 1004475, slice: 334825 CPU1T0:1004464,T1:334800,D:14,S:334825,C:1004475 checking TSC synchronization across CPUs: passed. mtrr: your CPUs had inconsistent variable MTRR settings mtrr: probably your BIOS does not setup all CPUs PCI: PCI BIOS revision 2.10 entry at 0xfb3a0, last bus=2 PCI: Using configuration type 1 PCI: Probing PCI hardware Unknown bridge resource 0: assuming transparent Unknown bridge resource 2: assuming transparent PCI: Using IRQ router VIA [1106/0686] at 00:07.0 Linux NET4.0 for Linux 2.4 usb.c: registered new driver hub uhci.c: USB UHCI at I/O 0xa000, IRQ 5 usb.c: new USB bus registered, assigned bus number 1 hub.c: USB hub found hub.c: 2 ports detected uhci.c: USB UHCI at I/O 0xa400, IRQ 5 usb.c: new USB bus registered, assigned bus number 2 hub.c: USB hub found hub.c: 2 ports detected uhci.c: Linus Torvalds, Johannes Erdfelt, Randy Dunlap, Georg Acher, Deti Fliegl, Thomas Sailer, Roman Weissgaerber uhci.c: USB Universal Host Controller Interface driver Initializing USB Mass Storage driver... usb.c: registered new driver usb-storage USB Mass Storage support registered. NET4: Linux TCP/IP 1.0 for NET4.0 Freeing unused kernel memory: 248k freed hub.c: USB new device connect on bus1/1, assigned device number 2 scsi3 : SCSI emulation for USB Mass Storage devices Vendor: IOMEGAModel: ZIP 250 Rev: 61.T Type: Direct-Access ANSI SCSI revision: 02 Attached scsi removable disk sda at scsi3, channel 0, id 0, lun 0 sda : READ CAPACITY failed. sda : status = 1, message = 00, host = 0, driver = 08 sda : extended sense code = 2 sda : block size assumed to be 512 bytes, disk size 1GB. sda: I/O error: dev 08:00, sector 0 unable to read partition table WARNING: USB Mass Storage data integrity not assured USB Mass Storage device found at 2 Adding Swap: 1047776k swap-space (priority -1) from lspci: 00:00.0 Host bridge: VIA Technologies, Inc. VT82C693A/694x [Apollo PRO133x] (rev c4) Subsystem: ABIT Computer Corp.: Unknown device a204 Control: I/O- Mem+ BusMaster+
Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
On Thu, May 31, 2001 at 09:48:35PM +0200, [EMAIL PROTECTED] wrote: On Thu, May 31, 2001 at 11:06:42AM -0700, Greg KH wrote: On Thu, May 31, 2001 at 08:39:08PM +0200, [EMAIL PROTECTED] wrote: What information would be necessary to debug this? Which kernel version? greg k-h 2.4.5-ac4, but I rebooted in 2.4.4 and it did the same. Is the BIOS set to Plug and Play supported OS somewhere? If not, try enabling it. Also the MPS 1.4 boot messages would be helpful :) thanks, greg k-h - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [lkml]Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
I know that with MPS 1.4, the USB controller finds itself at an unshared interrupt 19. I can't reboot at the moment to check. lspci -vxxx -s 00:07.0 the APIC sits in the southbridge. the low 2 bits of offset 0x58 must be set [route USB IRQ to APIC], and lspci -vx -s 00:07.2 offset 0x3C must be set to 3 [19 15] There was some discussion about the same problem with the sound part of the southbridge. What are the current values of these registers? -- Manfred - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [lkml]Re: [lkml]Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
On Thu, May 31, 2001 at 10:21:55PM +0200, Manfred Spraul wrote: I know that with MPS 1.4, the USB controller finds itself at an unshared interrupt 19. I can't reboot at the moment to check. lspci -vxxx -s 00:07.0 the APIC sits in the southbridge. the low 2 bits of offset 0x58 must be set [route USB IRQ to APIC], and lspci -vx -s 00:07.2 offset 0x3C must be set to 3 [19 15] There was some discussion about the same problem with the sound part of the southbridge. What are the current values of these registers? current, as in MPS 1.1: 00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 40) Subsystem: ABIT Computer Corp.: Unknown device Flags: bus master, stepping, medium devsel, latency 0 Capabilities: [c0] Power Management version 2 50: 02 76 04 00 00 f0 ab 50 1f 06 ff 08 00 00 00 00 I'd say the lower 2 bits at 0x58 are set. 00:07.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 16) (prog-if 00 [UHCI]) Subsystem: Unknown device 0925:1234 Flags: bus master, medium devsel, latency 32, IRQ 5 I/O ports at a000 [size=32] Capabilities: [80] Power Management version 2 30: 00 00 00 00 80 00 00 00 00 00 00 00 05 04 00 00 0x3X is at 5, not at 3. Greetings, Jurriaan -- Endora is where we are, and you need to know that describing this place is like dancing to no music. Peter Hedges - What's eating Gilbert Grape GNU/Linux 2.4.5-ac4 SMP/ReiserFS 2x1402 bogomips load av: 0.02 0.01 0.00 - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [lkml]Re: [lkml]Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
[EMAIL PROTECTED] wrote: 00:07.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 16) (prog-if 00 [UHCI]) Subsystem: Unknown device 0925:1234 Flags: bus master, medium devsel, latency 32, IRQ 5 I/O ports at a000 [size=32] Capabilities: [80] Power Management version 2 30: 00 00 00 00 80 00 00 00 00 00 00 00 05 04 00 00 0x3X is at 5, not at 3. You still run with MPS 1.1. It should be 3 or 19 after you reboot with MPS 1.4. Could you please try the following commands as root, but just before rebooting. It'll kill the USB controller. #setpci -s 00:07.2 INTERRUPT_LINE=15 #lspci -vx -s 00:07.2 0x3C should be 15 #setpci -s 00:07.2 INTERRUPT_LINE=19 #lspci -vx -s 00:07.2 0x3C is now either 19 or 3 -- Manfred - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [lkml]Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
Manfred Spraul wrote: I know that with MPS 1.4, the USB controller finds itself at an unshared interrupt 19. I can't reboot at the moment to check. lspci -vxxx -s 00:07.0 the APIC sits in the southbridge. the low 2 bits of offset 0x58 must be set [route USB IRQ to APIC], and lspci -vx -s 00:07.2 offset 0x3C must be set to 3 [19 15] There was some discussion about the same problem with the sound part of the southbridge. If an IO-APIC is present, 2.4.5 automatically routes all Via IRQs to external APIC. See quirk_via_ioapic in drivers/pci/quirks.c. I have received reports that MPS1.1 works on SMP Via boards, while MPS1.4 kills it. -- Jeff Garzik | Disbelief, that's why you fail. Building 1024| MandrakeSoft | - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
On Thu, May 31, 2001 at 10:45:17PM +0200, Manfred Spraul wrote: [EMAIL PROTECTED] wrote: 00:07.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 16) (prog-if 00 [UHCI]) Subsystem: Unknown device 0925:1234 Flags: bus master, medium devsel, latency 32, IRQ 5 I/O ports at a000 [size=32] Capabilities: [80] Power Management version 2 30: 00 00 00 00 80 00 00 00 00 00 00 00 05 04 00 00 0x3X is at 5, not at 3. You still run with MPS 1.1. It should be 3 or 19 after you reboot with MPS 1.4. Could you please try the following commands as root, but just before rebooting. It'll kill the USB controller. #setpci -s 00:07.2 INTERRUPT_LINE=15 #lspci -vx -s 00:07.2 0x3C should be 15 #setpci -s 00:07.2 INTERRUPT_LINE=19 #lspci -vx -s 00:07.2 0x3C is now either 19 or 3 :setpci -s 00:07.2 INTERRUPT_LINE=15 :lspci -vx -s 00:07.2 00:07.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 16) (prog-if 00 [UHCI]) Subsystem: Unknown device 0925:1234 Flags: bus master, medium devsel, latency 32, IRQ 19 I/O ports at a000 [size=32] Capabilities: [80] Power Management version 2 30: 00 00 00 00 80 00 00 00 00 00 00 00 15 04 00 00 :setpci -s 00:07.2 INTERRUPT_LINE=19 :lspci -vx -s 00:07.2 00:07.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 16) (prog-if 00 [UHCI]) Subsystem: Unknown device 0925:1234 Flags: bus master, medium devsel, latency 32, IRQ 19 I/O ports at a000 [size=32] Capabilities: [80] Power Management version 2 30: 00 00 00 00 80 00 00 00 00 00 00 00 19 04 00 00 So that is correct. I'll attach all the information from the MPS 1.4 reboot, in which 00:07.2 happily points at 05, while everything else thinks it's at 19. 0: 000f - 0010 (reserved) BIOS-e820: 0010 - 1fff (usable) BIOS-e820: 1fff - 1fff3000 (ACPI NVS) BIOS-e820: 1fff3000 - 2000 (ACPI data) BIOS-e820: fec0 - fec01000 (reserved) BIOS-e820: fee0 - fee01000 (reserved) BIOS-e820: - 0001 (reserved) found SMP MP-table at 000f5770 hm, page 000f5000 reserved twice. hm, page 000f6000 reserved twice. hm, page 000f1000 reserved twice. hm, page 000f2000 reserved twice. On node 0 totalpages: 131056 zone(0): 4096 pages. zone(1): 126960 pages. zone(2): 0 pages. Intel MultiProcessor Specification v1.4 Virtual Wire compatibility mode. OEM ID: OEM0 Product ID: PROD APIC at: 0xFEE0 Processor #0 Pentium(tm) Pro APIC version 17 Processor #1 Pentium(tm) Pro APIC version 17 I/O APIC #2 Version 17 at 0xFEC0. Processors: 2 Kernel command line: auto BOOT_IMAGE=SuSE-2.4.5ac5 ro root=2101 BOOT_FILE=/boot/prod/vmlinuz-245ac5 video=matrox:vesa:0x11E,fv:80,sgram Total of 2 processors activated (2808.21 BogoMIPS). ENABLING IO-APIC IRQs ...changing IO-APIC physical APIC ID to 2 ... ok. init IO_APIC IRQs IO-APIC (apicid-pin) 2-0, 2-5, 2-10, 2-11, 2-15, 2-20, 2-21, 2-22, 2-23 not connected. ..TIMER: vector=49 pin1=2 pin2=0 number of MP IRQ sources: 22. number of IO-APIC #2 registers: 24. testing the IO APIC... IO APIC #2.. register #00: 0200 ...: physical APIC id: 02 register #01: 00178011 ... : max redirection entries: 0017 ... : IO APIC version: 0011 WARNING: unexpected IO-APIC, please mail to [EMAIL PROTECTED] register #02: ... : arbitration: 00 IRQ redirection table: NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: 00 000 00 100 0 00000 01 003 03 000 0 01139 02 003 03 000 0 01131 03 003 03 000 0 01141 04 003 03 000 0 01149 05 000 00 100 0 00000 06 003 03 000 0 01151 07 003 03 000 0 01159 08 003 03 000 0 01161 09 003 03 000 0 01169 0a 000 00 100 0 00000 0b 000 00 100 0 00000 0c 003 03 000 0 01171 0d 003 03 000 0 01179 0e 003 03 000 0 01181 0f 000 00 100 0 00000 10 003 03 110 1 01189 11 003 03 110 1 01191 12 003 03 110 1 01199 13 003 03 110 1 011A1 14 000 00 100 0 00000 15 000 00 100 0 00000 16 000 00 100 0 00000 17 000 00 100 0 00000 IRQ to pin mappings: IRQ0 - 0:2 IRQ1 - 0:1 IRQ3 - 0:3 IRQ4 - 0:4 IRQ6 - 0:6 IRQ7 - 0:7 IRQ8 - 0:8 IRQ9 - 0:9 IRQ12 - 0:12 IRQ13 - 0:13 IRQ14 - 0:14 IRQ16 - 0:16 IRQ17 - 0:17 IRQ18 - 0:18 IRQ19 - 0:19
Re: interrupt problem with MPS 1.4 / not with MPS 1.1 ?
Looking at the diff of lspci -vvvxxx between MPS1.1 and MPS1.4 (on the same system) may be quite useful... maybe I missed the earlier lspci -vvvxxx, but I only see one here... -- Jeff Garzik | Disbelief, that's why you fail. Building 1024| MandrakeSoft | - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/