From: Greg Kroah-Hartman Date: Wed, 7 Mar 2012 19:39:12 +0000 (-0800) Subject: 3.2-stable patches X-Git-Tag: v3.0.24~24 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=047dfeb66d22c278274075d28be80f9a4c6fc7f6;p=thirdparty%2Fkernel%2Fstable-queue.git 3.2-stable patches added patches: drm-i915-gen7-implement-an-l3-caching-workaround.patch drm-i915-gen7-implement-rczunit-workaround.patch rtl8192cu-add-new-device-ids.patch --- 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 index 00000000000..350841f84c6 --- /dev/null +++ b/queue-3.2/drm-i915-gen7-implement-an-l3-caching-workaround.patch @@ -0,0 +1,56 @@ +From e4e0c058a19c41150d12ad2d3023b3cf09c5de67 Mon Sep 17 00:00:00 2001 +From: Eugeni Dodonov +Date: Wed, 8 Feb 2012 12:53:50 -0800 +Subject: drm/i915: gen7: Implement an L3 caching workaround. + +From: Eugeni Dodonov + +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 +Signed-off-by: Eugeni Dodonov +Signed-off-by: Kenneth Graunke +Signed-off-by: Jesse Barnes +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..68741289f96 --- /dev/null +++ b/queue-3.2/drm-i915-gen7-implement-rczunit-workaround.patch @@ -0,0 +1,49 @@ +From eae66b50c760233fad526edf4a0d327be17a055d Mon Sep 17 00:00:00 2001 +From: Eugeni Dodonov +Date: Wed, 8 Feb 2012 12:53:49 -0800 +Subject: drm/i915: gen7: implement rczunit workaround + +From: Eugeni Dodonov + +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 +Signed-off-by: Eugeni Dodonov +Signed-off-by: Kenneth Graunke +Signed-off-by: Jesse Barnes +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..50020800218 --- /dev/null +++ b/queue-3.2/rtl8192cu-add-new-device-ids.patch @@ -0,0 +1,106 @@ +From 6cddafab54e9a17b2efefe982547865955a5ff3a Mon Sep 17 00:00:00 2001 +From: Larry Finger +Date: Tue, 18 Oct 2011 17:52:01 -0500 +Subject: rtl8192cu: Add new device IDs + +From: Larry Finger + +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 +Signed-off-by: John W. Linville +Signed-off-by: Greg Kroah-Hartman + +--- + 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*/ + {} + }; diff --git a/queue-3.2/series b/queue-3.2/series index 0bdfcd34781..e01ae1caf60 100644 --- a/queue-3.2/series +++ b/queue-3.2/series @@ -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