Interrupt Storms on irq:11 with Tecra A4

Yousef Raffah yraffah at savola.com
Thu Aug 3 07:49:19 UTC 2006


John Baldwin wrote:
> On Wednesday 02 August 2006 01:56, Yousef Raffah wrote:
>   
>>  Updating to (7.0-CURRENT #1: Mon Jul 17 20:06:47 AST 2006) has a working
>>  acpi on my laptop but the interrupt storm is still there. I have included
>>  below a verbose dmesg with acpi enabled as per your request. I would really 
>>  appreciate any help you can offer :)  
>>  
>>  pci_link6: Links after initial probe:
>>  Index� IRQ� Rtd� Ref� IRQs
>>  ��� 0�� 11�� N���� 0� 6
>>  pci_link6: Links after initial validation:
>>  Index� IRQ� Rtd� Ref� IRQs
>>  ��� 0� 255�� N���� 0� 6
>>  pci_link6: Links after disable:
>>  Index� IRQ� Rtd� Ref� IRQs
>>  ��� 0� 255�� N���� 0� 6
>>  pci_link7: Links after initial probe:
>>  Index� IRQ� Rtd� Ref� IRQs
>>  ��� 0�� 11�� N���� 0� 5 10
>>  pci_link7: Links after initial validation:
>>  Index� IRQ� Rtd� Ref� IRQs
>>  ��� 0� 255�� N���� 0� 5 10
>>  pci_link7: Links after disable:
>>  Index� IRQ� Rtd� Ref� IRQs
>>  ��� 0� 255�� N���� 0� 5 10
>>     
>
> Well, these two appear to be your problem due to your BIOS having buggy ASL.  
> You can work around it, but you'll need to figure out the names of your link 
> devices first.  'devinfo -v' with ACPI enabled can help with that.  For 
> example, on my laptop:
>
> % devinfo -v | grep 'pci_link[67]'
>     pci_link6 pnpinfo _HID=PNP0C0F _UID=106 at handle=\_SB_.C002.C0F2
>     pci_link7 pnpinfo _HID=PNP0C0F _UID=107 at handle=\_SB_.C002.C0F3
>
>   
Here is my devinfo
 devinfo -v | grep 'pci_link[67]'
    pci_link6 pnpinfo _HID=PNP0C0F _UID=7 at handle=\_SB_.PCI0.LPCB.LNKG
    pci_link7 pnpinfo _HID=PNP0C0F _UID=8 at handle=\_SB_.PCI0.LPCB.LNKH

So I can see that pci_link6 is named LNKG and pci_link7 is LNKH
> pci_link6 is called C0F2, and pci_link7 is called C0F3.  You'll use these 
> names to override the IRQ for the link device by setting the following 
> variables in the loader:
>
> hw.pci.link.C0F2.irq=11
> hw.pci.link.C0F3.irq=11
>
> (You'll have to replace C0F2 and C0F3 with the names for your link devices.  
> Probably LNKF and LNKG.)
>
>   
Based on that, I should have the following in my /boot/loader.conf?
hw.pci.link.LNKG.irq=11
hw.pci.link.LNKH.irq=11

> You might also need this patch (but try the tunables above without the patch 
> first to be sure):
>
> Index: dev/acpica/acpi_pci_link.c
> ===================================================================
> RCS file: /usr/cvs/src/sys/dev/acpica/acpi_pci_link.c,v
> retrieving revision 1.53
> diff -u -r1.53 acpi_pci_link.c
> --- dev/acpica/acpi_pci_link.c	6 Jan 2006 16:14:32 -0000	1.53
> +++ dev/acpica/acpi_pci_link.c	2 Aug 2006 14:27:09 -0000
> @@ -941,18 +941,16 @@
>  	KASSERT(!PCI_INTERRUPT_VALID(link->l_irq),
>  	    ("%s: link already has an IRQ", __func__));
>  
> -	/* Check for a tunable override and use it if it is valid. */
> +	/* Check for a tunable override. */
>  	if (ACPI_SUCCESS(acpi_short_name(acpi_get_handle(dev), link_name,
>  	    sizeof(link_name)))) {
>  		snprintf(tunable_buffer, sizeof(tunable_buffer),
>  		    "hw.pci.link.%s.%d.irq", link_name, link->l_res_index);
> -		if (getenv_int(tunable_buffer, &i) &&
> -		    PCI_INTERRUPT_VALID(i) && link_valid_irq(link, i))
> +		if (getenv_int(tunable_buffer, &i) && PCI_INTERRUPT_VALID(i))
>  			return (i);
>  		snprintf(tunable_buffer, sizeof(tunable_buffer),
>  		    "hw.pci.link.%s.irq", link_name);
> -		if (getenv_int(tunable_buffer, &i) &&
> -		    PCI_INTERRUPT_VALID(i) && link_valid_irq(link, i))
> +		if (getenv_int(tunable_buffer, &i) && PCI_INTERRUPT_VALID(i))
>  			return (i);
>  	}
>  
>
>   
Let us try the loader file first and see if we need the patch after that.

Thank you so much for looking in to this :)

-- 

Sincerely,

Yousef Adnan Raffah
The Savola Group

-------------------
Aren't you using Firefox? Get it at http://www.getfirefox.com


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 187 bytes
Desc: OpenPGP digital signature
Url : http://lists.freebsd.org/pipermail/freebsd-mobile/attachments/20060803/008cdc40/signature.pgp


More information about the freebsd-mobile mailing list