1. 27 1月, 2012 1 次提交
    • A
      cpufreq: Add support for x86 cpuinfo auto loading v4 · fa8031ae
      Andi Kleen 提交于
      This marks all the x86 cpuinfo tables to the CPU specific device drivers,
      to allow auto loading by udev. This should simplify the distribution
      startup scripts for this greatly.
      
      I didn't add MODULE_DEVICE_IDs to the centrino and p4-clockmod drivers,
      because those probably shouldn't be auto loaded and the acpi driver
      be used instead (not fully sure on that, would appreciate feedback)
      
      The old nforce drivers autoload based on the PCI ID.
      
      ACPI cpufreq is autoloaded in another patch.
      
      v3: Autoload gx based on PCI IDs only. Remove cpu check (Dave Jones)
      v4: Use newly introduce HW_PSTATE feature for powernow-k8 loading
      
      Cc: Dave Jones <davej@redhat.com>
      Cc: Kay Sievers <kay.sievers@vrfy.org>
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      Signed-off-by: NThomas Renninger <trenn@suse.de>
      Acked-by: NH. Peter Anvin <hpa@zytor.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      fa8031ae
  2. 06 1月, 2012 3 次提交
  3. 17 6月, 2011 2 次提交
    • K
      [CPUFREQ] powernow-k8: Don't try to transition if the pstate is incorrect · fbb5b89e
      Konrad Rzeszutek Wilk 提交于
      This patch augments the pstate transition code to error out
      (instead of returning 0) when an incorrect pstate is provided.
      Suggested-by: NBorislav Petkov <bp@alien8.de>
      CC: andre.przywara@amd.com
      CC: Mark.Langsdorf@amd.com
      Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Signed-off-by: NDave Jones <davej@redhat.com>
      fbb5b89e
    • K
      [CPUFREQ] powernow-k8: Don't notify of successful transition if we failed (vid case). · a9d3d206
      Konrad Rzeszutek Wilk 提交于
      Before this patch if we failed the vid transition would still try to
      submit the "new" frequencies to cpufreq.
      That is incorrect - also we could submit a non-existing frequency value
      which would cause cpufreq to crash. The ultimate fix is in cpufreq
      to deal with incorrect values, but this patch improves the error
      recovery in the AMD powernowk8 driver.
      
      The failure that was reported was as follows:
      
      powernow-k8: Found 1 AMD Athlon(tm) 64 Processor 3700+ (1 cpu cores) (version 2.20.00)
      powernow-k8: fid 0x2 (1000 MHz), vid 0x12
      powernow-k8: fid 0xa (1800 MHz), vid 0xa
      powernow-k8: fid 0xc (2000 MHz), vid 0x8
      powernow-k8: fid 0xe (2200 MHz), vid 0x8
      Marking TSC unstable due to cpufreq changes
      powernow-k8: fid trans failed, fid 0x2, curr 0x0
      BUG: unable to handle kernel paging request at ffff880807e07b78
      IP: [<ffffffff81479163>] cpufreq_stats_update+0x46/0x5b
      ...
      
      And transition fails and data->currfid ends up with 0. Since
      the machine does not support 800Mhz value when the calculation is
      done ('find_khz_freq_from_fid(data->currfid);') it reports the
      new frequency as 800000 which is bogus. This patch fixes
      the issue during target setting.
      
      The patch however does not fix the issue in 'powernowk8_cpu_init'
      where the pol->cur can also be set with the 800000 value:
      
                pol->cur = find_khz_freq_from_fid(data->currfid);
        dprintk("policy current frequency %d kHz\n", pol->cur);
      
        /* min/max the cpu is capable of */
        if (cpufreq_frequency_table_cpuinfo(pol, data->powernow_table)) {
      
      The fix for that looks to update cpufreq_frequency_table_cpuinfo to
      check pol->cur.... but that would cause an regression in how the
      acpi-cpufreq driver works (it sets cpu->cur after calling
      cpufreq_frequency_table_cpuinfo). Instead the fix will be to let
      cpufreq gracefully handle bogus data (another patch).
      Acked-by: NBorislav Petkov <bp@alien8.de>
      CC: andre.przywara@amd.com
      CC: Mark.Langsdorf@amd.com
      Reported-by: NTobias Diedrich <ranma+xen@tdiedrich.de>
      Tested-by: NTobias Diedrich <ranma+xen@tdiedrich.de>
      [v1: Rebased on v3.0-rc2, reduced patch to deal with vid case]
      Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Signed-off-by: NDave Jones <davej@redhat.com>
      a9d3d206
  4. 20 5月, 2011 1 次提交
  5. 04 5月, 2011 1 次提交
    • D
      [CPUFREQ] use dynamic debug instead of custom infrastructure · 2d06d8c4
      Dominik Brodowski 提交于
      With dynamic debug having gained the capability to report debug messages
      also during the boot process, it offers a far superior interface for
      debug messages than the custom cpufreq infrastructure. As a first step,
      remove the old cpufreq_debug_printk() function and replace it with a call
      to the generic pr_debug() function.
      
      How can dynamic debug be used on cpufreq? You need a kernel which has
      CONFIG_DYNAMIC_DEBUG enabled.
      
      To enabled debugging during runtime, mount debugfs and
      
      $ echo -n 'module cpufreq +p' > /sys/kernel/debug/dynamic_debug/control
      
      for debugging the complete "cpufreq" module. To achieve the same goal during
      boot, append
      
      	ddebug_query="module cpufreq +p"
      
      as a boot parameter to the kernel of your choice.
      
      For more detailled instructions, please see
      Documentation/dynamic-debug-howto.txt
      Signed-off-by: NDominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: NDave Jones <davej@redhat.com>
      2d06d8c4
  6. 18 3月, 2011 1 次提交
  7. 17 3月, 2011 1 次提交
  8. 02 3月, 2011 2 次提交
  9. 30 12月, 2010 2 次提交
  10. 04 8月, 2010 3 次提交
    • B
      [CPUFREQ] powernow-k8: Fix misleading variable naming · b30d3304
      Borislav Petkov 提交于
      rdmsr() takes the lower 32 bits as a second argument and the high 32 as
      a third. Fix the names accordingly since they were swapped.
      
      There should be no functionality change resulting from this patch.
      Signed-off-by: NBorislav Petkov <borislav.petkov@amd.com>
      Signed-off-by: NDave Jones <davej@redhat.com>
      b30d3304
    • M
      [CPUFREQ] powernow-k8: On load failure, remind the user to enable support in BIOS setup · 298decfb
      Marti Raudsepp 提交于
      On Wed, 2010-01-20 at 16:56 +0100, Thomas Renninger wrote:
      > But most often this happens if people upgrade their CPU and do not
      > update their BIOS.
      > Or the vendor does not recognise the new CPU even if the BIOS got
      > updated.
      
      Maybe some of those people just didn't realize it was disabled in BIOS?
      If you tell users that it's a firmware bug then they'll probably just
      give up.
      
      > The itself message might be an enhancment, IMO it's not worth a patch.
      
      Why do you think so? I spent an hour on hunting down the BIOS upgrade,
      only to find that it didn't improve anything. It was a day later that I
      realized that it might be a BIOS option; and the option was literally
      the _last_ option in the whole BIOS setup. :)
      
      This message would have saved the day.
      
      > But do not revert the FW_BUG part!
      
      Sure, you have a point here.
      
      How about this patch?
      298decfb
    • B
      [CPUFREQ] powernow-k8: Limit Pstate transition latency check · c2f4a2c6
      Borislav Petkov 提交于
      The Pstate transition latency check was added for broken F10h BIOSen
      which wrongly contain a value of 0 for transition and bus master
      latency. Fam11h and later, however, (will) have similar transition
      latency so extend that behavior for them too.
      Signed-off-by: NBorislav Petkov <borislav.petkov@amd.com>
      Signed-off-by: NDave Jones <davej@redhat.com>
      c2f4a2c6
  11. 27 7月, 2010 1 次提交
  12. 19 7月, 2010 1 次提交
  13. 26 5月, 2010 1 次提交
  14. 03 5月, 2010 1 次提交
  15. 10 4月, 2010 3 次提交
  16. 28 1月, 2010 1 次提交
  17. 13 1月, 2010 1 次提交
  18. 17 12月, 2009 1 次提交
    • R
      cpumask: rename tsk_cpumask to tsk_cpus_allowed · a4636818
      Rusty Russell 提交于
      Noone uses this wrapper yet, and Ingo asked that it be kept consistent
      with current task_struct usage.
      
      (One user crept in via linux-next: fixed)
      
      Signed-off-by: Rusty Russell <rusty@rustcorp.com.au.
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Tejun Heo <tj@kernel.org>
      a4636818
  19. 25 11月, 2009 2 次提交
    • T
      [ACPI/CPUFREQ] Introduce bios_limit per cpu cpufreq sysfs interface · e2f74f35
      Thomas Renninger 提交于
      This interface is mainly intended (and implemented) for ACPI _PPC BIOS
      frequency limitations, but other cpufreq drivers can also use it for
      similar use-cases.
      
      Why is this needed:
      
      Currently it's not obvious why cpufreq got limited.
      People see cpufreq/scaling_max_freq reduced, but this could have
      happened by:
        - any userspace prog writing to scaling_max_freq
        - thermal limitations
        - hardware (_PPC in ACPI case) limitiations
      
      Therefore export bios_limit (in kHz) to:
        - Point the user that it's the BIOS (broken or intended) which limits
          frequency
        - Export it as a sysfs interface for userspace progs.
          While this was a rarely used feature on laptops, there will appear
          more and more server implemenations providing "Green IT" features like
          allowing the service processor to limit the frequency. People want
          to know about HW/BIOS frequency limitations.
      
      All ACPI P-state driven cpufreq drivers are covered with this patch:
        - powernow-k8
        - powernow-k7
        - acpi-cpufreq
      
      Tested with a patched DSDT which limits the first two cores (_PPC returns 1)
      via _PPC, exposed by bios_limit:
      # echo 2200000 >cpu2/cpufreq/scaling_max_freq
      # cat cpu*/cpufreq/scaling_max_freq
      2600000
      2600000
      2200000
      2200000
      # #scaling_max_freq shows general user/thermal/BIOS limitations
      
      # cat cpu*/cpufreq/bios_limit
      2600000
      2600000
      2800000
      2800000
      # #bios_limit only shows the HW/BIOS limitation
      
      CC: Pallipadi Venkatesh <venkatesh.pallipadi@intel.com>
      CC: Len Brown <lenb@kernel.org>
      CC: davej@codemonkey.org.uk
      CC: linux@dominikbrodowski.net
      Signed-off-by: NThomas Renninger <trenn@suse.de>
      Signed-off-by: NDave Jones <davej@redhat.com>
      e2f74f35
    • R
      [CPUFREQ] cpumask: don't put a cpumask on the stack in x86...cpufreq/powernow-k8.c · b8cbe7e8
      Rusty Russell 提交于
      It's still mugging the current process's cpumask, but as comment in
      1ff6e97f says, it's not a trivial fix.
      
      So, at least we can use a cpumask_var_t to do the Wrong Thing the Right Way :)
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      To: cpufreq@vger.kernel.org
      Cc: Mark Langsdorf <mark.langsdorf@amd.com>
      Signed-off-by: NDave Jones <davej@redhat.com>
      b8cbe7e8
  20. 18 11月, 2009 1 次提交
  21. 16 9月, 2009 1 次提交
  22. 02 9月, 2009 1 次提交
  23. 09 7月, 2009 1 次提交
  24. 07 7月, 2009 1 次提交
  25. 15 6月, 2009 6 次提交