Difference between revisions of "Code/undervolt-pentium-m-2.6.13.1.patch"
(Moved from Editing Pentium M undervolting and underclocking ) |
(Put patch in <pre> block) |
||
Line 1: | Line 1: | ||
+ | <pre> | ||
--- linux-2.6.13.1-vanilla/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c 2005-09-10 05:42:58.000000000 +0300 | --- linux-2.6.13.1-vanilla/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c 2005-09-10 05:42:58.000000000 +0300 | ||
+++ linux-2.6.13.1/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c 2005-10-18 04:46:01.000000000 +0200 | +++ linux-2.6.13.1/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c 2005-10-18 04:46:01.000000000 +0200 | ||
Line 68: | Line 69: | ||
/* NULL model_name is a wildcard */ | /* NULL model_name is a wildcard */ | ||
{ &cpu_ids[CPU_DOTHAN_A1], NULL, 0, NULL }, | { &cpu_ids[CPU_DOTHAN_A1], NULL, 0, NULL }, | ||
+ | </pre> |
Latest revision as of 09:25, 11 April 2025
--- linux-2.6.13.1-vanilla/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c 2005-09-10 05:42:58.000000000 +0300 +++ linux-2.6.13.1/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c 2005-10-18 04:46:01.000000000 +0200 @@ -54,6 +54,7 @@ enum { CPU_DOTHAN_A1, CPU_DOTHAN_A2, CPU_DOTHAN_B0, + CPU_DOTHAN_C0, CPU_MP4HT_D0, CPU_MP4HT_E0, }; @@ -63,6 +64,8 @@ static const struct cpu_id cpu_ids[] = { [CPU_DOTHAN_A1] = { 6, 13, 1 }, [CPU_DOTHAN_A2] = { 6, 13, 2 }, [CPU_DOTHAN_B0] = { 6, 13, 6 }, + [CPU_DOTHAN_C0] = { 6, 13, 8 }, [CPU_MP4HT_D0] = {15, 3, 4 }, [CPU_MP4HT_E0] = {15, 4, 1 }, }; @@ -94,6 +97,12 @@ static struct cpufreq_driver centrino_dr .frequency = (mhz) * 1000, \ .index = (((mhz)/100) << 8) | ((mv - 700) / 16) \ } +/* Likewise, for processors with 133MHz FSB. */ +#define OP133(mhz, mv) \ + { \ + .frequency = (mhz) * 1000, \ + .index = (((mhz)/133) << 8) | ((mv - 700) / 16) \ + } /* * These voltage tables were derived from the Intel Pentium M @@ -202,7 +211,26 @@ static struct cpufreq_frequency_table ba OP(1700, 1484), { .frequency = CPUFREQ_TABLE_END } }; + +/* Intel Pentium M 750, drastically undervoltaged */ +static struct cpufreq_frequency_table pentium_m_750[] = +{ + /* MHz mV */ + OP133( 800, 700), + OP133(1066, 780), + OP133(1200, 828), + OP133(1333, 876), + OP133(1466, 924), + OP133(1600, 972), + OP133(1733, 1020), + OP133(1866, 1068), + { .frequency = CPUFREQ_TABLE_END } +}; + #undef OP +#undef OP133 #define _BANIAS(cpuid, max, name) \ { .cpu_id = cpuid, \ @@ -225,6 +253,12 @@ static struct cpu_model models[] = BANIAS(1500), BANIAS(1600), BANIAS(1700), + { + .cpu_id = &cpu_ids[CPU_DOTHAN_C0], + .model_name = "Intel(R) Pentium(R) M processor 1.86GHz", + .max_freq = 1866000, + .op_points = pentium_m_750 + }, /* NULL model_name is a wildcard */ { &cpu_ids[CPU_DOTHAN_A1], NULL, 0, NULL },