From owner-freebsd-mobile@FreeBSD.ORG Thu Aug 3 07:49:19 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 C8AAC16A4DD for ; Thu, 3 Aug 2006 07:49:19 +0000 (UTC) (envelope-from yraffah@savola.com) Received: from heathrow.savoladns.com (heathrow.savoladns.com [212.12.174.7]) by mx1.FreeBSD.org (Postfix) with SMTP id DA37B43D45 for ; Thu, 3 Aug 2006 07:49:18 +0000 (GMT) (envelope-from yraffah@savola.com) Received: from ocs.savola.com (ocs.savola.com [222.22.1.211]) by heathrow.savoladns.com (Postfix) with ESMTP id 97B3495855 for ; Thu, 3 Aug 2006 10:49:15 +0300 (AST) Received: from 222.22.1.105 by ocs.savola.com with ESMTP id 70491461154590561; Thu, 03 Aug 2006 10:36:01 +0300 Message-ID: <44D1AA2D.5000901@savola.com> Date: Thu, 03 Aug 2006 10:47:57 +0300 From: Yousef Raffah Organization: The Savola Group User-Agent: Thunderbird 1.5.0.5 (X11/20060730) MIME-Version: 1.0 To: freebsd-mobile@freebsd.org References: <1152019643.704.42.camel@redevil.savola.com> <1152358151.679.27.camel@redevil.savola.com> <44D03E9F.1040409@savola.com> <200608021028.09765.jhb@freebsd.org> In-Reply-To: <200608021028.09765.jhb@freebsd.org> X-Enigmail-Version: 0.94.0.0 OpenPGP: id=E214EAA5 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enigF9CE8895A6A7E9CEC3583359" Subject: Re: Interrupt Storms on irq:11 with Tecra A4 X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: yraffah@savola.com List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Aug 2006 07:49:19 -0000 This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enigF9CE8895A6A7E9CEC3583359 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable John Baldwin wrote: > On Wednesday 02 August 2006 01:56, Yousef Raffah wrote: > =20 >> Updating to (7.0-CURRENT #1: Mon Jul 17 20:06:47 AST 2006) has a work= ing >> acpi on my laptop but the interrupt storm is still there. I have incl= uded >> below a verbose dmesg with acpi enabled as per your request. I would = really=20 >> appreciate any help you can offer :) =20 >> =20 >> pci_link6: Links after initial probe: >> Index=EF=BF=BD IRQ=EF=BF=BD Rtd=EF=BF=BD Ref=EF=BF=BD IRQs >> =EF=BF=BD=EF=BF=BD=EF=BF=BD 0=EF=BF=BD=EF=BF=BD 11=EF=BF=BD=EF=BF=BD = N=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD 0=EF=BF=BD 6 >> pci_link6: Links after initial validation: >> Index=EF=BF=BD IRQ=EF=BF=BD Rtd=EF=BF=BD Ref=EF=BF=BD IRQs >> =EF=BF=BD=EF=BF=BD=EF=BF=BD 0=EF=BF=BD 255=EF=BF=BD=EF=BF=BD N=EF=BF=BD= =EF=BF=BD=EF=BF=BD=EF=BF=BD 0=EF=BF=BD 6 >> pci_link6: Links after disable: >> Index=EF=BF=BD IRQ=EF=BF=BD Rtd=EF=BF=BD Ref=EF=BF=BD IRQs >> =EF=BF=BD=EF=BF=BD=EF=BF=BD 0=EF=BF=BD 255=EF=BF=BD=EF=BF=BD N=EF=BF=BD= =EF=BF=BD=EF=BF=BD=EF=BF=BD 0=EF=BF=BD 6 >> pci_link7: Links after initial probe: >> Index=EF=BF=BD IRQ=EF=BF=BD Rtd=EF=BF=BD Ref=EF=BF=BD IRQs >> =EF=BF=BD=EF=BF=BD=EF=BF=BD 0=EF=BF=BD=EF=BF=BD 11=EF=BF=BD=EF=BF=BD = N=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD 0=EF=BF=BD 5 10 >> pci_link7: Links after initial validation: >> Index=EF=BF=BD IRQ=EF=BF=BD Rtd=EF=BF=BD Ref=EF=BF=BD IRQs >> =EF=BF=BD=EF=BF=BD=EF=BF=BD 0=EF=BF=BD 255=EF=BF=BD=EF=BF=BD N=EF=BF=BD= =EF=BF=BD=EF=BF=BD=EF=BF=BD 0=EF=BF=BD 5 10 >> pci_link7: Links after disable: >> Index=EF=BF=BD IRQ=EF=BF=BD Rtd=EF=BF=BD Ref=EF=BF=BD IRQs >> =EF=BF=BD=EF=BF=BD=EF=BF=BD 0=EF=BF=BD 255=EF=BF=BD=EF=BF=BD N=EF=BF=BD= =EF=BF=BD=EF=BF=BD=EF=BF=BD 0=EF=BF=BD 5 10 >> =20 > > Well, these two appear to be your problem due to your BIOS having buggy= ASL. =20 > You can work around it, but you'll need to figure out the names of your= link=20 > devices first. 'devinfo -v' with ACPI enabled can help with that. For= =20 > example, on my laptop: > > % devinfo -v | grep 'pci_link[67]' > pci_link6 pnpinfo _HID=3DPNP0C0F _UID=3D106 at handle=3D\_SB_.C002.= C0F2 > pci_link7 pnpinfo _HID=3DPNP0C0F _UID=3D107 at handle=3D\_SB_.C002.= C0F3 > > =20 Here is my devinfo devinfo -v | grep 'pci_link[67]' pci_link6 pnpinfo _HID=3DPNP0C0F _UID=3D7 at handle=3D\_SB_.PCI0.LPCB= =2ELNKG pci_link7 pnpinfo _HID=3DPNP0C0F _UID=3D8 at handle=3D\_SB_.PCI0.LPCB= =2ELNKH 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 the= se=20 > 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 devi= ces. =20 > 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 > You might also need this patch (but try the tunables above without the = patch=20 > first to be sure): > > 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 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 :) --=20 Sincerely, Yousef Adnan Raffah The Savola Group ------------------- Aren't you using Firefox? Get it at http://www.getfirefox.com --------------enigF9CE8895A6A7E9CEC3583359 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) iD8DBQFE0aotqG4sHeIU6qURAnh3AJ9MW4kEym7jYkO9EgLPFFFIOY1epACfd7gV tJiA5atmDAHx834+JfKyzPM= =3FeT -----END PGP SIGNATURE----- --------------enigF9CE8895A6A7E9CEC3583359--