From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tony Lindgren Subject: Re: powernow-k8-buggy-bios-override-for-266.patch Date: Thu, 13 May 2004 10:12:57 -0700 Sender: cpufreq-bounces@www.linux.org.uk Message-ID: <20040513171256.GA28678@atomide.com> References: <20040513144721.GA8015@dominikbrodowski.de> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="IS0zKkzwUGydFO0o" Return-path: Content-Disposition: inline In-Reply-To: <20040513144721.GA8015@dominikbrodowski.de> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: cpufreq-bounces+glkc-cpufreq=gmane.org@www.linux.org.uk To: davej@codemonkey.org.uk, akpm@osdl.org, cpufreq@www.linux.org.uk, pavel@ucw.cz --IS0zKkzwUGydFO0o Content-Type: text/plain; charset=us-ascii Content-Disposition: inline * Dominik Brodowski [040513 07:51]: > > > This patch should be safe to apply, even if Pavel's ACPI table check is > > added to the driver. > > Which check? I thought the powernow-k8 driver is quite up to date, Pavel? OK, after some further investigating here's what happens. The ACPI table parsing is there, and works. I was just updating my patch to 2.6.6, and did not pay much attention to what else had changed. However, since my computer locks up as of 2.6.6 if ACPI processor is compiled in, I've had it compiled as a module. Loading it after the init is done does not lock up the system... So I had CONFIG_ACPI_PROCESSOR=m, and that made the powernow-k8 ACPI detection to fail. It now works good with the following little patch. Now I also have the 1600MHz in addition to 800MHz and 1800MHz :) I can keep my earlier patch around on my website in case somebody needs it. It could also be included as secondary fallback if both ACPI and BIOS fail. What happens with the ACPI speed tables with CPU upgrade BTW? Are they hardcoded, or generated by the BIOS? Regards, Tony --IS0zKkzwUGydFO0o Content-Type: text/plain; charset=us-ascii Content-Disposition: inline; filename="patch-2.6.6-powernow-acpi-module" diff -Nru a/arch/i386/kernel/cpu/cpufreq/powernow-k8.c b/arch/i386/kernel/cpu/cpufreq/powernow-k8.c --- a/arch/i386/kernel/cpu/cpufreq/powernow-k8.c Thu May 13 09:58:24 2004 +++ b/arch/i386/kernel/cpu/cpufreq/powernow-k8.c Thu May 13 09:58:24 2004 @@ -32,7 +32,7 @@ #include #include -#ifdef CONFIG_ACPI_PROCESSOR +#if defined(CONFIG_ACPI_PROCESSOR) || defined(CONFIG_ACPI_PROCESSOR_MODULE) #include #include #endif @@ -666,7 +696,7 @@ return -ENODEV; } -#ifdef CONFIG_ACPI_PROCESSOR +#if defined(CONFIG_ACPI_PROCESSOR) || defined(CONFIG_ACPI_PROCESSOR_MODULE) static void powernow_k8_acpi_pst_values(struct powernow_k8_data *data, unsigned int index) { if (!data->acpi_data.state_count) diff -Nru a/arch/i386/kernel/cpu/cpufreq/powernow-k8.h b/arch/i386/kernel/cpu/cpufreq/powernow-k8.h --- a/arch/i386/kernel/cpu/cpufreq/powernow-k8.h Thu May 13 09:58:24 2004 +++ b/arch/i386/kernel/cpu/cpufreq/powernow-k8.h Thu May 13 09:58:24 2004 @@ -29,7 +29,7 @@ * frequency is in kHz */ struct cpufreq_frequency_table *powernow_table; -#ifdef CONFIG_ACPI_PROCESSOR +#if defined(CONFIG_ACPI_PROCESSOR) || defined(CONFIG_ACPI_PROCESSOR_MODULE) /* the acpi table needs to be kept. it's only available if ACPI was * used to determine valid frequency/vid/fid states */ struct acpi_processor_performance acpi_data; --IS0zKkzwUGydFO0o Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Cpufreq mailing list Cpufreq@www.linux.org.uk http://www.linux.org.uk/mailman/listinfo/cpufreq --IS0zKkzwUGydFO0o--