Also ich hab mich jetzt etwas gespielt und einen schnellen patch gebastelt....
diff -up /usr/src/linux/arch/i386/kernel/cpu/cpufreq/powernow-k8.c powernow-k8.c
--- /usr/src/linux/arch/i386/kernel/cpu/cpufreq/powernow-k8.c 2007-06-11 20:37:06.000000000 +0200
+++ powernow-k8.c 2007-12-12 23:37:06.281031777 +0100
@@ -625,6 +625,8 @@ static int fill_powernow_table(struct po
}
for ( j=1; j<data->numps; j++ ) {
+printk(KERN_ERR PFX "fid %d = %d\n",j-1,pst[j-1].fid);
+printk(KERN_ERR PFX "fid %d = %d\n",j,pst[j].fid);
if (pst[j-1].fid >= pst[j].fid) {
printk(KERN_ERR PFX "PST out of sequence\n");
return -EINVAL;
@@ -740,6 +742,50 @@ static int find_psb_table(struct powerno
dprintk("numpstates: 0x%x\n", data->numps);
return fill_powernow_table(data, (struct pst_s *)(psb+1), maxvid);
}
+
+/*Override data...*/
+
+printk(KERN_ALERT PFX "Overriding BIOS provided tables with hardcoded values\n");
+data->vstable = 5;
+data->rvo = 2;
+data->irt = 2;
+mvs = 1;
+data->vidmvs = 1 << mvs;
+data->batps = 2;
+data->numps = 2;
+data->plllock = 2;
+
+struct pst_s override[4] = {{ .vid = 0x18, .fid = 0x00 },
+ { .vid = 0x06, .fid = 0x08 }};
+ return fill_powernow_table(data, override, 0);
+
+/*
+
+ Freq in MHz FID Voltage in mV VID
+ 800 0 950 24 18
+ 900 1 1 000 22 16
+ 1 000 2 1 050 20 14
+ 1 100 3 1 100 18 12
+ 1 200 4 1 150 16 10
+ 1 300 5 1 200 14 d
+ 1 400 6 1 250 12 c
+ 1 500 7 1 300 10 a
+ 1 600 8 1 350 8
+ 1 400 6
+ 1 450 4
+ 1 500 2
+ 1 550 0
+
+
+*/
+
+
+
/*
* If you see this message, complain to BIOS manufacturer. If
* he tells you "we do not support Linux" or some similar
ich hab die fids alle mal ausprobiert.. darauf sagt dann dmesg:
powernow-k8: Found 1 Mobile AMD Athlon(tm) XP-M Processor 2800+ processors (version 2.00.00)
powernow-k8: Overriding BIOS provided tables with hardcoded values
powernow-k8: Only 2 pstates usable (use ACPI driver for full range
powernow-k8: fid 0 = 0
powernow-k8: fid 1 = 7
powernow-k8: BIOS error: two low fids - 1 : 0x7
powernow-k8: Found 1 Mobile AMD Athlon(tm) XP-M Processor 2800+ processors (version 2.00.00)
powernow-k8: Overriding BIOS provided tables with hardcoded values
powernow-k8: Only 2 pstates usable (use ACPI driver for full range
powernow-k8: fid 0 = 0
powernow-k8: fid 1 = 6
powernow-k8: BIOS error: two low fids - 1 : 0x6
powernow-k8: Found 1 Mobile AMD Athlon(tm) XP-M Processor 2800+ processors (version 2.00.00)
powernow-k8: Overriding BIOS provided tables with hardcoded values
powernow-k8: Only 2 pstates usable (use ACPI driver for full range
powernow-k8: fid 0 = 0
powernow-k8: fid 1 = 5
powernow-k8: BIOS error: two low fids - 1 : 0x5
powernow-k8: Found 1 Mobile AMD Athlon(tm) XP-M Processor 2800+ processors (version 2.00.00)
powernow-k8: Overriding BIOS provided tables with hardcoded values
powernow-k8: Only 2 pstates usable (use ACPI driver for full range
powernow-k8: fid 0 = 0
powernow-k8: fid 1 = 5
powernow-k8: BIOS error: two low fids - 1 : 0x5
powernow-k8: Found 1 Mobile AMD Athlon(tm) XP-M Processor 2800+ processors (version 2.00.00)
powernow-k8: Overriding BIOS provided tables with hardcoded values
powernow-k8: Only 2 pstates usable (use ACPI driver for full range
powernow-k8: fid 0 = 0
powernow-k8: fid 1 = 4
powernow-k8: BIOS error: two low fids - 1 : 0x4
powernow-k8: Found 1 Mobile AMD Athlon(tm) XP-M Processor 2800+ processors (version 2.00.00)
powernow-k8: Overriding BIOS provided tables with hardcoded values
powernow-k8: Only 2 pstates usable (use ACPI driver for full range
powernow-k8: fid 0 = 0
powernow-k8: fid 1 = 3
powernow-k8: BIOS error: two low fids - 1 : 0x3
powernow-k8: Found 1 Mobile AMD Athlon(tm) XP-M Processor 2800+ processors (version 2.00.00)
powernow-k8: Overriding BIOS provided tables with hardcoded values
powernow-k8: Only 2 pstates usable (use ACPI driver for full range
powernow-k8: fid 0 = 0
powernow-k8: fid 1 = 2
powernow-k8: BIOS error: two low fids - 1 : 0x2
powernow-k8: Found 1 Mobile AMD Athlon(tm) XP-M Processor 2800+ processors (version 2.00.00)
powernow-k8: Overriding BIOS provided tables with hardcoded values
powernow-k8: Only 2 pstates usable (use ACPI driver for full range
powernow-k8: fid 0 = 0
powernow-k8: fid 1 = 1
powernow-k8: BIOS error: two low fids - 1 : 0x1
powernow-k8: Found 1 Mobile AMD Athlon(tm) XP-M Processor 2800+ processors (version 2.00.00)
powernow-k8: Overriding BIOS provided tables with hardcoded values
powernow-k8: Only 2 pstates usable (use ACPI driver for full range
powernow-k8: fid 0 = 0
powernow-k8: fid 1 = 8
powernow-k8: 0 : fid 0x0 (800 MHz), vid 0x18
powernow-k8: 1 : fid 0x8 (1600 MHz), vid 0x6
powernow-k8: Only 2 pstates on battery
damit sollte also fid 0x0 und 0x8 gehen... die FIDs dazwischen gehen nicht... die cpu scheint das nicht zu wollen...
dann noch die scaling governors laden...
root@honey:/usr/src/linux# /sbin/modprobe cpufreq_ondemand
root@honey:/usr/src/linux# /sbin/modprobe cpufreq_conservative
root@honey:/usr/src/linux# /sbin/modprobe cpufreq_userspace
FATAL: Module cpufreq_userspace not found.
root@honey:/usr/src/linux# /sbin/modprobe cpufreq_powersave
root@honey:/usr/src/linux# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
powersave conservative ondemand userspace
root@honey:/usr/src/linux# echo powersave>/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
root@honey:/usr/src/linux# cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 12
model name : Mobile AMD Athlon(tm) XP-M Processor 2800+
stepping : 0
cpu MHz : 800.000
cache size : 128 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext 3dnowext 3dnow ts fid vid ttp
bogomips : 1601.92
clflush size : 64
das bringt bei mir um 16W weniger zu kühlen
jetzt werd ich mal die cpu etwas quälen und schaun ob das nicht ein passiver vdr wird
73
edit:
bei normaler vdr-belastung bin ich passiv auf 60*C...
leistung zieh ich 37W mit NT und platte im standby...
der rechner spielt nur streaming client über libxineoutput mit einer Geforce 5200 bei 65Mhz gpu-clk und 200Mhz ram-clk
also eigentlich ganz ok für einen 50e rechner