2010-01-20 15:40:33

by Marti Raudsepp

[permalink] [raw]
Subject: [PATCH] powernow-k8: On load failure, remind the user to enable support in BIOS setup

arch/x86/kernel/cpu/cpufreq/powernow-k8.c | 15 +++++++++------
1 files changed, 9 insertions(+), 6 deletions(-)


In most cases this is simply user error or bad BIOS defaults, rather than a
firmware problem.

Signed-off-by: Marti Raudsepp <[email protected]>

diff --git a/arch/x86/kernel/cpu/cpufreq/powernow-k8.c b/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
--- a/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
+++ b/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
@@ -789,17 +789,20 @@
(struct pst_s *)(psb+1), maxvid);
}
/*
- * If you see this message, complain to BIOS manufacturer. If
- * he tells you "we do not support Linux" or some similar
- * nonsense, remember that Windows 2000 uses the same legacy
- * mechanism that the old Linux PSB driver uses. Tell them it
- * is broken with Windows 2000.
+ * If you see this message, check that Cool'N'Quiet is enabled
+ * in your BIOS setup. If that fails, complain to your BIOS
+ * manufacturer. If he tells you "we do not support Linux" or
+ * some similar nonsense, remember that Windows 2000 uses the
+ * same legacy mechanism that the old Linux PSB driver uses.
+ * Tell them it is broken with Windows 2000.
*
* The reference to the AMD documentation is chapter 9 in the
* BIOS and Kernel Developer's Guide, which is available on
* http://www.amd.com
*/
- printk(KERN_ERR FW_BUG PFX "No PSB or ACPI _PSS objects\n");
+ printk(KERN_ERR PFX "No PSB or ACPI _PSS objects\n");
+ printk(KERN_ERR PFX "Make sure that Cool'N'Quiet support is "
+ "enabled in your BIOS setup\n");
return -ENODEV;
}


2010-01-20 15:56:58

by Thomas Renninger

[permalink] [raw]
Subject: Re: [PATCH] powernow-k8: On load failure, remind the user to enable support in BIOS setup

On Wednesday 20 January 2010 16:33:26 Marti Raudsepp wrote:
> arch/x86/kernel/cpu/cpufreq/powernow-k8.c | 15 +++++++++------
> 1 files changed, 9 insertions(+), 6 deletions(-)
>
>
> In most cases this is simply user error or bad BIOS defaults, rather
> than a firmware problem.

Not acknowledged.
Bad BIOS defaults is a firmware problem.

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.

The itself message might be an enhancment, IMO it's not worth a patch.
But do not revert the FW_BUG part!

People complain to lkml or to the cpufreq list that cpufreq does not
work. The [Firmware Bug] (FW_BUG) already reminds them to do following
steps:
- Read up the BIOS setting description
- Update the BIOS
- If it still does not work complain to the vendor

Also this string gets picked up by the linuxfirmwarekit and it could not
detect anymore that the BIOS does not export cpufreq tables which is
very often *not* a wrong BIOS default, in which case the message is
misleading.

Thomas

> Signed-off-by: Marti Raudsepp <[email protected]>
>
> diff --git a/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
b/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
> --- a/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
> +++ b/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
> @@ -789,17 +789,20 @@
> (struct pst_s *)(psb+1), maxvid);
> }
> /*
> - * If you see this message, complain to BIOS manufacturer. If
> - * he tells you "we do not support Linux" or some similar
> - * nonsense, remember that Windows 2000 uses the same legacy
> - * mechanism that the old Linux PSB driver uses. Tell them it
> - * is broken with Windows 2000.
> + * If you see this message, check that Cool'N'Quiet is enabled
> + * in your BIOS setup. If that fails, complain to your BIOS
> + * manufacturer. If he tells you "we do not support Linux" or
> + * some similar nonsense, remember that Windows 2000 uses the
> + * same legacy mechanism that the old Linux PSB driver uses.
> + * Tell them it is broken with Windows 2000.
> *
> * The reference to the AMD documentation is chapter 9 in the
> * BIOS and Kernel Developer's Guide, which is available on
> * http://www.amd.com
> */
> - printk(KERN_ERR FW_BUG PFX "No PSB or ACPI _PSS objects\n");
> + printk(KERN_ERR PFX "No PSB or ACPI _PSS objects\n");
> + printk(KERN_ERR PFX "Make sure that Cool'N'Quiet support is "
> + "enabled in your BIOS setup\n");
> return -ENODEV;
> }
>
>

2010-01-20 17:19:43

by Marti Raudsepp

[permalink] [raw]
Subject: Re: [PATCH] powernow-k8: On load failure, remind the user to enable support in BIOS setup

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?

---
powernow-k8: On load failure, tell user to update BIOS and enable in BIOS setup

Signed-off-by: Marti Raudsepp <[email protected]>

diff --git a/arch/x86/kernel/cpu/cpufreq/powernow-k8.c b/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
--- a/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
+++ b/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
@@ -800,6 +800,8 @@
* http://www.amd.com
*/
printk(KERN_ERR FW_BUG PFX "No PSB or ACPI _PSS objects\n");
+ printk(KERN_ERR PFX "Make sure that your BIOS is up to date"
+ " and Cool'N'Quiet support is enabled in BIOS setup\n");
return -ENODEV;
}