Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 03 Aug 2006 22:28:44 +0300
From:      Yousef Raffah <yraffah@savola.com>
To:        freebsd-mobile@freebsd.org
Subject:   Re: Interrupt Storms on irq:11 with Tecra A4
Message-ID:  <44D24E6C.9050502@savola.com>
In-Reply-To: <200608031114.51389.jhb@freebsd.org>
References:  <1152019643.704.42.camel@redevil.savola.com> <200608021028.09765.jhb@freebsd.org> <44D1AA2D.5000901@savola.com> <200608031114.51389.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig354744F9C7D651F2B95CCCE7
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

John Baldwin wrote:
> On Thursday 03 August 2006 03:47, Yousef Raffah wrote:
>  =20
>> John Baldwin wrote:
>>    =20
>>> On Wednesday 02 August 2006 01:56, Yousef Raffah wrote:
>>>  =20
>>> 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=3DPNP0C0F _UID=3D106 at handle=3D\_SB_.C00=
2.C0F2
>>>     pci_link7 pnpinfo _HID=3DPNP0C0F _UID=3D107 at handle=3D\_SB_.C00=
2.C0F3
>>>
>>>  =20
>>>      =20
>> Here is my devinfo
>>  devinfo -v | grep 'pci_link[67]'
>>     pci_link6 pnpinfo _HID=3DPNP0C0F _UID=3D7 at handle=3D\_SB_.PCI0.L=
PCB.LNKG
>>     pci_link7 pnpinfo _HID=3DPNP0C0F _UID=3D8 at handle=3D\_SB_.PCI0.L=
PCB.LNKH
>>
>> So I can see that pci_link6 is named LNKG and pci_link7 is LNKH
>>    =20
>
> Yep.
>
>  =20
>>> 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=3D11
>>> hw.pci.link.C0F3.irq=3D11
>>>
>>> (You'll have to replace C0F2 and C0F3 with the names for your link
>>> devices.  Probably LNKF and LNKG.)
>>>      =20
>> Based on that, I should have the following in my /boot/loader.conf?
>> hw.pci.link.LNKG.irq=3D11
>> hw.pci.link.LNKH.irq=3D11
>>    =20
>
> Yep.
>
>  =20
>> Let us try the loader file first and see if we need the patch after th=
at.
>>    =20
>
> Ok.  I'm betting you will need the patch, but just want to make sure fi=
rst.
>
>  =20
Looks like I do need the patch as the interrupt storm is still there.
Now how do I do that?
What should I do with this code? I mean where to put it? is there a
special way of
patch file < your_patch ?

Index: dev/acpica/acpi_pci_link.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
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__));
=20
-	/* 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);
 	}

=20




--=20

Sincerely,

Yousef Adnan Raffah
Security Officer
The Savola Group

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



--------------enig354744F9C7D651F2B95CCCE7
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.4 (FreeBSD)

iD8DBQFE0k5sqG4sHeIU6qURAkPDAKCx9a1JTDquAvIQjh3njcnV8avbFgCeK3Te
lgQgo+1CDJ5oAvAuW7bHEqY=
=WETY
-----END PGP SIGNATURE-----

--------------enig354744F9C7D651F2B95CCCE7--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44D24E6C.9050502>