Bug 30064

Summary: [f: 4.4] CL-DP6729 interrupt routing busted.
Product: Base System Reporter: M. Warner Losh <imp>
Component: kernAssignee: Warner Losh <imp>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Unspecified   
Hardware: Any   
OS: Any   

Description M. Warner Losh 2001-08-25 03:30:00 UTC
To: freebsd-mobile@FreeBSD.ORG
From: Allen Landsidel <all@biosys.net>

I've been running RELENG_4 on my laptop for a while (it functions as my 
firewall) and decided to updated it recently.. bad idea because I wasn't 
paying a lot of attention to this list.  This Cvsup was performed from 
cvsup4.freebsd.org just a few hours ago.

Updating the maching from 4.3-STABLE to 4.4-PRERELASE and 4.4-RC results in 
the pcic becoming unusable.  Here is the dmesg (relevant parts anyway.. if 
anyone wants the whole thing, let me know) from the machine:

...   ( pcic on this machine, Twinhead 9133TV, is on 0xfcfc) ...
config> en pcic0
config> po pcic0 0xfcfc
config> ir pcic0 0
config> iom pcic0 0xd0000
config> f pcic0 0
config> q

... (something weird is going on here I think.. why is pci0 detected twice 
as different devices?) ...
pci0: <PCI bus> on pcib0
isab0: <SiS 85c503 PCI-ISA bridge> at device 1.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Generic PCI ATA controller> port 
0x3f4-0x3f7,0x374-0x377,0x1f4-0x1f7,0x174-0x177 irq 14 at device 1.1 on pci0
atapci0: Busmastering DMA not supported
pci0: <Trident model 9660 VGA-compatible display device> at 17.0
pci_cfgintr: can't route an interrupt to 0:19 INTA
pcic0: <Cirrus Logic PD6729/6730 PC-Card Controller> port 0xfcfc-0xfcff at 
device 19.0 on pci0
pcic0: I/O mapped device, might not work.
pci_cfgintr: can't route an interrupt to 0:19 INTA
pcic0: Failed to allocate managment irq
device_probe_and_attach: pcic0 attach returned 5
....

That's basically all.  Some stuff is output on stderr (apparently) about 
"/dev/pccard0 device not configured" or something but it didn't capture in 
dmesg > dmesg.txt which is how I grabbed this.

As it is now, I'm booted on a 4.4-RC world, with a 4.3-RELEASE (generic) 
kernel.  I'd give you a dmesg of the working system, but alas I can't since 
the dmesg interface was changed in there somewhere and I get "dmesg: sysctl 
kern.msgbuf: No such file or directory"

Anyway Warner.. I hope you can do something for me here too. ;)

-Allen


The old kernel says:

Ah ok thanks that did work.. here is a dmesg from the "working" config 
right now (4.3-RELEASE kernel on a 4.4-RC world) I'm currently doing a 
buildworld on a cvsup of RELENG_4_3_0_RELEASE so I can get this thing 
unscrewed.. but I can hold off on the install if there are things you'd 
like me to check.

(relevant parts, booted with -v)

...
pcic-pci0: <Cirrus Logic PD6729/6730 PC-Card Controller> port 0xfcfc-0xfcff 
at device 19.0 on pci0
pcic-pci0: Legacy address set to 0
...

pcic0: <Cirrus Logic PD672X> at port 0xfcfc iomem 0xd0000 drq 0 on isa0
pcic0: Polling mode
stat is f3
stat is f3
pccard0: <PC Card bus -- kludge version> on pcic0
pccard1: <PC Card bus -- kludge version> on pcic0
...
Comment 1 Warner Losh freebsd_committer freebsd_triage 2001-08-25 03:33:25 UTC
Responsible Changed
From-To: freebsd-bugs->imp

I'll deal.
Comment 2 Warner Losh freebsd_committer freebsd_triage 2002-09-29 20:00:49 UTC
State Changed
From-To: open->closed

I believe that this has been corrected.