PowerNow!, cpufreq, and swsusp

Christopher Meredith (theophile@saintmail.net)
Wed, 12 Mar 2003 12:06:33 -0500


Just compiled the 2.5.63 kernel with the intention of
getting support for certain features of my laptop. I;ve got
a Mobile Athlon XP 1800+ w/ PowerNow! technology and was
hoping to use it, as well as be able to "hibernate" the
machine.

#
# Power management options (ACPI, APM)
#
CONFIG_PM=y
CONFIG_SOFTWARE_SUSPEND=y

#
# ACPI Support
#
CONFIG_ACPI=y
# CONFIG_ACPI_HT_ONLY is not set
CONFIG_ACPI_BOOT=y
# CONFIG_ACPI_SLEEP is not set
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_FAN=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_TOSHIBA is not set
CONFIG_ACPI_DEBUG=y
CONFIG_ACPI_BUS=y
CONFIG_ACPI_INTERPRETER=y
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_PCI=y
CONFIG_ACPI_SYSTEM=y
CONFIG_APM=m
# CONFIG_APM_IGNORE_USER_SUSPEND is not set
# CONFIG_APM_DO_ENABLE is not set
# CONFIG_APM_CPU_IDLE is not set
# CONFIG_APM_DISPLAY_BLANK is not set
# CONFIG_APM_RTC_IS_GMT is not set
# CONFIG_APM_ALLOW_INTS is not set
# CONFIG_APM_REAL_MODE_POWER_OFF is not set

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
# CONFIG_CPU_FREQ_PROC_INTF is not set
# CONFIG_CPU_FREQ_24_API is not set
CONFIG_CPU_FREQ_TABLE=y

#
# CPUFreq processor drivers
#
# CONFIG_X86_ACPI_CPUFREQ is not set
# CONFIG_X86_POWERNOW_K6 is not set
CONFIG_X86_POWERNOW_K7=y
# CONFIG_X86_GX_SUSPMOD is not set
# CONFIG_X86_SPEEDSTEP is not set
# CONFIG_X86_P4_CLOCKMOD is not set
# CONFIG_X86_LONGRUN is not set
# CONFIG_X86_LONGHAUL is not set

And from /var/log/messages:

Mar 11 00:55:49 Judea kernel: powernow: AMD K7 CPU detected.
Mar 11 00:55:49 Judea kernel: powernow: PowerNOW! Technology
present. Can scale: frequency and voltage.
Mar 11 00:55:49 Judea kernel: powernow: Found PSB header at
c00f1920
Mar 11 00:55:49 Judea kernel: powernow: Table version: 0x12
Mar 11 00:55:49 Judea kernel: powernow: Flags: 0x0 (Mobile
voltage regulator)
Mar 11 00:55:49 Judea kernel: powernow: Settling Time: 100
microseconds.
Mar 11 00:55:50 Judea kernel: powernow: Has 14 PST tables.
(Only dumping ones relevant to this CPU).
Mar 11 00:55:50 Judea kernel: powernow: PST:4 (@c00f1978)
Mar 11 00:55:50 Judea kernel: powernow: cpuid: 0x780^Ifsb:
133^ImaxFID: 0x1^Istartvid: 0x9
Mar 11 00:55:50 Judea kernel: powernow: FID: 0x4 (5.0x
[665MHz])^IVID: 0x13 (1.200V)
Mar 11 00:55:50 Judea kernel: powernow: FID: 0x6 (6.0x
[798MHz])^IVID: 0x13 (1.200V)
Mar 11 00:55:50 Judea kernel: powernow: FID: 0xa (8.0x
[1064MHz])^IVID: 0x13 (1.200V)
Mar 11 00:55:50 Judea kernel: powernow: FID: 0xe (10.0x
[1330MHz])^IVID: 0xb (1.450V)
Mar 11 00:55:50 Judea kernel: powernow: FID: 0x1 (11.5x
[1529MHz])^IVID: 0x9 (1.550V)
Mar 11 00:55:50 Judea kernel: powernow: Minimum speed 665
MHz. Maximum speed 1529 MHz.

# LILO configuration file
# generated by 'liloconfig'
#
# Start LILO global section
append="hdc=ide-scsi, resume=/dev/hda3"
boot = /dev/hda
compact # faster, but won't work on all systems.
prompt

When I boot, I get a message that no resume image was found
(which is fine) and it boots normally. However, the
documentation for swsusp says the following:
"You need to append resume=/dev/your_swap_partition to
kernel command line. Then you suspend by echo 4 >
/proc/acpi/sleep."

As shown above, that line has been entered into lilo.conf,
however, /proc/acpi/sleep does not exist. What is the
problem here?

Also, cpufreq doesn't seem to do anything. Should it be
working automatically? Even when the machine sits unattended
for over 8 hours, the fan never turns off and the cpu
temperature is consustently 69-70 degrees C. What must I do
here? Thanks for your help!

~Christopher

---------------------------------------
Use SaintMail! - http://www.saintmail.net
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/