]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
.32 patches
authorGreg Kroah-Hartman <gregkh@suse.de>
Tue, 26 Jan 2010 23:23:21 +0000 (15:23 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 26 Jan 2010 23:23:21 +0000 (15:23 -0800)
queue-2.6.32/acpi-enable-c2-and-turbo-mode-on-nehalem-notebooks-on-a-c.patch [new file with mode: 0644]
queue-2.6.32/iwlwifi-fix-throughput-stall-issue-in-ht-mode-for-5000.patch [new file with mode: 0644]
queue-2.6.32/series

diff --git a/queue-2.6.32/acpi-enable-c2-and-turbo-mode-on-nehalem-notebooks-on-a-c.patch b/queue-2.6.32/acpi-enable-c2-and-turbo-mode-on-nehalem-notebooks-on-a-c.patch
new file mode 100644 (file)
index 0000000..584d265
--- /dev/null
@@ -0,0 +1,79 @@
+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
+        */
diff --git a/queue-2.6.32/iwlwifi-fix-throughput-stall-issue-in-ht-mode-for-5000.patch b/queue-2.6.32/iwlwifi-fix-throughput-stall-issue-in-ht-mode-for-5000.patch
new file mode 100644 (file)
index 0000000..8a9bc83
--- /dev/null
@@ -0,0 +1,63 @@
+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));
index a4e60667159f185d14da37e78fc4ef7d02780b59..3f0df3df8d9f7aa5a83fd3dcd0b46d7c80143173 100644 (file)
@@ -94,3 +94,5 @@ kvm-fix-lock-imbalance-in-kvm_-_irq_source_id.patch
 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