All of lore.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.