Date: Sat, 10 Jan 2004 19:20:03 -0800 (PST) From: Don Lewis <truckman@FreeBSD.org> To: mobile@FreeBSD.org Subject: Re: More power patches Message-ID: <200401110320.i0B3K37E029440@gw.catspoiler.org> In-Reply-To: <20040107.171023.63338658.imp@bsdimp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 7 Jan, M. Warner Losh wrote: > I've updated the power patches. This includes the > transparent/secondary bridge support and tweaks to the last version. > This should help people who have been forced to set > hw.pci.unsupported_io_ranges=1. There's slightly imporved lazy > resource support, the power stuff (but I've not fixed the null power > method stuff). You may notice that the resources for CardBus and PC > Card cards are different. For me I see > > ep0: <3Com OfficeConnect 572B> at port 0xe000-0xe01f irq 10 function 0 config 1 on pccard1 > > where before I saw: > > ep0: <3Com OfficeConnect 572B> at port 0x100-0x11f irq 10 function 0 config 1 on pccard1 > > based on what the bridge is configured to pass. > > http://people.freebsd.org/~imp/power.20040107.diff > > This won't help the interrupt routing issues people have had, nor will > it help the bus numbering issues that have been seen in the wild. > > Please let me know how well this works for you. With today's src, it fails to compile ... cc -c -O -pipe -mcpu=pentiumpro -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -std=c99 -g -nostdinc -I- -I. -I/usr/src/sys -I/usr/src/sys/contrib/dev/acpica -I/usr/src/sys/contrib/ipfilter -I/usr/src/sys/contrib/dev/ath -I/usr/src/sys/contrib/dev/ath/freebsd -I/usr/src/sys/contrib/ngatm -D_KERNEL -include opt_global.h -fno-common -finline-limit=15000 -fno-strict-aliasing -mno-align-long-strings -mpreferred-stack-boundary=2 -ffreestanding -Werror /usr/src/sys/pci/if_dc.c /usr/src/sys/pci/if_dc.c: In function `dc_suspend': /usr/src/sys/pci/if_dc.c:3776: warning: unused variable `i' /usr/src/sys/pci/if_dc.c: In function `dc_resume': /usr/src/sys/pci/if_dc.c:3800: warning: unused variable `i' *** Error code 1 Once I get past that problem and boot the kernel, fxp0 still has an irq problem, but I previously committed a patch to fix the resulting panic in the detach code, and then the machine panics in the fwohci interrupt handler. Copyright (c) 1992-2004 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 5.2-CURRENT #104: Sat Jan 10 18:44:48 PST 2004 dl@hairball.catspoiler.org:/usr/obj/usr/src/sys/ACPI_DEBUG Preloaded elf kernel "/boot/kernel/kernel" at 0xc0abe000. Preloaded elf module "/boot/kernel/acpi.ko" at 0xc0abe26c. ACPI debug layer 0x0 debug level 0x0 Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Intel(R) Pentium(R) M processor 1500MHz (1498.74-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x695 Stepping = 5 Features=0xa7e9f9bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,TM,PBE> real memory = 536215552 (511 MB) avail memory = 515100672 (491 MB) Pentium Pro MTRR support enabled npx0: [FAST] npx0: <math processor> on motherboard npx0: INT 16 interface acpi0: <IBM TP-1P> on motherboard acpi_ec0: <Embedded Controller: ECDT, GPE 0x1c, GLK> port 0x66,0x62 on acpi0 pcibios: BIOS version 2.10 Using $PIR table, 12 entries at 0xc00fded0 acpi0: Power Button (fixed) Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 acpi_cpu0: <CPU> on acpi0 acpi_ec0: info: new max delay is 340 us acpi_tz0: <Thermal Zone> on acpi0 acpi_lid0: <Control Method Lid Switch> on acpi0 acpi_button0: <Sleep Button> on acpi0 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0 pci0: <ACPI PCI bus> on pcib0 pci0:0:0: setting power state D0 pci0:29:0: setting power state D0 pcib0: slot 29 INTA is routed to irq 11 pci0:29:1: setting power state D0 pcib0: slot 29 INTB is routed to irq 5 pci0:29:2: setting power state D0 pcib0: slot 29 INTC is routed to irq 9 pci0:29:7: setting power state D0 pcib0: slot 29 INTD is routed to irq 11 pci0:31:0: setting power state D0 pci0:31:1: setting power state D0 pci0:31:3: setting power state D0 pcib0: slot 31 INTB is routed to irq 10 pci0:31:5: setting power state D0 pcib0: slot 31 INTB is routed to irq 10 pci0:31:6: setting power state D0 pcib0: slot 31 INTB is routed to irq 10 agp0: <Intel 82855 host to AGP bridge> mem 0xd0000000-0xdfffffff at device 0.0 on pci0 agp0: Bus reserved 0x10000000 bytes for rid 0x10 type 3 at 0xd0000000 pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0 pci1: <ACPI PCI bus> on pcib1 pci1:0:0: setting power state D0 pcib1: slot 0 INTA is routed to irq 11 pci1: <display, VGA> at device 0.0 (no driver attached) uhci0: <Intel 82801DB (ICH4) USB controller USB-A> port 0x1800-0x181f irq 11 at device 29.0 on pci0 uhci0: Bus reserved 0x20 bytes for rid 0x20 type 4 at 0x1800 usb0: <Intel 82801DB (ICH4) USB controller USB-A> on uhci0 usb0: USB revision 1.0 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered uhub1: IBM Corporation product 0x4482, class 9/0, rev 2.00/0.00, addr 2 uhub1: 4 ports with 4 removable, self powered uhci1: <Intel 82801DB (ICH4) USB controller USB-B> port 0x1820-0x183f irq 5 at device 29.1 on pci0 uhci1: Bus reserved 0x20 bytes for rid 0x20 type 4 at 0x1820 usb1: <Intel 82801DB (ICH4) USB controller USB-B> on uhci1 usb1: USB revision 1.0 uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub2: 2 ports with 2 removable, self powered uhci2: <Intel 82801DB (ICH4) USB controller USB-C> port 0x1840-0x185f irq 9 at device 29.2 on pci0 uhci2: Bus reserved 0x20 bytes for rid 0x20 type 4 at 0x1840 usb2: <Intel 82801DB (ICH4) USB controller USB-C> on uhci2 usb2: USB revision 1.0 uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub3: 2 ports with 2 removable, self powered pci0: <serial bus, USB> at device 29.7 (no driver attached) pci0:29:7: setting power state D3 pcib2: <ACPI PCI-PCI bridge> at device 30.0 on pci0 pci2: <ACPI PCI bus> on pcib2 pcib2: slot 0 INTA is routed to irq 5 pci2:2:0: setting power state D0 pcib2: slot 2 INTA is routed to irq 9 pci2:7:0: setting power state D0 pcib2: slot 7 INTA is routed to irq 11 pci2:8:0: setting power state D0 pcib2: slot 8 INTA is routed to irq 11 cbb0: <TI1510 PCI-CardBus Bridge> irq 5 at device 0.0 on pci2 cbb0: Lazy allocation of 0x1000 bytes rid 0x10 type 3 at 0xc0209800 cardbus0: <CardBus bus> on cbb0 pccard0: <16-bit PCCard bus> on cbb0 cbb0: [MPSAFE] an0: <Cisco Aironet MPI350> port 0x8000-0x80ff mem 0xc0400000-0xc07fffff,0xc0200000-0xc0203fff irq 9 at device 2.0 on pci2 an0: Bus reserved 0x100 bytes for rid 0x10 type 4 at 0x8000 an0: Bus reserved 0x4000 bytes for rid 0x14 type 3 at 0xc0200000 an0: Bus reserved 0x400000 bytes for rid 0x18 type 3 at 0xc0400000 an0: got RSSI <-> dBM map an0: Ethernet address: 00:02:8a:a3:3c:a8 an0: supported rates: 1Mbps 2Mbps 5.5Mbps 11Mbps fwohci0: vendor=104c, dev=8026 fwohci0: <1394 Open Host Controller Interface> mem 0xc0204000-0xc0207fff,0xc0209000-0xc02097ff irq 11 at device 7.0 on pci2 fwohci0: Bus reserved 0x800 bytes for rid 0x10 type 3 at 0xc0209000 fwohci0: OHCI version 0.0 (ROM=0) fwohci0: invalid OHCI version fwohci0: FireWire init failed with err=6 device_probe_and_attach: fwohci0 attach returned 5 fxp0: <Intel 82801DB (ICH4) Pro/100 VE Ethernet> port 0x8400-0x843f mem 0xc0208000-0xc0208fff irq 11 at device 8.0 on pci2 fxp0: Bus reserved 0x1000 bytes for rid 0x10 type 3 at 0xc0208000 fxp0: Ethernet address 00:06:1b:d4:72:bb miibus0: <MII bus> on fxp0 inphy0: <i82562ET 10/100 media interface> on miibus0 inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto fxp0: could not setup irq inphy0: detached miibus0: detached device_probe_and_attach: fxp0 attach returned 22 isab0: <PCI-ISA bridge> at device 31.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <Intel ICH4 UDMA100 controller> port 0x1860-0x186f at device 31.1 on pci0 atapci0: Bus reserved 0x10 bytes for rid 0x20 type 4 at 0x1860 ata0: at 0x1f0 irq 14 on atapci0 ata0: [MPSAFE] ata1: at 0x170 irq 15 on atapci0 ata1: [MPSAFE] pci0: <serial bus, SMBus> at device 31.3 (no driver attached) pci0:31:3: setting power state D3 pci0: <multimedia, audio> at device 31.5 (no driver attached) pci0: Failed to set ACPI power state D3 on (null): AE_BAD_PARAMETER pci0:31:5: setting power state D3 pci0: <simple comms> at device 31.6 (no driver attached) pci0: Failed to set ACPI power state D3 on (null): AE_BAD_PARAMETER pci0:31:6: setting power state D3 atkbdc0: <Keyboard controller (i8042)> port 0x64,0x60 irq 1 on acpi0 atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0 kbd0 at atkbd0 psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: model Generic PS/2 mouse, device ID 0 fdc0: <Enhanced floppy controller (i82077, NE72065 or clone)> port 0x3f7,0x3f0-0x3f5 irq 6 drq 2 on acpi0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 cu: Got hangup signal Disconnected. Connected. sio1: configured irq 3 not in bitmap of probed irqs 0 sio1: port may not be enabled orm0: <Option ROMs> at iomem 0xe0000-0xeffff,0xdc000-0xdffff,0xd1000-0xd1fff,0xd0000-0xd0fff,0xc0000-0xcffff on isa0 pmtimer0 on isa0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x100> sio1: configured irq 3 not in bitmap of probed irqs 0 sio1: port may not be enabled vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 Timecounter "TSC" frequency 1498736633 Hz quality 800 Timecounters tick every 10.000 msec Fatal trap 12: page fault while in kernel mode cpuid = 0; apic id = 00 fault virtual address = 0x0 fault code = supervisor write, page not present instruction pointer = 0x8:0xc44b4047 stack pointer = 0x10:0xd7411cec frame pointer = 0x10:0xd7411d10 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 22 (irq11: fwohci0+) kernel: type 12 trap, code=0 Stopped at 0xc44b4047: addb %al,0(%eax) db> tr _end(c4362600,d7411d48,c085d977,315,0) at 0xc44b4047 fork_exit(c062abc0,c4362600,d7411d48) at fork_exit+0xb4 fork_trampoline() at fork_trampoline+0x8 --- trap 0x1, eip = 0, esp = 0xd7411d7c, ebp = 0 --- db> reset
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200401110320.i0B3K37E029440>