All pastes #998538 Raw Edit

Mine

public text v1 · immutable
#998538 ·published 2008-04-26 17:04 UTC
rendered paste body
diff -Nru a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
--- a/drivers/acpi/processor_idle.c	2008-04-26 17:54:38.000000000 +0200
+++ b/drivers/acpi/processor_idle.c	2008-04-26 17:31:15.000000000 +0200
@@ -181,6 +181,9 @@
 	  DMI_MATCH(DMI_BIOS_VENDOR,"Phoenix Technologies LTD"),
 	  DMI_MATCH(DMI_BIOS_VERSION,"SHE845M0.86C.0013.D.0302131307")},
 	 (void *)2},
+	 { set_max_cstate, "TOSHIBA L30-11E", {
+	  DMI_MATCH(DMI_BIOS_VENDOR,"TOSHIBA"),
+	  DMI_MATCH(DMI_BIOS_VERSION,"V2.80")}, (void *)2},
 	{},
 };
 
@@ -1018,6 +1021,22 @@
 				  "latency too large [%d]\n", cx->latency));
 		return;
 	}
+	
+	/*
+	 * Hack MUPUF : If the processor does not support this mode.
+	 * don't tell it is valid if it is not !
+	 */
+	else if (max_cstate < ACPI_STATE_C2)
+	{
+		cx->valid = 0;
+		
+		printk(KERN_NOTICE
+		       "ACPI: processor limited to max C-state %d -> set C-state 2 to invalid\n",
+		       max_cstate);
+		
+		return;
+	}
+
 
 	/*
 	 * Otherwise we've met all of our C2 requirements.
@@ -1101,6 +1120,21 @@
 		}
 		acpi_set_register(ACPI_BITREG_BUS_MASTER_RLD, 0);
 	}
+	
+	/*
+	 * Hack MUPUF : If the processor does not support this mode.
+	 * don't tell it is valid if it is not !
+	 */
+	if (max_cstate < ACPI_STATE_C3)
+	{
+		cx->valid = 0;
+		
+		printk(KERN_NOTICE
+		       "ACPI: processor limited to max C-state %d -> set C-state 3 to invalid\n",
+		       max_cstate);
+		
+		return;
+	}
 
 	/*
 	 * Otherwise we've met all of our C3 requirements.