From owner-freebsd-mobile@FreeBSD.ORG Thu Oct 12 13:09:01 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0477E16A52D for ; Thu, 12 Oct 2006 13:09:01 +0000 (UTC) (envelope-from norgaard@locolomo.org) Received: from strange.daemonsecurity.com (59.Red-81-33-11.staticIP.rima-tde.net [81.33.11.59]) by mx1.FreeBSD.org (Postfix) with ESMTP id CCECF43D46 for ; Thu, 12 Oct 2006 13:08:47 +0000 (GMT) (envelope-from norgaard@locolomo.org) Received: from [10.35.4.65] (65.4-35-10-static.chueca.wifi [10.35.4.65]) by strange.daemonsecurity.com (Postfix) with ESMTP id 7C1E62E037 for ; Thu, 12 Oct 2006 15:08:46 +0200 (CEST) Message-ID: <452E3E0B.6040709@locolomo.org> Date: Thu, 12 Oct 2006 15:07:23 +0200 From: Erik Norgaard User-Agent: Thunderbird 1.5.0.7 (X11/20060916) MIME-Version: 1.0 To: freebsd-mobile@freebsd.org Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: ACPI Problems: IRQ conflicts on USB controllers and SATA controller X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Oct 2006 13:09:01 -0000 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: at device 29.2 on pci0 uhci2: Could not allocate irq device_attach: uhci2 attach returned 6 uhci3: 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