Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Dec 2005 08:11:30 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        jpeg@thilelli.net
Cc:        freebsd-acpi@freebsd.org, freebsd-usb@freebsd.org, bug-followup@freebsd.org
Subject:   Re: usb/74989: (regression) Lost USB support between 5.2.1-RELEASE and 5.3-RELEASE on K7T266 Pro2.
Message-ID:  <200512020811.33720.jhb@freebsd.org>
In-Reply-To: <49547.192.168.1.20.1133472864.squirrel@webmail.thilelli.net>
References:  <49704.192.168.1.18.1113475314.squirrel@webmail.thilelli.net> <200512011203.17304.jhb@freebsd.org> <49547.192.168.1.20.1133472864.squirrel@webmail.thilelli.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 01 December 2005 04:34 pm, Julien Gabel wrote:
> >> I applied this patch, rebuild and installed the kernel, set the
> >> loader.conf directive `hint.apic.0.disabled' to "0" and reboot on the
> >> system.  Sadly, the same behaviour happened (as before), i.e. USB mouse
> >> simply hang, USB thumbdrive doesn't work, etc.
> >>
> >> The patch was applied on src/sys/dev/acpica/acpi_pci_link.c before your
> >> last commit on RELENG_6 (version 1.44.2.4, 2005/11/30 16:03:55).  Don't
> >> know if this may change something or not in this case.
> >
> > Well, I can't get to your dmesg's anymore.  If I understand correctly,
>
> Yes, sorry: the layout of the website was changed recently.  Here are
> the corresponding files (using RELENG_5 at this time):
>  http://www.thilelli.net/~jgabel/store/pub/PR/74989/

Ok, yours is a more odd case. :)  This is debatably a bug in your ASL, but =
I=20
think we can work around it.  It is routing your USB interrupts to IRQ 10 b=
ut=20
is not using a link device to do it, and it is not including an INTR_OVERRI=
DE=20
entry in the MADT to change IRQ 10 from the default of edge/trigger to=20
level/low.  The patch below forces all hard-wired PCI interrupts routed via=
=20
ACPI to be level/low.  This patch should apply both to HEAD and 6.x and may=
be=20
5.x.

Index: acpi_pcib.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: /host/cvs/usr/cvs/src/sys/dev/acpica/acpi_pcib.c,v
retrieving revision 1.58
diff -u -r1.58 acpi_pcib.c
=2D-- acpi_pcib.c	7 Nov 2005 21:48:45 -0000	1.58
+++ acpi_pcib.c	2 Dec 2005 13:08:16 -0000
@@ -252,9 +252,11 @@
 	if (bootverbose)
 	    device_printf(pcib, "slot %d INT%c hardwired to IRQ %d\n",
 		pci_get_slot(dev), 'A' + pin, prt->SourceIndex);
=2D	if (prt->SourceIndex)
+	if (prt->SourceIndex) {
 	    interrupt =3D prt->SourceIndex;
=2D	else
+	    BUS_CONFIG_INTR(dev, interrupt, INTR_TRIGGER_LEVEL,
+		INTR_POLARITY_LOW);
+	} else
 	    device_printf(pcib, "error: invalid hard-wired IRQ of 0\n");
 	goto out;
     }

> More precisely, here is a little tab... to be more accurate (i hope):
>
> ---------------------------------------
>  USB support   |   ACPI   |   APIC    |
>                ------------------------
>
>                | on | off | on | off  |
>
> ---------------------------------------
> Did not boot(*)|    |  XX |    |  XX  |
> ---------------------------------------
> (*) The boot disk seems not be able to be used for the root mount, i.e.
> ufs:/dev/ad0s1a in my case.

If you could get a verbose dmesg for this case using a serial console I'd b=
e=20
interested in looking at that too.

=2D-=20
John Baldwin <jhb@FreeBSD.org> =A0<>< =A0http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" =A0=3D =A0http://www.FreeBSD.org



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