--- speedstep-centrino.c.orig 2004-08-14 03:55:19.000000000 -0700 +++ speedstep-centrino.c 2004-10-11 20:24:09.000000000 -0700 @@ -60,6 +60,13 @@ .x86_mask = 1, }; +static const struct cpu_id cpu_id_dothan_a6 = { + .x86_vendor = X86_VENDOR_INTEL, + .x86 = 6, + .x86_model = 13, + .x86_mask = 6, +}; + struct cpu_model { const struct cpu_id *cpu_id; @@ -193,13 +200,17 @@ }; #undef OP +/*.model_name = "Intel(R) Pentium(R) M processor " name "GHz", \ +.model_name = "Intel(R) Pentium(R) M processor " name "GHz", \ +*/ + #define _BANIAS(cpuid, max, name) \ { .cpu_id = cpuid, \ - .model_name = "Intel(R) Pentium(R) M processor " name "MHz", \ + .model_name = "Intel(R) Pentium(R) M processor " name, \ .max_freq = (max)*1000, \ .op_points = banias_##max, \ } -#define BANIAS(max) _BANIAS(&cpu_id_banias, max, #max) +#define BANIAS(max) _BANIAS(&cpu_id_banias, max, #max"MHz") /* CPU models, their operating frequency range, and freq/voltage operating points */ @@ -213,6 +224,7 @@ BANIAS(1400), BANIAS(1500), BANIAS(1600), + _BANIAS(&cpu_id_dothan_a6, 1600, "1.60GHz"), BANIAS(1700), { NULL, } }; @@ -224,11 +236,22 @@ struct cpuinfo_x86 *cpu = &cpu_data[policy->cpu]; struct cpu_model *model; - for(model = models; model->model_name != NULL; model++) + printk(KERN_INFO PFX "CPU model \"%s\": " + " x86=%d vendor=%d model=%d stepping=%d \n", + cpu->x86_model_id, cpu->x86, + cpu->x86_vendor, cpu->x86_model, cpu->x86_mask ); + + for(model = models; model->model_name != NULL; model++) { + printk(KERN_INFO PFX "for() %s: ", model->model_name ); if ((strcmp(cpu->x86_model_id, model->model_name) == 0) && (!centrino_verify_cpu_id(cpu, model->cpu_id))) break; + } if (model->model_name == NULL) { + printk(KERN_INFO PFX "CPU model \"%s\": " + " x86=%d vendor=%d model=%d stepping=%d \n", + cpu->x86_model_id, cpu->x86, + cpu->x86_vendor, cpu->x86_model, cpu->x86_mask ); printk(KERN_INFO PFX "no support for CPU model \"%s\": " "send /proc/cpuinfo to " MAINTAINER "\n", cpu->x86_model_id); @@ -249,6 +272,9 @@ static int centrino_verify_cpu_id(struct cpuinfo_x86 *c, const struct cpu_id *x) { + printk(KERN_INFO PFX "verify(): " + " x86=%d v=%d m=%d s=%d \n", + x->x86, x->x86_vendor, x->x86_model, x->x86_mask ); if ((c->x86 == x->x86) && (c->x86_vendor == x->x86_vendor) && (c->x86_model == x->x86_model) && @@ -399,8 +425,9 @@ if (!cpu_has(cpu, X86_FEATURE_EST)) return -ENODEV; - if ((centrino_verify_cpu_id(cpu, &cpu_id_banias)) && - (centrino_verify_cpu_id(cpu, &cpu_id_dothan_a1))) { + if ((centrino_verify_cpu_id(cpu, &cpu_id_dothan_a6)) && + (centrino_verify_cpu_id(cpu, &cpu_id_banias)) && + (centrino_verify_cpu_id(cpu, &cpu_id_dothan_a1))) { printk(KERN_INFO PFX "found unsupported CPU with Enhanced SpeedStep: " "send /proc/cpuinfo to " MAINTAINER "\n"); return -ENODEV;