Re: [arch-general] powernow-k8 fails to load with linux 3.7.2

André Przywara
2013-01-18T12:32:33Z

On Fri, 18 Jan 2013 12:37:17 +0100
Borislav Petkov <bp@alien8.de> wrote:

(updating Matthew's email as per MAINTAINERS)

> On Thu, Jan 17, 2013 at 07:40:44PM -0600, Leonid Isaev wrote:
> > Arrh, modprobe still does not exit cleanly with this...
>
> As I said already above:
>
> >> That's correct - we say ENODEV on your CPU which supports hardware
> >> P-states and hand off to acpi-cpufreq which has that functionality
> >> now.
>
> It is supposed to work that way: we return an error from the
> powernow-k8 init function so that it doesn't load but hand off to
> acpi-cpufreq so that it gets loaded instead.
>
> > > But, we also have the CPU autoprobing deal:
> > >
> > > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=644e9cbbe3fc032cc92d0936057e166a994dc246
> > >
> > > so, *actually*, powernow-k8 should be loaded by default. I dunno,
> > > maybe upgrade udev on your distro?
> >
> > Udev 196 and 197 + linux <= 3.6.11 yield correct CPU autoprobing.
> > However, udev 197 + linux 3.7.2 do not. I haven't tested udev 196
> > with 3.7.2 though, but it does not look like a udev issue.
>
> Hmm, I'll bet this has something to do with the fact that HW_PSTATE is
> in another CPUID function on AMD than on Intel and udev doesn't see
> that bit to load acpi-cpufreq automatically.

But the acpi-cpufreq does not export it's dependency on some CPUID
flags, since it is an _ACPI_ module. Shouldn't the load be triggered
while parsing the ACPI tree instead?

$ /sbin/modinfo drivers/cpufreq/acpi-cpufreq.ko | grep alias
alias: acpi

$ /sbin/modinfo drivers/cpufreq/powernow-k8.ko | grep alias
alias: x86cpu:vendor:0002:family:000F:model:*:feature:*

How does ArchLinux loads acpi-cpufreq on Intel CPUs? It should now be
the same mechanism on AMD. Or does it have acpi-cpufreq somehow
hard-coded in the scripts for GenuineIntel?

Regards,
Andre.