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>
