Date: Mon, 4 Mar 2002 17:32:45 -0800 (PST) From: Brian Howell <bsdmobile@yahoo.com> To: freebsd-mobile@freebsd.org Subject: Re: Test this please Message-ID: <20020305013245.51144.qmail@web21301.mail.yahoo.com> In-Reply-To: <20020303.060817.14415911.imp@village.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi there.I just applied the patch and built my kernel.still the machine freezes at boot time.and my dmesg didnt show anything new (no printfs).same old messages.i still had to take my card out to let my machine complete its boot sequence. here's my latest dmesg if its any help Timecounter "i8254" frequency 1193182 Hz CPU: Pentium II/Pentium II Xeon/Celeron (266.62-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x633 Stepping = 3 Features=0x80f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,MMX> real memory = 67108864 (65536K bytes) avail memory = 60293120 (58880K bytes) Preloaded elf kernel "kernel" at 0xc04ee000. Pentium Pro MTRR support enabled md0: Malloc disk Using $PIR table, 7 entries at 0xc00fdf50 npx0: <math processor> on motherboard npx0: INT 16 interface pcib0: <Intel 82443LX (440 LX) host to PCI bridge> on motherboard pci0: <PCI bus> on pcib0 pcib1: <Intel 82443LX (440 LX) PCI-PCI (AGP) bridge> at device 1.0 on pci0 pci1: <PCI bus> on pcib1 isab0: <Intel 82371AB PCI to ISA bridge> at device 7.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <Intel PIIX4 ATA33 controller> port 0xfcd0-0xfcdf at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0xfce0-0xfcff irq 9 at device 7.2 on pci0 usb0: <Intel 82371AB/EB (PIIX4) USB controller> 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 chip1: <Intel 82371AB Power management controller> port 0x7000-0x700f at device 7.3 on pci0 pci0: <ATI Mach64-GU graphics accelerator> at 13.0 tx0: <SMC EtherPower II 10/100> port 0xf400-0xf4ff mem 0xfedfe000-0xfedfefff irq 11 at device 14.0 on pci0 miibus0: <MII bus> on tx0 qsphy0: <QS6612 10/100 media interface> on miibus0 qsphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto tx0: address 00:e0:29:11:6d:85, type SMC9432TX pcm0: <AudioPCI ES1371-A> port 0xfc40-0xfc7f irq 10 at device 15.0 on pci0 pci_cfgintr_search: linked (63) to configured irq 10 at 0:15:0 pci_cfgintr: 0:16 INTA routed to irq 10 pcic0: <TI PCI-1410 PCI-CardBus Bridge> irq 10 at device 16.0 on pci0 pcic0: PCI Memory allocated: 0x44000000 pcic0: TI12XX PCI Config Reg: [pwr save][CSC parallel isa irq] pccard0: <PC Card bus (classic)> on pcic0 orm0: <Option ROMs> at iomem 0xc0000-0xc7fff,0xe8000-0xeffff on isa0 fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0 kbd0 at atkbd0 psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: model IntelliMouse, device ID 3 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 ppc0: Generic chipset (NIBBLE-only) in COMPATIBLE mode plip0: <PLIP network interface> on ppbus0 lpt0: <Printer> on ppbus0 lpt0: Interrupt-driven port ppi0: <Parallel I/O> on ppbus0 ad0: 4112MB <WDC AC24300L> [8912/15/63] at ata0-master UDMA33 acd0: CDROM <TOSHIBA CD-ROM XM-6102B> at ata1-master using PIO3 Mounting root from ufs:/dev/ad0s2a pccard: card inserted, slot 0 --- "M. Warner Losh" <imp@village.org> wrote: > In message: > <20020303070350.18519.qmail@web21309.mail.yahoo.com> > Brian Howell <bsdmobile@yahoo.com> > writes: > : am not at my work place right now.but will send > you > : the results by tommorow.thanks warner. > > OK. Except I messed up a little on the patch. > Here's a more correct > one. > > Warner > Index: pccard.c > =================================================================== > RCS file: /cache/ncvs/src/sys/pccard/pccard.c,v > retrieving revision 1.145 > diff -u -r1.145 pccard.c > --- pccard.c 20 Feb 2002 14:42:35 -0000 1.145 > +++ pccard.c 3 Mar 2002 05:05:15 -0000 > @@ -56,12 +56,6 @@ > #define suser_td(a) suser(a) > #endif > > -/* The following might now be obsolete */ > -static int pcic_resume_reset = 1; > - > -SYSCTL_INT(_machdep_pccard, OID_AUTO, > pcic_resume_reset, CTLFLAG_RW, > - &pcic_resume_reset, 0, ""); > - > #define MIN(a,b) ((a)<(b)?(a):(b)) > > static int allocate_driver(struct slot *, struct > dev_desc *); > @@ -303,7 +297,7 @@ > * Enable 5V to the card so that the CIS can be > read. > */ > slt->pwr.vcc = -1; > - slt->pwr.vpp = 50; > + slt->pwr.vpp = -1; > > /* > * Disable any pending timeouts for this slot, and > explicitly > Index: pcic.c > =================================================================== > RCS file: /cache/ncvs/src/sys/pccard/pcic.c,v > retrieving revision 1.171 > diff -u -r1.171 pcic.c > --- pcic.c 14 Jan 2002 14:10:13 -0000 1.171 > +++ pcic.c 3 Mar 2002 13:06:36 -0000 > @@ -495,10 +495,11 @@ > * cardbus bridges have minor issues with power via > the ExCA registers, > * go ahead and do it all via cardbus registers. > * > - * An expamination of the code will show the > relative > - * ease that we do Vpp as well. > + * An expamination of the code will show the > relative ease that we do > + * Vpp in comparison to the ExCA case (which may be > partially broken). > * > - * Too bad it appears to not work. > + * Too bad it appears to not work. When used we > seem to be unable to > + * read the card's CIS. > */ > static int > pcic_cardbus_power(struct pcic_slot *sp, struct > slot *slt) > @@ -514,44 +515,65 @@ > printf("old value 0x%x\n", power); > power &= ~CB_SP_CLKSTOP; > > - switch(slt->pwr.vpp) { > + /* > + * vcc == -1 means automatically detect the > voltage of the card. > + * Do so and apply the right amount of power. > + */ > + if (slt->pwr.vcc == -1) { > + if (state & CB_SS_5VCARD) > + slt->pwr.vcc = 50; > + else if (state & CB_SS_3VCARD) > + slt->pwr.vcc = 33; > + else if (state & CB_SS_XVCARD) > + slt->pwr.vcc = 22; > + else if (state & CB_SS_YVCARD) > + slt->pwr.vcc = 11; > + } > + switch(slt->pwr.vcc) { > default: > return (EINVAL); > case 0: > - power |= CB_SP_VPP_0V; > + power |= CB_SP_VCC_0V; > + break; > + case 11: > + power |= CB_SP_VCC_YV; > + break; > + case 22: > + power |= CB_SP_VCC_XV; > break; > case 33: > - power |= CB_SP_VPP_3V; > + power |= CB_SP_VCC_3V; > break; > case 50: > - power |= CB_SP_VPP_5V; > - break; > - case 120: > - power |= CB_SP_VPP_12V; > + power |= CB_SP_VCC_5V; > break; > } > > - switch(slt->pwr.vcc) { > + /* > + * vpp == -1 means use vcc voltage. > + */ > + if (slt->pwr.vpp == -1) > + slt->pwr.vpp = slt->pwr.vcc; > + switch(slt->pwr.vpp) { > default: > return (EINVAL); > case 0: > - power |= CB_SP_VCC_0V; > + power |= CB_SP_VPP_0V; > + break; > + case 11: > + power |= CB_SP_VPP_YV; > + break; > + case 22: > + power |= CB_SP_VPP_XV; > break; > case 33: > - power |= CB_SP_VCC_3V; > + power |= CB_SP_VPP_3V; > break; > case 50: > - power |= CB_SP_VCC_5V; > + power |= CB_SP_VPP_5V; > break; > - case -1: > - if (state & CB_SS_5VCARD) > - power |= CB_SP_VCC_5V; > - else if (state & CB_SS_3VCARD) > - power |= CB_SP_VCC_3V; > - else if (state & CB_SS_XVCARD) > - power |= CB_SP_VCC_XV; > - else if (state & CB_SS_YVCARD) > - power |= CB_SP_VCC_YV; > + case 120: > + power |= CB_SP_VPP_12V; > break; > } > printf("Setting power reg to 0x%x", power); > @@ -572,6 +594,7 @@ > struct pcic_slot *sp = slt->cdata; > struct pcic_slot *sp2; > struct pcic_softc *sc = sp->sc; > + int dodefault = 0; > > /* > * Cardbus power registers are completely > different. > @@ -579,6 +602,9 @@ > if (sc->flags & PCIC_CARDBUS_POWER) > return (pcic_cardbus_power(sp, slt)); > > + if (bootverbose) > + device_printf(sc->dev, "Power: Vcc=%d Vpp=%d\n", > slt->pwr.vcc, > + slt->pwr.vpp); > /* > * If we're automatically detecting what voltage > to use, then we need > * to ask the bridge what type (voltage-wise) the > card is. > @@ -647,6 +673,13 @@ > device_printf(sc->dev, "Autodetected %d.%dV > card\n", > slt->pwr.vcc / 10, slt->pwr.vcc %10); > } > + if (slt->pwr.vcc == -1) { > + if (bootverbose) > + device_printf(sc->dev, > + "Couldn't autodetect voltage, assuming > 5.0V\n"); > + dodefault = 1; > + slt->pwr.vcc = 50; > + } > > /* > * XXX Note: The Vpp controls varies quit a bit > between bridge chips > @@ -655,6 +688,8 @@ > === message truncated === __________________________________________________ Do You Yahoo!? Yahoo! Sports - sign up for Fantasy Baseball http://sports.yahoo.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-mobile" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020305013245.51144.qmail>