[Lucid] SRU: powernow-k8: Fix frequency reporting
Tim Gardner
tim.gardner at canonical.com
Mon May 3 14:15:53 UTC 2010
On 04/30/2010 03:12 PM, Stefan Bader wrote:
> SRU justification:
>
> Impact: This has been reported through AMD. There is a bug in the
> frequency governor which prevents the P-states to be correctly set
> (no boost).
>
> Fix: This fix has been queued up to linux-next and will be included in
> stable as well. To improve performance sooner we would be carrying this
> patch as pre-stable.
>
> Testcase: Checking CPU frequencies the boost state without the patch
> will never be reached.
>
> -Stefan
>
> From 679370641e3675633cad222449262abbe93a4a2a Mon Sep 17 00:00:00 2001
> From: Mark Langsdorf<mark.langsdorf at amd.com>
> Date: Wed, 31 Mar 2010 21:56:45 +0200
> Subject: [PATCH] powernow-k8: Fix frequency reporting
>
> BugLink: http://bugs.launchpad.net/bugs/572348
>
> With F10, model 10, all valid frequencies are in the ACPI _PST table.
>
> Cc:<stable at kernel.org> # 33.x 32.x
> Signed-off-by: Mark Langsdorf<mark.langsdorf at amd.com>
> LKML-Reference:<1270065406-1814-6-git-send-email-bp at amd64.org>
> Signed-off-by: Borislav Petkov<borislav.petkov at amd.com>
> Reviewed-by: Thomas Renninger<trenn at suse.de>
> Signed-off-by: H. Peter Anvin<hpa at zytor.com>
> Signed-off-by: Stefan Bader<stefan.bader at canonical.com>
> ---
> arch/x86/kernel/cpu/cpufreq/powernow-k8.c | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/arch/x86/kernel/cpu/cpufreq/powernow-k8.c b/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
> index 52fce63..6f3dc8f 100644
> --- a/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
> +++ b/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
> @@ -935,7 +935,8 @@ static int fill_powernow_table_pstate(struct powernow_k8_data *data,
> powernow_table[i].index = index;
>
> /* Frequency may be rounded for these */
> - if (boot_cpu_data.x86 == 0x10 || boot_cpu_data.x86 == 0x11) {
> + if ((boot_cpu_data.x86 == 0x10&& boot_cpu_data.x86_model< 10)
> + || boot_cpu_data.x86 == 0x11) {
> powernow_table[i].frequency =
> freq_from_fid_did(lo& 0x3f, (lo>> 6)& 7);
> } else
Acked-by: Tim Gardner <tim.gardner at canonical.com>
--
Tim Gardner tim.gardner at canonical.com
More information about the kernel-team
mailing list