public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
* [PATHC] Relaxed syntax for the processor PBLK length
@ 2005-01-30 20:05 Eric Piel
       [not found] ` <41FD3E02.8010701-VkQ1JFuSMpfAbQlEx87xDw@public.gmane.org>
  0 siblings, 1 reply; 14+ messages in thread
From: Eric Piel @ 2005-01-30 20:05 UTC (permalink / raw)
  To: len.brown-ral2JQCrhuEAvxtiuMwx3w
  Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

[-- Attachment #1: Type: text/plain, Size: 722 bytes --]

Hello,

In the original DSDT of my laptop (Acer TravelMate 614) the processor 
PBLK length is declared to be 5. The legal and only allowed value is 6. 
This is an error in the DSDT and actually it is 6. Allowing Linux ACPI 
to read also processor PBLK length of 5 works and permits the processor 
to have the C-states correctly detected. In turn it allows the processor 
to get less hot (so this is eventually useful).

I've noticed that some other Acer DSDT also have this length 
mis-indicated. The attached patch adds some logic to the ACPI to allow a 
processor PBLK length of 5 when the syntax is relaxed.

Hoping this can be useful,
Eric

Signed-off-by: Eric Piel <eric.piel-VkQ1JFuSMpfAbQlEx87xDw@public.gmane.org>

[-- Attachment #2: acpi-processor-pblk-length-2.6.11-rc2.patch --]
[-- Type: text/x-patch, Size: 993 bytes --]

--- linux-2.6.11-rc2/drivers/acpi/processor_core.c.orig	2005-01-23 01:24:55.315650055 +0100
+++ linux-2.6.11-rc2/drivers/acpi/processor_core.c	2005-01-23 01:27:32.016020121 +0100
@@ -492,9 +492,16 @@ acpi_processor_get_info (
 	if (!object.processor.pblk_address)
 		ACPI_DEBUG_PRINT((ACPI_DB_INFO, "No PBLK (NULL address)\n"));
 	else if (object.processor.pblk_length != 6)
-		ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Invalid PBLK length [%d]\n",
-			object.processor.pblk_length));
-	else {
+		if (object.processor.pblk_length == 5 && !acpi_strict) {
+			printk(KERN_INFO PREFIX 
+				"PBLK length is 5 instead of 6, concidering "
+				"it is good anyway.\n");
+			goto PBLK_length_good;
+		} else
+			ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Invalid PBLK length [%d]\n",
+				object.processor.pblk_length));
+ 	else {
+PBLK_length_good:
 		pr->throttling.address = object.processor.pblk_address;
 		pr->throttling.duty_offset = acpi_fadt.duty_offset;
 		pr->throttling.duty_width = acpi_fadt.duty_width;

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2005-01-31 18:53 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-01-30 20:05 [PATHC] Relaxed syntax for the processor PBLK length Eric Piel
     [not found] ` <41FD3E02.8010701-VkQ1JFuSMpfAbQlEx87xDw@public.gmane.org>
2005-01-30 21:39   ` Johan Vromans
2005-01-30 22:43   ` Richard Dawe
2005-01-31 14:58   ` Bruno Ducrot
     [not found]     ` <20050131145836.GA1145-kk6yZipjEM5g9hUCZPvPmw@public.gmane.org>
2005-01-31 15:11       ` Eric Piel
     [not found]         ` <41FE4ABF.9040100-VkQ1JFuSMpfAbQlEx87xDw@public.gmane.org>
2005-01-31 15:29           ` Bruno Ducrot
     [not found]             ` <20050131152931.GC1145-kk6yZipjEM5g9hUCZPvPmw@public.gmane.org>
2005-01-31 15:44               ` Eric Piel
2005-01-31 15:47               ` Herman Sheremetyev
2005-01-31 15:59               ` Dominik Brodowski
     [not found]                 ` <20050131155917.GA4416-X3ehHDuj6sIIGcDfoQAp7BvVK+yQ3ZXh@public.gmane.org>
2005-01-31 16:14                   ` Eric Piel
     [not found]                     ` <41FE595D.5020605-VkQ1JFuSMpfAbQlEx87xDw@public.gmane.org>
2005-01-31 16:26                       ` Dominik Brodowski
     [not found]                         ` <20050131162628.GA4911-X3ehHDuj6sIIGcDfoQAp7BvVK+yQ3ZXh@public.gmane.org>
2005-01-31 16:29                           ` Dominik Brodowski
2005-01-31 16:36                   ` Bruno Ducrot
     [not found]                     ` <20050131163603.GE1145-kk6yZipjEM5g9hUCZPvPmw@public.gmane.org>
2005-01-31 18:53                       ` Dominik Brodowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox