on alix1c, I put a pci usb card in.
Then I plug in a usb device.
I get this: usb 3-2: new full speed USB device using uhci_hcd and address 2 usb 3-2: device descriptor read/64, error -110 usb 3-2: device descriptor read/64, error -110 usb 3-2: new full speed USB device using uhci_hcd and address 3 usb 3-2: device descriptor read/64, error -110 usb 3-2: device descriptor read/64, error -110 usb 3-2: new full speed USB device using uhci_hcd and address 4 usb 3-2: device not accepting address 4, error -110 usb 3-2: new full speed USB device using uhci_hcd and address 5 usb 3-2: device not accepting address 5, error -110 hub 3-0:1.0: unable to enumerate USB device on port 2
interrupts, however, don't happen: 0: 88 XT-PIC-XT timer 2: 0 XT-PIC-XT cascade 4: 1058 XT-PIC-XT serial 7: 4793137 XT-PIC-XT mfgpt-timer 8: 0 XT-PIC-XT rtc 9: 2 XT-PIC-XT ohci_hcd:usb1, uhci_hcd:usb3 10: 210 XT-PIC-XT eth0 11: 0 XT-PIC-XT uhci_hcd:usb2 14: 360 XT-PIC-XT ide0 NMI: 0 Non-maskable interrupts TRM: 0 Thermal event interrupts SPU: 0 Spurious interrupts ERR: 0
So the IRQ 9 is this via usb card in 3V pci slot. I get one interrupt per USB plug/unplug event.
For the onboard, working USB, when I hotplug, well, I get lots more: 9: 24 XT-PIC-XT ohci_hcd:usb1, uhci_hcd:usb3
So it seems to be back to IRQ stuff.
Now my devices look like this: 00:0f.4 USB Controller: Advanced Micro Devices [AMD] CS5536 [Geode companion] OHC (rev 02) (prog-if 10 [OHCI]) Subsystem: Advanced Micro Devices [AMD] CS5536 [Geode companion] OHC 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 Interrupt: pin D routed to IRQ 9 Region 0: Memory at fe016000 (32-bit, non-prefetchable) [size=4K] Capabilities: [40] 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:0f.5 USB Controller: Advanced Micro Devices [AMD] CS5536 [Geode companion] EHC (rev 02) (prog-if 20 [EHCI]) Subsystem: Advanced Micro Devices [AMD] CS5536 [Geode companion] EHC 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-
Interrupt: pin D routed to IRQ 9 Region 0: Memory at fe017000 (32-bit, non-prefetchable) [size=4K] Capabilities: [40] 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-
note that the onboard usb, which is NOT routed from the pci bus, is irq 9.
The via USB card looks like this: 00:0c.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 61) (prog-if 00 [UHCI]) Subsystem: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller 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: 64, cache line size 10 Interrupt: pin A routed to IRQ 11 Region 4: I/O ports at 1c80 [size=32] Capabilities: [80] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+) Status: D0 PME-Enable- DSel=0 DScale=0 PME+
00:0c.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 61) (prog-if 00 [UHCI]) Subsystem: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller 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: 64, cache line size 10 Interrupt: pin B routed to IRQ 9 Region 4: I/O ports at 1ca0 [size=32] Capabilities: [80] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+) Status: D0 PME-Enable- DSel=0 DScale=0 PME+
00:0c.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 63) (prog-if 20 [EHCI]) Subsystem: VIA Technologies, Inc. USB 2.0 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-
Interrupt: pin C routed to IRQ 11 Region 0: Memory at fe019000 (32-bit, non-prefetchable) [size=256] Capabilities: [80] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+) Status: D0 PME-Enable- DSel=0 DScale=0 PME-
so it's using IRQ 9 and 11, depending on port.
The port I plugged the usb into was UHCI.
But we had a problem with MFGPT not working due to improper IRQ controller setup. Is there any chance of a PCI conflict with the onboard USB controller?
not in terms of "sharing interrupts' but in terms of some internal cs5536 issue?
ron
On Fri, May 09, 2008 at 10:50:46PM -0700, ron minnich wrote:
so it's using IRQ 9 and 11, depending on port.
The port I plugged the usb into was UHCI.
But we had a problem with MFGPT not working due to improper IRQ controller setup. Is there any chance of a PCI conflict with the onboard USB controller?
On the alix.2c3, INTD (well, the cs5536's internal INTD to which USB is hooked up) really really wanted to be on IRQ 11.
Have you tried setting INTA to 9 and INTD to 11 (i.e. swapping them)? I booted like that yesterday and things seemed pretty happy, but I don't have a single 3V pci card to test with :/
Thanks, Ward.
ron minnich wrote:
The via USB card looks like this: Interrupt: pin A routed to IRQ 11 Interrupt: pin B routed to IRQ 9 Interrupt: pin C routed to IRQ 11 so it's using IRQ 9 and 11, depending on port.
The port I plugged the usb into was UHCI.
But we had a problem with MFGPT not working due to improper IRQ controller setup. Is there any chance of a PCI conflict with the onboard USB controller?
For *all* of these IRQ issues, you need to follow the path of the IRQ to debug it. Dump out the registers along the way, and see what is set right, and what is set wrong.
INTs A, B, and C, are GPIOs on 5536. Check the register settings for those 3 bits. Are they set right? Those GPIOs get mapped to interrupts in the interrupt mappers. Are they set right? Are 4d0/4d1 set right?
There are only about 4 registers that control how the interrupts move, and they need to be checked before anything else. (I would do it, but I have no alix)
On 10.05.2008 14:39, Tom Sylla wrote:
ron minnich wrote:
The via USB card looks like this: Interrupt: pin A routed to IRQ 11 Interrupt: pin B routed to IRQ 9 Interrupt: pin C routed to IRQ 11 so it's using IRQ 9 and 11, depending on port.
The port I plugged the usb into was UHCI.
But we had a problem with MFGPT not working due to improper IRQ controller setup. Is there any chance of a PCI conflict with the onboard USB controller?
For *all* of these IRQ issues, you need to follow the path of the IRQ to debug it. Dump out the registers along the way, and see what is set right, and what is set wrong.
INTs A, B, and C, are GPIOs on 5536. Check the register settings for those 3 bits. Are they set right? Those GPIOs get mapped to interrupts in the interrupt mappers. Are they set right? Are 4d0/4d1 set right?
There are only about 4 registers that control how the interrupts move, and they need to be checked before anything else. (I would do it, but I have no alix)
Would a complete MSR dump help you to diagnose this and/or can you list the MSRs we should dump to debug IRQ issues?
Regards, Carl-Daniel