Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Mar 2004 12:03:29 -0500
From:      John Baldwin <jhb@FreeBSD.org>
To:        freebsd-mobile@freebsd.org
Cc:        bsdforums_account@melliferous.com
Subject:   Re: thinkpad 770 -current ccb IRQ (hence ep0) broken between 20040204-20040310?
Message-ID:  <200403171105.07327.jhb@FreeBSD.org>
In-Reply-To: <200403162324.i2GNO9aO022782@excession.apostasy.org>
References:  <200403162324.i2GNO9aO022782@excession.apostasy.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 16 March 2004 06:24 pm, bsdforums_account@melliferous.com wrote:
> Hi,
>
> here is the dmesg -v

Can you try this patch and include the dmseg (non -v for now) output in the 
reply?  Thanks.

Index: pci_pir.c
===================================================================
RCS file: /usr/cvs/src/sys/i386/pci/pci_pir.c,v
retrieving revision 1.109
diff -u -r1.109 pci_pir.c
--- pci_pir.c	18 Feb 2004 22:40:23 -0000	1.109
+++ pci_pir.c	17 Mar 2004 16:01:57 -0000
@@ -435,11 +435,17 @@
 pci_pir_biosroute(int bus, int device, int func, int pin, int irq)
 {
 	struct bios_regs args;
+	int error;
 
 	args.eax = PCIBIOS_ROUTE_INTERRUPT;
 	args.ebx = (bus << 8) | (device << 3) | func;
 	args.ecx = (irq << 8) | (0xa + pin);
-	return (bios32(&args, PCIbios.ventry, GSEL(GCODE_SEL, SEL_KPL)));
+	error = bios32(&args, PCIbios.ventry, GSEL(GCODE_SEL, SEL_KPL));
+	if (error) {
+		printf("$PIR: ROUTE_INTERRUPT returned 0x%2x\n",
+		    args.eax >> 8 & 0xff);
+	}
+	return (0);
 }
 

 
-- 
John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org



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