Date: Thu, 12 Oct 2006 15:07:23 +0200 From: Erik Norgaard <norgaard@locolomo.org> To: freebsd-mobile@freebsd.org Subject: ACPI Problems: IRQ conflicts on USB controllers and SATA controller Message-ID: <452E3E0B.6040709@locolomo.org>
next in thread | raw e-mail | index | archive | help
Hi: I have previously written about my buggy Sony VAIO (FJ3S) and some problems was resolved. In brief: I have IRQ conflicts on the USB controllers causing two controllers to be non-functional: uhci0@pci0:29:0: IRQ 5 uhci1@pci0:29:1: IRQ 10 uhci2@pci0:29:2: IRQ 255 uhci3@pci0:29:3: IRQ 255 ehci0@pci0:29:7: IRQ 5 Further USB devices are slow or not found, it takes 30 seconds before da0s1 on a USB stick appears among the devices, and it may not be mountable. Also, atapci0@pci0:31:2 Intel Corporation 82801FBM (ICH6M) SATA Controller seems to cause an IRQ storm on IRQ 9 and is disabled. (wonder how I can boot then). I believe this relates to the IRQ problems. How do I manually assign IRQ's to these? Which IRQ's should I assign? Background: ACPI and APIC conflicts on this hardware, /if/ system successfully boots it grinds almost to a halt with 85% interrupt activity. Disabling apic solves the problem. Booting with apic disabled, /if/ successful, the system freezes after a while, but all devices are configured, there is still some 3.5% interrupt activity. Disabling acpi pci_link solves the issue. There remains interrupt conflicts and interrupt storms: The wireless iwi card caused interrupt storm on IRQ 5, this has been resolved by setting it manually in loader.conf. The problem: USB Controllers: As described above, two of the 4 UCHI controllers are not assigned IRQ's when pci_link is disabled (dmesg): uhci2: <Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-C> at device 29.2 on pci0 uhci2: Could not allocate irq device_attach: uhci2 attach returned 6 uhci3: <Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-D> at device 29.3 on pci0 uhci3: Could not allocate irq device_attach: uhci3 attach returned 6 If booting with pci_link enabled IRQ's are assigned to all 4 controllers, but I do not know if device numbering change or IRQ's are assigned differently, the devices get the following IRQ's: uhci0@pci0:29:0: IRQ 5 uhci1@pci0:29:1: IRQ 9 uhci2@pci0:29:2: IRQ 3 uhci3@pci0:29:3: IRQ 10 ehci0@pci0:29:7: IRQ 5 I do not know if these IRQ's are the correct ones, afterall, the system freezes after a while when pci_link is enabled. Things get more messy, there is a built in USB web cam attached to the ehci controler. I do not know if this interferes or causes problems, but I can't physically disconnect it. SATA Controller: There is an interrupt storm on IRQ 9 right before the ATA disks are identified. With pci_link disabled I have the following: 00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Subsystem: Sony Corporation Unknown device 81f1 Flags: bus master, medium devsel, latency 0 00:1f.2 IDE interface: Intel Corporation 82801FBM (ICH6M) SATA Subsystem: Sony Corporation Unknown device 81f1 Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 255 00:1f.3 SMBus: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) Subsystem: Sony Corporation Unknown device 81f1 Flags: medium devsel, IRQ 10 Enabling pci_link I have: 00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Subsystem: Sony Corporation Unknown device 81f1 Flags: bus master, medium devsel, latency 0 00:1f.2 IDE interface: Intel Corporation 82801FBM (ICH6M) SATA Subsystem: Sony Corporation Unknown device 81f1 Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 255 00:1f.3 SMBus: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) Subsystem: Sony Corporation Unknown device 81f1 Flags: medium devsel, IRQ 9 This interrupt storm ALSO occurs with pci_link enabled. QUESTION: How do I resolve the conflicts: How do I specify IRQ's for the above devices? Which IRQ's should I assign? The correct solution may be to load a custom ASL to load. I tried to dump and compile the existing ASL and got only one warning: /tmp/sony.asl 3527: Method (SODV, 1, NotSerialized) Warning 2019 - ^ Not all control paths return a value (SODV) ASL Input: /tmp/sony.asl - 5293 lines, 169636 bytes, 2529 keywords AML Output: DSDT.aml - 20447 bytes 586 named objects 1943 executable opcodes Compilation complete. 0 Errors, 1 Warnings, 0 Remarks, 584 Optimizations Is there any documentation on how to debug/write the ASL code? Thanks for reading all the way to the bottom, double up thanks if you can provide any hints or help resolving these issues. Cheers, Erik -- Ph: +34.666334818 web: http://www.locolomo.org X.509 Certificate: http://www.locolomo.org/crt/8D03551FFCE04F0C.crt Key ID: 69:79:B8:2C:E3:8F:E7:BE:5D:C3:C3:B1:74:62:B8:3F:9F:1F:69:B9
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?452E3E0B.6040709>