Subject: Dell Latitude D610, speedstep doesn't work, cbb doesn't work w/ ACPI
To: None <port-i386@NetBSD.org, tech-kern@NetBSD.org>
From: Tracy Di Marco White <netbsd@gendalia.org>
List: tech-kern
Date: 08/18/2005 03:56:49
We just got a new laptop, and installed NetBSD 3.0_BETA from sources
dated the 16th or so.  The custom kernel uses ACPI for setting up
various things.  We also booted a current kernel from the build
machines, 200508150000Z, GENERIC_LAPTOP.  Neither speedstep nor
the cardbus bridge are working right. I'm willing to work on fixing
(or testing fixes for) both of these problems, but I need a little
help figuring out what to do.

The current dmesg:
http://gendalia.public.iastate.edu/D610/GENERIC_LAPTOP.dmesg

The 3.0_BETA custom kernel config file & dmesg:
http://gendalia.public.iastate.edu/D610/CUSTOM.dmesg
http://gendalia.public.iastate.edu/D610/CUSTOM

speedstep issue:
===============
cpu0 at mainbus0: (uniprocessor)
cpu0: Intel Pentium M (Dothan) (686-class), 1596.05 MHz, id 0x6d8
cpu0: features afe9fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu0: features afe9fbff<PGE,MCA,CMOV,PAT,CFLUSH,DS,ACPI,MMX>
cpu0: features afe9fbff<FXSR,SSE,SSE2,SS,TM,SBF>
cpu0: features2 180<EST,TM2>
cpu0: "Intel(R) Pentium(R) M processor 1.60GHz"
cpu0: using thermal monitor 1
cpu0: Enhanced SpeedStep running at 1200 MHz (1308 mV)
cpu0: Enhanced SpeedStep operating point not in table

The new Dothan 1.6GHz processors resemble the old ones in several
ways, but they are 533MHz front side bus, instead of 400MHz.
So the speed step running at number is wrong, 1200/400*533 = 1599,
something is assuming 400MHz front side bus.  The new processor
has XD now, execute disable, too.

The new processors also are supposed to use acpi to change operating
speeds and voltages, and we don't support that, or at least it's not
in 3.0_BETA.  I'm willing to work on fixing this, but I'd like
pointers on where to start.


cbb issue:
=========
# dmesg|grep cbb
cbb0 at pci3 dev 1 function 0: Texas Instruments product 0x8036 (rev. 0x00)
cbb0: NOT USED because of unconfigured interrupt

# pcictl pci3 list
003:01:0: Texas Instruments product 0x8036 (CardBus bridge)
003:01:5: Texas Instruments product 0x8038 (miscellaneous communications)
003:03:0: Intel PRO/Wireless LAN 2915ABG Mini-PCI Adapter (miscellaneous network, revision 0x05)

WIth the GENERIC_LAPTOP current kernel:
003:01:0 0x104c 0x8036   A  0x03   5  0    already assigned

I just tried the GENERIC 3.0_BETA kernel, and I get
# dmesg | grep cbb
cbb0 at pci3 dev 1 function 0: Texas Instruments product 0x8036 (rev. 0x00)
cbb0: interrupting at irq 5
cardslot0 at cbb0 slot 0 flags 0

So I tried the CUSTOM kernel with all the ACPI stuff commented out.
# dmesg|grep cbb
cbb0 at pci3 dev 1 function 0: Texas Instruments product 0x8036 (rev. 0x00)
cbb0: interrupting at irq 5
cardslot0 at cbb0 slot 0 flags 0

Something is wrong with ACPI here, too.

(I've also tried GENERIC.MPACPI (from 3.0_BETA) and that kernel reboots
instantly.)

-Tracy