Skip site navigation (1)Skip section navigation (2)
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>