diff options
Diffstat (limited to 'perl-install/cpufreq.pm')
-rw-r--r-- | perl-install/cpufreq.pm | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/perl-install/cpufreq.pm b/perl-install/cpufreq.pm index 5468e45ae..bbcf56700 100644 --- a/perl-install/cpufreq.pm +++ b/perl-install/cpufreq.pm @@ -74,15 +74,6 @@ sub probe_gsx() { find_pci_device([ 0x1078, 0x0100 ], [ 0x1078, 0x0002 ], [ 0x1078, 0x0000 ]); } -sub probe_powerpc() { - arch() =~ /ppc/ && any { - member($_->{motherboard}, ('PowerBook3,4', 'PowerBook3,5', 'PowerBook4,1', 'PowerBook3,2', 'MacRISC3')) && - # Kernel contains a special case for the supported 750FX, - # not sure if the cpu name can be used, so use same test as kernel - first($_->{revision} =~ /\bpvr\s+(\d+)\b/) == 7000; - } get_cpus(); -} - sub probe_p4() { any { get_vendor($_) eq "Intel" && ( @@ -109,9 +100,11 @@ sub probe_powernow_k7() { sub probe_powernow_k8() { any { - get_vendor($_) eq "AMD" && - $_->{'cpu family'} == 15 && - ($_->{'power management'} =~ /\bfid\b/ || has_flag($_, 'fid')); # frequency ID control + get_vendor($_) eq "AMD" && ( + ($_->{'cpu family'} == 15 && ($_->{'power management'} =~ /\bfid\b/ || has_flag($_, 'fid'))) # frequency ID control) + || + $_->{'cpu family'} == 16 && ($_->{'power management'} =~ /\bhwpstate\b/) # support for Athlon/Phenom II processors (#58477)) + ); } get_cpus(); } @@ -123,6 +116,15 @@ sub probe_longhaul() { } get_cpus(); } +sub probe_e_powersaver() { + any { + get_vendor($_) eq "Centaur" && + has_flag($_, 'est') && + $_->{'cpu family'} == 6 && + member($_->{model}, 10, 13); + } get_cpus(); +} + sub probe_longrun() { any { get_vendor($_) eq "Transmeta" && @@ -146,6 +148,7 @@ my @modules = ( [ "powernow-k7", \&probe_powernow_k7 ], [ "powernow-k8", \&probe_powernow_k8 ], [ "longhaul", \&probe_longhaul ], + [ "e_powersaver", \&probe_e_powersaver ], [ "longrun", \&probe_longrun ], ); @@ -154,11 +157,11 @@ sub find_driver() { $m && $m->[0]; } -my @governor_modules = map { "cpufreq_$_" } qw(performance powersave conservative ondemand); +my @governor_modules = map { "cpufreq_$_" } qw(powersave conservative ondemand); sub get_modules() { my $module; - if (probe_powerpc() || ($module = find_driver())) { + if ($module = find_driver()) { return if_($module, $module), @governor_modules; } (); |