ACPI Problems: IRQ conflicts on USB controllers and SATA controller

Erik Norgaard <[email protected]>
Newsgroups gmane.os.freebsd.devel.mobile
Message-ID <[email protected]>
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
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-mobile
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.