I'm trying to make Cool'n'Quiet working on DL145G1 (dual-socket 940-pin K8 processors) but I just get FID/VID changes on one of the CPU's (under Linux 2.6.37).
Problem seems to be that amd_model_fxx_generate_powernow just generates two "Processor" objects in SSDT. I think there should be one for each core.
If I add a factor 2 on row cpu/amd/model_fxx/powernow_acpi.c I get four Processor objects in my SSDT and everything works:
- for (index = 0; index < cmp_cap + 1; index++) { + for (index = 0; index < 2*(cmp_cap + 1); index++) { len += write_pstates_for_core(Pstate_num, Pstate_feq, Pstate_vid
cmp_cap is correctly detected further up as 1 or 0 depending on the dual-core-capability (of the first CPU).
Shouldn't there be a loop over all processor sockets around all this?
On Wed, Oct 5, 2011 at 4:05 PM, Oskar Enoksson enok@lysator.liu.se wrote:
I'm trying to make Cool'n'Quiet working on DL145G1 (dual-socket 940-pin K8 processors) but I just get FID/VID changes on one of the CPU's (under Linux 2.6.37).
Problem seems to be that amd_model_fxx_generate_powernow just generates two "Processor" objects in SSDT. I think there should be one for each core.
If I add a factor 2 on row cpu/amd/model_fxx/powernow_acpi.c I get four Processor objects in my SSDT and everything works:
- for (index = 0; index < cmp_cap + 1; index++) {
- for (index = 0; index < 2*(cmp_cap + 1); index++) {
len += write_pstates_for_core(Pstate_num, Pstate_feq, Pstate_vid
cmp_cap is correctly detected further up as 1 or 0 depending on the dual-core-capability (of the first CPU).
Shouldn't there be a loop over all processor sockets around all this?
Seems so.