Comment 2 for bug 1447763

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

Collaborative Power Control = Enabled

enables "pcc-cpufreq" as the "core communication" between cpufreq driver AND firmware.

https://www.kernel.org/doc/Documentation/cpu-freq/pcc-cpufreq.txt

This is an interface used by HP extensively (HP servers tend to use extensively ACPI and interfaces between OS and firmware).

Judging by comments on commit:

https://lkml.org/lkml/2014/3/20/799

We can see that intel_pstates might actually fail to initialize cpufreq if it ever calls the cpufreq driver initialization and gets an error.

We might be getting a "0" from:

drivers/cpufreq/pcc-cpufreq.c -> pcc_get_freq()

which is called in the code (from commit given):

policy->cur = cpufreq_driver->get(policy->cpu);

During the cpufreq initialization function (__cpufreq_add_dev).

* This is actual the latest code in the kernel and they assume sometimes intel_pstates can fail to initialize cpufreq (even for other cpufreq drivers). If it fails it gives us that warning message pointed out. A workaround could be trying to "disable" and "enable" the core by putting it offline and online again * (Kernel code does not attempt to initialize cpufreq for a second time, for example).

It looks like HP ROM engineering team might want to debug this.