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>