--- /dev/null
+From lenb@kernel.org Tue Jan 26 14:41:37 2010
+From: Len Brown <lenb@kernel.org>
+Date: Tue, 26 Jan 2010 16:15:28 -0500 (EST)
+Subject: ACPI: enable C2 and Turbo-mode on Nehalem notebooks on A/C
+To: stable@kernel.org
+Cc: linux-acpi@vger.kernel.org
+Message-ID: <alpine.LFD.2.00.1001261554510.4493@localhost.localdomain>
+
+
+From: Len Brown <len.brown@intel.com>
+
+upstream in 2.6.33-rc: 5d76b6f6c17572e662f5c99c2023adae92100855
+
+Refreshed here for 2.6.32.y, applies w/ offset back to 2.6.29.y.
+
+Linux has always ignored ACPI BIOS C2 with exit latency > 100 usec,
+and the ACPI spec is clear that is correct FADT-supplied C2.
+
+However, the ACPI spec explicitly states that _CST-supplied C-states
+have no latency limits.
+
+So move the 100usec C2 test out of the code shared
+by FADT and _CST code-paths, and into the FADT-specific path.
+
+This bug has not been visible until Nehalem, which advertises
+a CPU-C2 worst case exit latency on servers of 205usec.
+That (incorrect) figure is being used by BIOS writers
+on mobile Nehalem systems for the AC configuration.
+Thus, Linux ignores C2 leaving just C1, which is
+saves less power, and also impacts performance
+by preventing the use of turbo mode.
+
+http://bugzilla.kernel.org/show_bug.cgi?id=15064
+
+Tested-by: Alex Chiang <achiang@hp.com>
+Signed-off-by: Len Brown <len.brown@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/acpi/processor_idle.c | 21 +++++++++++----------
+ 1 file changed, 11 insertions(+), 10 deletions(-)
+
+--- a/drivers/acpi/processor_idle.c
++++ b/drivers/acpi/processor_idle.c
+@@ -299,6 +299,17 @@ static int acpi_processor_get_power_info
+ pr->power.states[ACPI_STATE_C2].latency = acpi_gbl_FADT.C2latency;
+ pr->power.states[ACPI_STATE_C3].latency = acpi_gbl_FADT.C3latency;
+
++ /*
++ * FADT specified C2 latency must be less than or equal to
++ * 100 microseconds.
++ */
++ if (acpi_gbl_FADT.C2latency > ACPI_PROCESSOR_MAX_C2_LATENCY) {
++ ACPI_DEBUG_PRINT((ACPI_DB_INFO,
++ "C2 latency too large [%d]\n", acpi_gbl_FADT.C2latency));
++ /* invalidate C2 */
++ pr->power.states[ACPI_STATE_C2].address = 0;
++ }
++
+ ACPI_DEBUG_PRINT((ACPI_DB_INFO,
+ "lvl2[0x%08x] lvl3[0x%08x]\n",
+ pr->power.states[ACPI_STATE_C2].address,
+@@ -495,16 +506,6 @@ static void acpi_processor_power_verify_
+ return;
+
+ /*
+- * C2 latency must be less than or equal to 100
+- * microseconds.
+- */
+- else if (cx->latency > ACPI_PROCESSOR_MAX_C2_LATENCY) {
+- ACPI_DEBUG_PRINT((ACPI_DB_INFO,
+- "latency too large [%d]\n", cx->latency));
+- return;
+- }
+-
+- /*
+ * Otherwise we've met all of our C2 requirements.
+ * Normalize the C2 latency to expidite policy
+ */
--- /dev/null
+From reinette.chatre@intel.com Tue Jan 26 14:43:57 2010
+From: Reinette Chatre <reinette.chatre@intel.com>
+Date: Tue, 26 Jan 2010 12:00:43 -0800
+Subject: iwlwifi: Fix throughput stall issue in HT mode for 5000
+To: stable@kernel.org
+Cc: Reinette Chatre <reinette.chatre@intel.com>, Wey-Yi Guy <wey-yi.w.guy@intel.com>, "John W. Linville" <linville@tuxdriver.com>
+Message-ID: <1264536043-31204-1-git-send-email-reinette.chatre@intel.com>
+
+
+From: Wey-Yi Guy <wey-yi.w.guy@intel.com>
+
+commit 1152dcc28c66a74b5b3f1a3ede0aa6729bfd48e4 upstream
+
+Similar to 6000 and 1000 series, RTS/CTS is the recommended protection
+mechanism for 5000 series in HT mode based on the HW design.
+
+Using RTS/CTS will better protect the inner exchange from interference,
+especially in highly-congested environment, it also prevent uCode encounter
+TX FIFO underrun and other HT mode related performance issues.
+
+Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
+Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
+Signed-off-by: John W. Linville <linville@tuxdriver.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/net/wireless/iwlwifi/iwl-5000.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/drivers/net/wireless/iwlwifi/iwl-5000.c
++++ b/drivers/net/wireless/iwlwifi/iwl-5000.c
+@@ -1666,6 +1666,7 @@ struct iwl_cfg iwl5300_agn_cfg = {
+ .valid_rx_ant = ANT_ABC,
+ .need_pll_cfg = true,
+ .ht_greenfield_support = true,
++ .use_rts_for_ht = true, /* use rts/cts protection */
+ };
+
+ struct iwl_cfg iwl5100_bg_cfg = {
+@@ -1717,6 +1718,7 @@ struct iwl_cfg iwl5100_agn_cfg = {
+ .valid_rx_ant = ANT_AB,
+ .need_pll_cfg = true,
+ .ht_greenfield_support = true,
++ .use_rts_for_ht = true, /* use rts/cts protection */
+ };
+
+ struct iwl_cfg iwl5350_agn_cfg = {
+@@ -1734,6 +1736,7 @@ struct iwl_cfg iwl5350_agn_cfg = {
+ .valid_rx_ant = ANT_ABC,
+ .need_pll_cfg = true,
+ .ht_greenfield_support = true,
++ .use_rts_for_ht = true, /* use rts/cts protection */
+ };
+
+ struct iwl_cfg iwl5150_agn_cfg = {
+@@ -1751,6 +1754,7 @@ struct iwl_cfg iwl5150_agn_cfg = {
+ .valid_rx_ant = ANT_AB,
+ .need_pll_cfg = true,
+ .ht_greenfield_support = true,
++ .use_rts_for_ht = true, /* use rts/cts protection */
+ };
+
+ MODULE_FIRMWARE(IWL5000_MODULE_FIRMWARE(IWL5000_UCODE_API_MAX));
kvm-only-clear-irq_source_id-if-irqchip-is-present.patch
ipoib-clear-ipoib_neigh.dgid-in-ipoib_neigh_alloc.patch
x86-reenable-tsc-sync-check-at-boot-even-with-nonstop_tsc.patch
+acpi-enable-c2-and-turbo-mode-on-nehalem-notebooks-on-a-c.patch
+iwlwifi-fix-throughput-stall-issue-in-ht-mode-for-5000.patch