Lines Matching +full:ultra +full:- +full:low
1 // SPDX-License-Identifier: GPL-2.0-only
33 #define MAINTAINER "linux-pm@vger.kernel.org"
88 .driver_data = (((mhz)/100) << 8) | ((mv - 700) / 16) \
98 /* Ultra Low Voltage Intel Pentium M processor 900MHz (Banias) */
107 /* Ultra Low Voltage Intel Pentium M processor 1000MHz (Banias) */
117 /* Low Voltage Intel Pentium M processor 1.10GHz (Banias) */
129 /* Low Voltage Intel Pentium M processor 1.20GHz (Banias) */
236 struct cpuinfo_x86 *cpu = &cpu_data(policy->cpu); in centrino_cpu_init_table()
239 for(model = models; model->cpu_id != NULL; model++) in centrino_cpu_init_table()
240 if (centrino_verify_cpu_id(cpu, model->cpu_id) && in centrino_cpu_init_table()
241 (model->model_name == NULL || in centrino_cpu_init_table()
242 strcmp(cpu->x86_model_id, model->model_name) == 0)) in centrino_cpu_init_table()
245 if (model->cpu_id == NULL) { in centrino_cpu_init_table()
249 cpu->x86_model_id); in centrino_cpu_init_table()
250 return -ENOENT; in centrino_cpu_init_table()
253 if (model->op_points == NULL) { in centrino_cpu_init_table()
254 /* Matched a non-match */ in centrino_cpu_init_table()
256 cpu->x86_model_id); in centrino_cpu_init_table()
257 pr_debug("try using the acpi-cpufreq driver\n"); in centrino_cpu_init_table()
258 return -ENOENT; in centrino_cpu_init_table()
261 per_cpu(centrino_model, policy->cpu) = model; in centrino_cpu_init_table()
264 model->model_name, model->max_freq); in centrino_cpu_init_table()
272 return -ENODEV; in centrino_cpu_init_table()
279 if ((c->x86 == x->x86) && in centrino_verify_cpu_id()
280 (c->x86_model == x->x86_model) && in centrino_verify_cpu_id()
281 (c->x86_stepping == x->x86_stepping)) in centrino_verify_cpu_id()
304 (!per_cpu(centrino_model, cpu)->op_points)) in extract_clock()
309 per_cpu(centrino_model, cpu)->op_points[i].frequency in extract_clock()
312 if (msr == per_cpu(centrino_model, cpu)->op_points[i].driver_data) in extract_clock()
313 return per_cpu(centrino_model, cpu)-> in extract_clock()
317 return per_cpu(centrino_model, cpu)->op_points[i-1].frequency; in extract_clock()
335 * P-state transition (like TM2). Get the last freq set in get_cur_freq()
347 struct cpuinfo_x86 *cpu = &cpu_data(policy->cpu); in centrino_cpu_init()
351 /* Only Intel makes Enhanced Speedstep-capable CPUs */ in centrino_cpu_init()
352 if (cpu->x86_vendor != X86_VENDOR_INTEL || in centrino_cpu_init()
354 return -ENODEV; in centrino_cpu_init()
359 if (policy->cpu != 0) in centrino_cpu_init()
360 return -ENODEV; in centrino_cpu_init()
367 per_cpu(centrino_cpu, policy->cpu) = &cpu_ids[i]; in centrino_cpu_init()
369 if (!per_cpu(centrino_cpu, policy->cpu)) { in centrino_cpu_init()
373 return -ENODEV; in centrino_cpu_init()
377 return -ENODEV; in centrino_cpu_init()
392 return -ENODEV; in centrino_cpu_init()
396 policy->cpuinfo.transition_latency = 10000; in centrino_cpu_init()
398 policy->freq_table = per_cpu(centrino_model, policy->cpu)->op_points; in centrino_cpu_init()
405 unsigned int cpu = policy->cpu; in centrino_cpu_exit()
408 return -ENODEV; in centrino_cpu_exit()
416 * centrino_target - set a new CPUFreq policy
424 unsigned int msr, oldmsr = 0, h = 0, cpu = policy->cpu; in centrino_target()
431 return -ENOMEM; in centrino_target()
434 retval = -ENODEV; in centrino_target()
439 op_points = &per_cpu(centrino_model, cpu)->op_points[index]; in centrino_target()
440 for_each_cpu(j, policy->cpus) { in centrino_target()
447 if (policy->shared_type == CPUFREQ_SHARED_TYPE_ANY) in centrino_target()
448 good_cpu = cpumask_any_and(policy->cpus, in centrino_target()
455 retval = -EAGAIN; in centrino_target()
463 msr = op_points->driver_data; in centrino_target()
468 pr_debug("no change needed - msr was and needs " in centrino_target()
482 if (policy->shared_type == CPUFREQ_SHARED_TYPE_ANY) in centrino_target()
491 * We have sent callbacks to policy->cpus and in centrino_target()
507 .name = "centrino", /* should be speedstep-centrino,
531 * centrino_init - initializes the Enhanced SpeedStep CPUFreq driver
533 * Initializes the Enhanced SpeedStep support. Returns -ENODEV on
534 * unsupported devices, -ENOENT if there's no voltage table for this
535 * particular CPU model, -EINVAL on problems during initiatization,
547 return -ENODEV; in centrino_init()