]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.2-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 7 Mar 2012 19:39:12 +0000 (11:39 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 7 Mar 2012 19:39:12 +0000 (11:39 -0800)
added patches:
drm-i915-gen7-implement-an-l3-caching-workaround.patch
drm-i915-gen7-implement-rczunit-workaround.patch
rtl8192cu-add-new-device-ids.patch

queue-3.2/drm-i915-gen7-implement-an-l3-caching-workaround.patch [new file with mode: 0644]
queue-3.2/drm-i915-gen7-implement-rczunit-workaround.patch [new file with mode: 0644]
queue-3.2/rtl8192cu-add-new-device-ids.patch [new file with mode: 0644]
queue-3.2/series

diff --git a/queue-3.2/drm-i915-gen7-implement-an-l3-caching-workaround.patch b/queue-3.2/drm-i915-gen7-implement-an-l3-caching-workaround.patch
new file mode 100644 (file)
index 0000000..350841f
--- /dev/null
@@ -0,0 +1,56 @@
+From e4e0c058a19c41150d12ad2d3023b3cf09c5de67 Mon Sep 17 00:00:00 2001
+From: Eugeni Dodonov <eugeni.dodonov@intel.com>
+Date: Wed, 8 Feb 2012 12:53:50 -0800
+Subject: drm/i915: gen7: Implement an L3 caching workaround.
+
+From: Eugeni Dodonov <eugeni.dodonov@intel.com>
+
+commit e4e0c058a19c41150d12ad2d3023b3cf09c5de67 upstream.
+
+This adds two cache-related workarounds for Ivy Bridge which can lead to
+3D ring hangs and corruptions.
+
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41353
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44610
+Tested-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
+Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
+Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
+Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/i915/i915_reg.h      |    7 +++++++
+ drivers/gpu/drm/i915/intel_display.c |    6 ++++++
+ 2 files changed, 13 insertions(+)
+
+--- a/drivers/gpu/drm/i915/i915_reg.h
++++ b/drivers/gpu/drm/i915/i915_reg.h
+@@ -2886,6 +2886,13 @@
+ #define  DISP_TILE_SURFACE_SWIZZLING  (1<<13)
+ #define  DISP_FBC_WM_DIS              (1<<15)
++/* GEN7 chicken */
++#define GEN7_L3CNTLREG1                               0xB01C
++#define  GEN7_WA_FOR_GEN7_L3_CONTROL                  0x3C4FFF8C
++
++#define GEN7_L3_CHICKEN_MODE_REGISTER         0xB030
++#define  GEN7_WA_L3_CHICKEN_MODE                              0x20000000
++
+ /* PCH */
+ /* south display engine interrupt */
+--- a/drivers/gpu/drm/i915/intel_display.c
++++ b/drivers/gpu/drm/i915/intel_display.c
+@@ -8255,6 +8255,12 @@ static void ivybridge_init_clock_gating(
+       I915_WRITE(ILK_DSPCLK_GATE, IVB_VRHUNIT_CLK_GATE);
++      /* WaApplyL3ControlAndL3ChickenMode requires those two on Ivy Bridge */
++      I915_WRITE(GEN7_L3CNTLREG1,
++                      GEN7_WA_FOR_GEN7_L3_CONTROL);
++      I915_WRITE(GEN7_L3_CHICKEN_MODE_REGISTER,
++                      GEN7_WA_L3_CHICKEN_MODE);
++
+       for_each_pipe(pipe) {
+               I915_WRITE(DSPCNTR(pipe),
+                          I915_READ(DSPCNTR(pipe)) |
diff --git a/queue-3.2/drm-i915-gen7-implement-rczunit-workaround.patch b/queue-3.2/drm-i915-gen7-implement-rczunit-workaround.patch
new file mode 100644 (file)
index 0000000..6874128
--- /dev/null
@@ -0,0 +1,49 @@
+From eae66b50c760233fad526edf4a0d327be17a055d Mon Sep 17 00:00:00 2001
+From: Eugeni Dodonov <eugeni.dodonov@intel.com>
+Date: Wed, 8 Feb 2012 12:53:49 -0800
+Subject: drm/i915: gen7: implement rczunit workaround
+
+From: Eugeni Dodonov <eugeni.dodonov@intel.com>
+
+commit eae66b50c760233fad526edf4a0d327be17a055d upstream.
+
+This is yet another workaround related to clock gating which we need on
+Ivy Bridge.
+
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41353
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44610
+Tested-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
+Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
+Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
+Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/i915/i915_reg.h      |    1 +
+ drivers/gpu/drm/i915/intel_display.c |    5 +++++
+ 2 files changed, 6 insertions(+)
+
+--- a/drivers/gpu/drm/i915/i915_reg.h
++++ b/drivers/gpu/drm/i915/i915_reg.h
+@@ -3476,6 +3476,7 @@
+ #define    GT_FIFO_NUM_RESERVED_ENTRIES               20
+ #define GEN6_UCGCTL2                          0x9404
++# define GEN6_RCZUNIT_CLOCK_GATE_DISABLE              (1 << 13)
+ # define GEN6_RCPBUNIT_CLOCK_GATE_DISABLE             (1 << 12)
+ # define GEN6_RCCUNIT_CLOCK_GATE_DISABLE              (1 << 11)
+--- a/drivers/gpu/drm/i915/intel_display.c
++++ b/drivers/gpu/drm/i915/intel_display.c
+@@ -8248,6 +8248,11 @@ static void ivybridge_init_clock_gating(
+       I915_WRITE(WM2_LP_ILK, 0);
+       I915_WRITE(WM1_LP_ILK, 0);
++      /* According to the spec, bit 13 (RCZUNIT) must be set on IVB.
++       * This implements the WaDisableRCZUnitClockGating workaround.
++       */
++      I915_WRITE(GEN6_UCGCTL2, GEN6_RCZUNIT_CLOCK_GATE_DISABLE);
++
+       I915_WRITE(ILK_DSPCLK_GATE, IVB_VRHUNIT_CLK_GATE);
+       for_each_pipe(pipe) {
diff --git a/queue-3.2/rtl8192cu-add-new-device-ids.patch b/queue-3.2/rtl8192cu-add-new-device-ids.patch
new file mode 100644 (file)
index 0000000..5002080
--- /dev/null
@@ -0,0 +1,106 @@
+From 6cddafab54e9a17b2efefe982547865955a5ff3a Mon Sep 17 00:00:00 2001
+From: Larry Finger <Larry.Finger@lwfinger.net>
+Date: Tue, 18 Oct 2011 17:52:01 -0500
+Subject: rtl8192cu: Add new device IDs
+
+From: Larry Finger <Larry.Finger@lwfinger.net>
+
+commit 6cddafab54e9a17b2efefe982547865955a5ff3a upstream.
+
+The latest vendor (non-mac80211) driver of 9/22/2011 shows some new
+device IDs for rtl8192cu. In addition, some typos in the table are
+fixed and one duplicate is removed.
+
+Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
+Signed-off-by: John W. Linville <linville@tuxdriver.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/wireless/rtlwifi/rtl8192cu/sw.c |   36 ++++++++++++++++++++++++----
+ 1 file changed, 32 insertions(+), 4 deletions(-)
+
+--- a/drivers/net/wireless/rtlwifi/rtl8192cu/sw.c
++++ b/drivers/net/wireless/rtlwifi/rtl8192cu/sw.c
+@@ -275,6 +275,8 @@ static struct usb_device_id rtl8192c_usb
+       {RTL_USB_DEVICE(USB_VENDER_ID_REALTEK, 0x8191, rtl92cu_hal_cfg)},
+       /****** 8188CU ********/
++      /* RTL8188CTV */
++      {RTL_USB_DEVICE(USB_VENDER_ID_REALTEK, 0x018a, rtl92cu_hal_cfg)},
+       /* 8188CE-VAU USB minCard */
+       {RTL_USB_DEVICE(USB_VENDER_ID_REALTEK, 0x8170, rtl92cu_hal_cfg)},
+       /* 8188cu 1*1 dongle */
+@@ -291,14 +293,14 @@ static struct usb_device_id rtl8192c_usb
+       {RTL_USB_DEVICE(USB_VENDER_ID_REALTEK, 0x817e, rtl92cu_hal_cfg)},
+       /* 8188RU in Alfa AWUS036NHR */
+       {RTL_USB_DEVICE(USB_VENDER_ID_REALTEK, 0x817f, rtl92cu_hal_cfg)},
++      /* RTL8188CUS-VL */
++      {RTL_USB_DEVICE(USB_VENDER_ID_REALTEK, 0x818a, rtl92cu_hal_cfg)},
+       /* 8188 Combo for BC4 */
+       {RTL_USB_DEVICE(USB_VENDER_ID_REALTEK, 0x8754, rtl92cu_hal_cfg)},
+       /****** 8192CU ********/
+-      /* 8191cu 1*2 */
+-      {RTL_USB_DEVICE(USB_VENDER_ID_REALTEK, 0x8177, rtl92cu_hal_cfg)},
+       /* 8192cu 2*2 */
+-      {RTL_USB_DEVICE(USB_VENDER_ID_REALTEK, 0x817b, rtl92cu_hal_cfg)},
++      {RTL_USB_DEVICE(USB_VENDER_ID_REALTEK, 0x8178, rtl92cu_hal_cfg)},
+       /* 8192CE-VAU USB minCard */
+       {RTL_USB_DEVICE(USB_VENDER_ID_REALTEK, 0x817c, rtl92cu_hal_cfg)},
+@@ -309,13 +311,17 @@ static struct usb_device_id rtl8192c_usb
+       {RTL_USB_DEVICE(0x07b8, 0x8188, rtl92cu_hal_cfg)}, /*Abocom - Abocom*/
+       {RTL_USB_DEVICE(0x07b8, 0x8189, rtl92cu_hal_cfg)}, /*Funai - Abocom*/
+       {RTL_USB_DEVICE(0x0846, 0x9041, rtl92cu_hal_cfg)}, /*NetGear WNA1000M*/
+-      {RTL_USB_DEVICE(0x0Df6, 0x0052, rtl92cu_hal_cfg)}, /*Sitecom - Edimax*/
++      {RTL_USB_DEVICE(0x0df6, 0x0052, rtl92cu_hal_cfg)}, /*Sitecom - Edimax*/
++      {RTL_USB_DEVICE(0x0df6, 0x005c, rtl92cu_hal_cfg)}, /*Sitecom - Edimax*/
+       {RTL_USB_DEVICE(0x0eb0, 0x9071, rtl92cu_hal_cfg)}, /*NO Brand - Etop*/
+       /* HP - Lite-On ,8188CUS Slim Combo */
+       {RTL_USB_DEVICE(0x103c, 0x1629, rtl92cu_hal_cfg)},
+       {RTL_USB_DEVICE(0x13d3, 0x3357, rtl92cu_hal_cfg)}, /* AzureWave */
+       {RTL_USB_DEVICE(0x2001, 0x3308, rtl92cu_hal_cfg)}, /*D-Link - Alpha*/
++      {RTL_USB_DEVICE(0x2019, 0x4902, rtl92cu_hal_cfg)}, /*Planex - Etop*/
+       {RTL_USB_DEVICE(0x2019, 0xab2a, rtl92cu_hal_cfg)}, /*Planex - Abocom*/
++      /*SW-WF02-AD15 -Abocom*/
++      {RTL_USB_DEVICE(0x2019, 0xab2e, rtl92cu_hal_cfg)},
+       {RTL_USB_DEVICE(0x2019, 0xed17, rtl92cu_hal_cfg)}, /*PCI - Edimax*/
+       {RTL_USB_DEVICE(0x20f4, 0x648b, rtl92cu_hal_cfg)}, /*TRENDnet - Cameo*/
+       {RTL_USB_DEVICE(0x7392, 0x7811, rtl92cu_hal_cfg)}, /*Edimax - Edimax*/
+@@ -326,14 +332,36 @@ static struct usb_device_id rtl8192c_usb
+       {RTL_USB_DEVICE(0x4855, 0x0091, rtl92cu_hal_cfg)}, /* NetweeN-Feixun */
+       {RTL_USB_DEVICE(0x9846, 0x9041, rtl92cu_hal_cfg)}, /* Netgear Cameo */
++      /****** 8188 RU ********/
++      /* Netcore */
++      {RTL_USB_DEVICE(USB_VENDER_ID_REALTEK, 0x317f, rtl92cu_hal_cfg)},
++
++      /****** 8188CUS Slim Solo********/
++      {RTL_USB_DEVICE(0x04f2, 0xaff7, rtl92cu_hal_cfg)}, /*Xavi*/
++      {RTL_USB_DEVICE(0x04f2, 0xaff9, rtl92cu_hal_cfg)}, /*Xavi*/
++      {RTL_USB_DEVICE(0x04f2, 0xaffa, rtl92cu_hal_cfg)}, /*Xavi*/
++
++      /****** 8188CUS Slim Combo ********/
++      {RTL_USB_DEVICE(0x04f2, 0xaff8, rtl92cu_hal_cfg)}, /*Xavi*/
++      {RTL_USB_DEVICE(0x04f2, 0xaffb, rtl92cu_hal_cfg)}, /*Xavi*/
++      {RTL_USB_DEVICE(0x04f2, 0xaffc, rtl92cu_hal_cfg)}, /*Xavi*/
++      {RTL_USB_DEVICE(0x2019, 0x1201, rtl92cu_hal_cfg)}, /*Planex-Vencer*/
++
+       /****** 8192CU ********/
++      {RTL_USB_DEVICE(0x050d, 0x2102, rtl92cu_hal_cfg)}, /*Belcom-Sercomm*/
++      {RTL_USB_DEVICE(0x050d, 0x2103, rtl92cu_hal_cfg)}, /*Belcom-Edimax*/
+       {RTL_USB_DEVICE(0x0586, 0x341f, rtl92cu_hal_cfg)}, /*Zyxel -Abocom*/
+       {RTL_USB_DEVICE(0x07aa, 0x0056, rtl92cu_hal_cfg)}, /*ATKK-Gemtek*/
+       {RTL_USB_DEVICE(0x07b8, 0x8178, rtl92cu_hal_cfg)}, /*Funai -Abocom*/
++      {RTL_USB_DEVICE(0x0846, 0x9021, rtl92cu_hal_cfg)}, /*Netgear-Sercomm*/
++      {RTL_USB_DEVICE(0x0b05, 0x17ab, rtl92cu_hal_cfg)}, /*ASUS-Edimax*/
++      {RTL_USB_DEVICE(0x0df6, 0x0061, rtl92cu_hal_cfg)}, /*Sitecom-Edimax*/
++      {RTL_USB_DEVICE(0x0e66, 0x0019, rtl92cu_hal_cfg)}, /*Hawking-Edimax*/
+       {RTL_USB_DEVICE(0x2001, 0x3307, rtl92cu_hal_cfg)}, /*D-Link-Cameo*/
+       {RTL_USB_DEVICE(0x2001, 0x3309, rtl92cu_hal_cfg)}, /*D-Link-Alpha*/
+       {RTL_USB_DEVICE(0x2001, 0x330a, rtl92cu_hal_cfg)}, /*D-Link-Alpha*/
+       {RTL_USB_DEVICE(0x2019, 0xab2b, rtl92cu_hal_cfg)}, /*Planex -Abocom*/
++      {RTL_USB_DEVICE(0x20f4, 0x624d, rtl92cu_hal_cfg)}, /*TRENDNet*/
+       {RTL_USB_DEVICE(0x7392, 0x7822, rtl92cu_hal_cfg)}, /*Edimax -Edimax*/
+       {}
+ };
index 0bdfcd347815ecf7e665792f5494d77e12e98646..e01ae1caf60513c1a3a68efc7d0207461544c796 100644 (file)
@@ -48,3 +48,6 @@ asoc-i.mx-ssi-fix-dsp_a-format.patch
 bsg-fix-sysfs-link-remove-warning.patch
 avr32-select-generic-atomic64_t-support.patch
 acpi-pm-do-not-save-restore-nvs-on-asus-k54c-k54hr.patch
+rtl8192cu-add-new-device-ids.patch
+drm-i915-gen7-implement-rczunit-workaround.patch
+drm-i915-gen7-implement-an-l3-caching-workaround.patch