From: Thomas Renninger <trenn@suse.de>
To: linux-kernel@vger.kernel.org
Cc: ak@linux.intel.com, len.brown@intel.com, arjan@linux.intel.com,
bjorn.helgaas@hp.com, linux-acpi@vger.kernel.org,
Thomas Renninger <trenn@suse.de>
Subject: [PATCH 3/3] acpi-cpufreq: Make use of firmware bug report interface
Date: Wed, 20 Aug 2008 19:02:06 +0200 [thread overview]
Message-ID: <1219251726-24746-4-git-send-email-trenn@suse.de> (raw)
In-Reply-To: <1219251726-24746-1-git-send-email-trenn@suse.de>
Enhance check for processor cpufreq support, but missing or wrong ACPI
cpufreq package information. This often happens if the BIOS is older
as the CPU. Users should be told to update the BIOS then.
Not sure whether the check will show false negatives, e.g. some old
Pentium M (Banias/Dothan) worked with static compiled-in cpufreq tables.
-> needs review.
Best probably is to check whether a _PPC function exists in the processor
object, but this must be done in drivers/acpi/processor_*.c.
This should always be an indicator for an too old BIOS.
Signed-off-by: Thomas Renninger <trenn@suse.de>
---
arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c | 16 +++++++++++++++-
1 files changed, 15 insertions(+), 1 deletions(-)
diff --git a/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c b/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c
index dd097b8..1288142 100644
--- a/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c
+++ b/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c
@@ -26,6 +26,7 @@
*/
#include <linux/kernel.h>
+#include <linux/firmware_error.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/smp.h>
@@ -67,6 +68,8 @@ struct acpi_cpufreq_data {
unsigned int cpu_feature;
};
+#define PFX "acpi-cpufreq: "
+
static DEFINE_PER_CPU(struct acpi_cpufreq_data *, drv_data);
/* acpi_perf_data is a pointer to percpu data. */
@@ -354,7 +357,12 @@ static unsigned int get_cur_freq_on_cpu(unsigned int cpu)
/*
* The dreaded BIOS frequency change behind our back.
* Force set the frequency on next target call.
+ * Dell tends to do this on their laptops and it is evil.
*/
+ FW_PRINT_WARN(FW_WARN, PFX " BIOS must not change frequency "
+ "on _PPC changes, let OS do this");
+
+
data->resume = 1;
}
@@ -587,8 +595,14 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy)
acpi_cpufreq_driver.flags |= CPUFREQ_CONST_LOOPS;
result = acpi_processor_register_performance(data->acpi_data, cpu);
- if (result)
+ if (result) {
+ if (cpu_has(c, X86_FEATURE_EST)) {
+ FW_PRINT_CRIT(FW_ERR, PFX "Speedstep supported, but "
+ "invalid ACPI CPU information, BIOS "
+ "update needed");
+ }
goto err_free;
+ }
perf = data->acpi_data;
policy->shared_type = perf->shared_type;
--
1.5.4.5
prev parent reply other threads:[~2008-08-20 17:02 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-20 17:02 [RFC] Introduce interface to report BIOS bugs Thomas Renninger
2008-08-20 17:02 ` [PATCH 1/3] " Thomas Renninger
2008-08-20 17:37 ` Andi Kleen
2008-08-20 18:37 ` Bjorn Helgaas
2008-08-21 13:52 ` Thomas Renninger
2008-08-21 15:19 ` Bjorn Helgaas
2008-08-27 13:27 ` Introduce interface to report BIOS bugs (reworked, FW_BUG simple solution) Thomas Renninger
2008-08-27 13:34 ` Thomas Renninger
2008-08-27 15:19 ` Andi Kleen
2008-08-30 13:15 ` Pavel Machek
2008-08-27 13:27 ` [PATCH 1/3] Introduce FW_BUG and FW_INFO to consistenly tell users about BIOS bugs Thomas Renninger
2008-08-27 13:27 ` [PATCH 2/3] CPUFREQ: powernow-k8: Try to detect old BIOS, not supporting CPU freq on a recent AMD CPUs Thomas Renninger
2008-08-27 13:27 ` [PATCH 3/3] CPUFREQ: processor.ko: Try to detect old BIOS, not supporting CPU freq on a recent CPU Thomas Renninger
2008-08-22 10:19 ` [PATCH 1/3] Introduce interface to report BIOS bugs Pavel Machek
2008-08-20 17:02 ` [PATCH 2/3] Powernow-k8: Make use of firmware bug report interface Thomas Renninger
2008-08-22 10:19 ` Pavel Machek
2008-08-20 17:02 ` Thomas Renninger [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1219251726-24746-4-git-send-email-trenn@suse.de \
--to=trenn@suse.de \
--cc=ak@linux.intel.com \
--cc=arjan@linux.intel.com \
--cc=bjorn.helgaas@hp.com \
--cc=len.brown@intel.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox