]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.6-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 6 Dec 2012 20:23:21 +0000 (12:23 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 6 Dec 2012 20:23:21 +0000 (12:23 -0800)
added patches:
8139cp-revert-set-ring-address-before-enabling-receiver.patch
acpi-missing-break.patch
drm-i915-add-no-lvds-quirk-for-supermicro-x7spa-h.patch
i915-quirk-no_lvds-on-gigabyte-ga-d525tud-itx-motherboard.patch
net-qmi_wwan-add-huawei-e173.patch
net-qmi_wwan-adding-more-zte-devices.patch
s390-mm-have-16-byte-aligned-struct-pages.patch
x86-amd-disable-way-access-filter-on-piledriver-cpus.patch

queue-3.6/8139cp-revert-set-ring-address-before-enabling-receiver.patch [new file with mode: 0644]
queue-3.6/acpi-missing-break.patch [new file with mode: 0644]
queue-3.6/drm-i915-add-no-lvds-quirk-for-supermicro-x7spa-h.patch [new file with mode: 0644]
queue-3.6/i915-quirk-no_lvds-on-gigabyte-ga-d525tud-itx-motherboard.patch [new file with mode: 0644]
queue-3.6/net-qmi_wwan-add-huawei-e173.patch [new file with mode: 0644]
queue-3.6/net-qmi_wwan-adding-more-zte-devices.patch [new file with mode: 0644]
queue-3.6/s390-mm-have-16-byte-aligned-struct-pages.patch [new file with mode: 0644]
queue-3.6/series
queue-3.6/x86-amd-disable-way-access-filter-on-piledriver-cpus.patch [new file with mode: 0644]

diff --git a/queue-3.6/8139cp-revert-set-ring-address-before-enabling-receiver.patch b/queue-3.6/8139cp-revert-set-ring-address-before-enabling-receiver.patch
new file mode 100644 (file)
index 0000000..07ae2c2
--- /dev/null
@@ -0,0 +1,64 @@
+From b26623dab7eeb1e9f5898c7a49458789dd492f20 Mon Sep 17 00:00:00 2001
+From: Francois Romieu <romieu@fr.zoreil.com>
+Date: Wed, 21 Nov 2012 10:07:29 +0000
+Subject: 8139cp: revert "set ring address before enabling receiver"
+
+From: Francois Romieu <romieu@fr.zoreil.com>
+
+commit b26623dab7eeb1e9f5898c7a49458789dd492f20 upstream.
+
+This patch reverts b01af4579ec41f48e9b9c774e70bd6474ad210db.
+
+The original patch was tested with emulated hardware. Real
+hardware chokes.
+
+Fixes https://bugzilla.kernel.org/show_bug.cgi?id=47041
+
+Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
+Acked-by: Jeff Garzik <jgarzik@redhat.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: CAI Qian <caiqian@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/ethernet/realtek/8139cp.c |   22 +++++++++++-----------
+ 1 file changed, 11 insertions(+), 11 deletions(-)
+
+--- a/drivers/net/ethernet/realtek/8139cp.c
++++ b/drivers/net/ethernet/realtek/8139cp.c
+@@ -979,17 +979,6 @@ static void cp_init_hw (struct cp_privat
+       cpw32_f (MAC0 + 0, le32_to_cpu (*(__le32 *) (dev->dev_addr + 0)));
+       cpw32_f (MAC0 + 4, le32_to_cpu (*(__le32 *) (dev->dev_addr + 4)));
+-      cpw32_f(HiTxRingAddr, 0);
+-      cpw32_f(HiTxRingAddr + 4, 0);
+-
+-      ring_dma = cp->ring_dma;
+-      cpw32_f(RxRingAddr, ring_dma & 0xffffffff);
+-      cpw32_f(RxRingAddr + 4, (ring_dma >> 16) >> 16);
+-
+-      ring_dma += sizeof(struct cp_desc) * CP_RX_RING_SIZE;
+-      cpw32_f(TxRingAddr, ring_dma & 0xffffffff);
+-      cpw32_f(TxRingAddr + 4, (ring_dma >> 16) >> 16);
+-
+       cp_start_hw(cp);
+       cpw8(TxThresh, 0x06); /* XXX convert magic num to a constant */
+@@ -1003,6 +992,17 @@ static void cp_init_hw (struct cp_privat
+       cpw8(Config5, cpr8(Config5) & PMEStatus);
++      cpw32_f(HiTxRingAddr, 0);
++      cpw32_f(HiTxRingAddr + 4, 0);
++
++      ring_dma = cp->ring_dma;
++      cpw32_f(RxRingAddr, ring_dma & 0xffffffff);
++      cpw32_f(RxRingAddr + 4, (ring_dma >> 16) >> 16);
++
++      ring_dma += sizeof(struct cp_desc) * CP_RX_RING_SIZE;
++      cpw32_f(TxRingAddr, ring_dma & 0xffffffff);
++      cpw32_f(TxRingAddr + 4, (ring_dma >> 16) >> 16);
++
+       cpw16(MultiIntr, 0);
+       cpw8_f(Cfg9346, Cfg9346_Lock);
diff --git a/queue-3.6/acpi-missing-break.patch b/queue-3.6/acpi-missing-break.patch
new file mode 100644 (file)
index 0000000..53eb944
--- /dev/null
@@ -0,0 +1,31 @@
+From 879dca019dc43a1622edca3e7dde644b14b5acc5 Mon Sep 17 00:00:00 2001
+From: Alan Cox <alan@linux.intel.com>
+Date: Fri, 26 Oct 2012 01:05:56 +0200
+Subject: ACPI: missing break
+
+From: Alan Cox <alan@linux.intel.com>
+
+commit 879dca019dc43a1622edca3e7dde644b14b5acc5 upstream.
+
+We handle NOTIFY_THROTTLING so don't then fall through to unsupported event.
+
+Signed-off-by: Alan Cox <alan@linux.intel.com>
+Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
+Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+
+---
+ drivers/acpi/processor_driver.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/acpi/processor_driver.c
++++ b/drivers/acpi/processor_driver.c
+@@ -409,6 +409,7 @@ static void acpi_processor_notify(struct
+               acpi_bus_generate_proc_event(device, event, 0);
+               acpi_bus_generate_netlink_event(device->pnp.device_class,
+                                                 dev_name(&device->dev), event, 0);
++              break;
+       default:
+               ACPI_DEBUG_PRINT((ACPI_DB_INFO,
+                                 "Unsupported event [0x%x]\n", event));
diff --git a/queue-3.6/drm-i915-add-no-lvds-quirk-for-supermicro-x7spa-h.patch b/queue-3.6/drm-i915-add-no-lvds-quirk-for-supermicro-x7spa-h.patch
new file mode 100644 (file)
index 0000000..eca529e
--- /dev/null
@@ -0,0 +1,37 @@
+From c31407a3672aaebb4acddf90944a114fa5c8af7b Mon Sep 17 00:00:00 2001
+From: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Thu, 18 Oct 2012 21:07:01 +0100
+Subject: drm/i915: Add no-lvds quirk for Supermicro X7SPA-H
+
+From: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit c31407a3672aaebb4acddf90944a114fa5c8af7b upstream.
+
+Reported-and-tested-by: Francois Tigeot <ftigeot@wolfpond.org>
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55375
+Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
+Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/i915/intel_lvds.c |    8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+--- a/drivers/gpu/drm/i915/intel_lvds.c
++++ b/drivers/gpu/drm/i915/intel_lvds.c
+@@ -796,6 +796,14 @@ static const struct dmi_system_id intel_
+                       DMI_MATCH(DMI_BOARD_NAME, "D525TUD"),
+               },
+       },
++      {
++              .callback = intel_no_lvds_dmi_callback,
++              .ident = "Supermicro X7SPA-H",
++              .matches = {
++                      DMI_MATCH(DMI_SYS_VENDOR, "Supermicro"),
++                      DMI_MATCH(DMI_PRODUCT_NAME, "X7SPA-H"),
++              },
++      },
+       { }     /* terminating entry */
+ };
diff --git a/queue-3.6/i915-quirk-no_lvds-on-gigabyte-ga-d525tud-itx-motherboard.patch b/queue-3.6/i915-quirk-no_lvds-on-gigabyte-ga-d525tud-itx-motherboard.patch
new file mode 100644 (file)
index 0000000..da163f4
--- /dev/null
@@ -0,0 +1,46 @@
+From a51d4ed01e5bb39d2cf36a12f9976ab08872c192 Mon Sep 17 00:00:00 2001
+From: Calvin Walton <calvin.walton@kepstin.ca>
+Date: Fri, 24 Aug 2012 07:56:31 -0400
+Subject: i915: Quirk no_lvds on Gigabyte GA-D525TUD ITX motherboard
+
+From: Calvin Walton <calvin.walton@kepstin.ca>
+
+commit a51d4ed01e5bb39d2cf36a12f9976ab08872c192 upstream.
+
+This board is incorrectly detected as having an LVDS connector,
+resulting in the VGA output (the only available output on the board)
+showing the console only in the top-left 1024x768 pixels, and an extra
+LVDS connector appearing in X.
+
+It's a desktop Mini-ITX board using an Atom D525 CPU with an NM10
+chipset.
+
+I've had this board for about a year, but this is the first time I
+noticed the issue because I've been running it headless for most of its
+life.
+
+Signed-off-by: Calvin Walton <calvin.walton@kepstin.ca>
+Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/i915/intel_lvds.c |    8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+--- a/drivers/gpu/drm/i915/intel_lvds.c
++++ b/drivers/gpu/drm/i915/intel_lvds.c
+@@ -788,6 +788,14 @@ static const struct dmi_system_id intel_
+                       DMI_MATCH(DMI_BOARD_NAME, "D525TUD"),
+               },
+       },
++      {
++              .callback = intel_no_lvds_dmi_callback,
++              .ident = "Gigabyte GA-D525TUD",
++              .matches = {
++                      DMI_MATCH(DMI_BOARD_VENDOR, "Gigabyte Technology Co., Ltd."),
++                      DMI_MATCH(DMI_BOARD_NAME, "D525TUD"),
++              },
++      },
+       { }     /* terminating entry */
+ };
diff --git a/queue-3.6/net-qmi_wwan-add-huawei-e173.patch b/queue-3.6/net-qmi_wwan-add-huawei-e173.patch
new file mode 100644 (file)
index 0000000..2e6105c
--- /dev/null
@@ -0,0 +1,41 @@
+From ba695af067f9cadfec84457ac06b44e3fa849b15 Mon Sep 17 00:00:00 2001
+From: Bjørn Mork <bjorn@mork.no>
+Date: Sun, 25 Nov 2012 06:03:59 +0000
+Subject: net: qmi_wwan: add Huawei E173
+
+From: Bjørn Mork <bjorn@mork.no>
+
+commit ba695af067f9cadfec84457ac06b44e3fa849b15 upstream.
+
+The Huawei E173 is a QMI/wwan device which normally appear
+as 12d1:1436 in Linux. The descriptors displayed in that
+mode will be picked up by cdc_ether.  But the modem has
+another mode with a different device ID and a slightly
+different set of descriptors. This is the mode used by
+Windows like this:
+
+3Modem:      USB\VID_12D1&PID_140C&MI_00\6&3A1D2012&0&0000
+Networkcard: USB\VID_12D1&PID_140C&MI_01\6&3A1D2012&0&0001
+Appli.Inter: USB\VID_12D1&PID_140C&MI_02\6&3A1D2012&0&0002
+PC UI Inter: USB\VID_12D1&PID_140C&MI_03\6&3A1D2012&0&0003
+
+Reported-by: Thomas Schäfer <tschaefer@t-online.de>
+Signed-off-by: Bjørn Mork <bjorn@mork.no>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/usb/qmi_wwan.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/net/usb/qmi_wwan.c
++++ b/drivers/net/usb/qmi_wwan.c
+@@ -398,6 +398,7 @@ static const struct usb_device_id produc
+       },
+       /* 3. Combined interface devices matching on interface number */
++      {QMI_FIXED_INTF(0x12d1, 0x140c, 1)},    /* Huawei E173 */
+       {QMI_FIXED_INTF(0x19d2, 0x0002, 1)},
+       {QMI_FIXED_INTF(0x19d2, 0x0012, 1)},
+       {QMI_FIXED_INTF(0x19d2, 0x0017, 3)},
diff --git a/queue-3.6/net-qmi_wwan-adding-more-zte-devices.patch b/queue-3.6/net-qmi_wwan-adding-more-zte-devices.patch
new file mode 100644 (file)
index 0000000..855e128
--- /dev/null
@@ -0,0 +1,140 @@
+From c6846ee148e07e4cfae4de486532efb02d238938 Mon Sep 17 00:00:00 2001
+From: Bjørn Mork <bjorn@mork.no>
+Date: Thu, 18 Oct 2012 05:11:29 +0000
+Subject: net: qmi_wwan: adding more ZTE devices
+
+From: Bjørn Mork <bjorn@mork.no>
+
+commit c6846ee148e07e4cfae4de486532efb02d238938 upstream.
+
+Analyzed a few Windows driver description files, supporting
+this long list of devices:
+
+%ztewwan.DeviceDesc0002%    = ztewwan.ndi, USB\VID_19D2&PID_0002&MI_01
+%ztewwan.DeviceDesc0012%    = ztewwan.ndi, USB\VID_19D2&PID_0012&MI_01
+%ztewwan.DeviceDesc0017%    = ztewwan.ndi, USB\VID_19D2&PID_0017&MI_03
+%ztewwan.DeviceDesc0021%    = ztewwan.ndi, USB\VID_19D2&PID_0021&MI_04
+%ztewwan.DeviceDesc0025%    = ztewwan.ndi, USB\VID_19D2&PID_0025&MI_01
+%ztewwan.DeviceDesc0031%    = ztewwan.ndi, USB\VID_19D2&PID_0031&MI_04
+%ztewwan.DeviceDesc0042%    = ztewwan.ndi, USB\VID_19D2&PID_0042&MI_04
+%ztewwan.DeviceDesc0049%    = ztewwan.ndi, USB\VID_19D2&PID_0049&MI_05
+%ztewwan.DeviceDesc0052%    = ztewwan.ndi, USB\VID_19D2&PID_0052&MI_04
+%ztewwan.DeviceDesc0055%    = ztewwan.ndi, USB\VID_19D2&PID_0055&MI_01
+%ztewwan.DeviceDesc0058%    = ztewwan.ndi, USB\VID_19D2&PID_0058&MI_04
+%ztewwan.DeviceDesc0063%    = ztewwan.ndi, USB\VID_19D2&PID_0063&MI_04
+%ztewwan.DeviceDesc2002%    = ztewwan.ndi, USB\VID_19D2&PID_2002&MI_04
+%ztewwan.DeviceDesc0104%    = ztewwan.ndi, USB\VID_19D2&PID_0104&MI_04
+%ztewwan.DeviceDesc0113%    = ztewwan.ndi, USB\VID_19D2&PID_0113&MI_05
+%ztewwan.DeviceDesc0118%    = ztewwan.ndi, USB\VID_19D2&PID_0118&MI_05
+%ztewwan.DeviceDesc0121%    = ztewwan.ndi, USB\VID_19D2&PID_0121&MI_05
+%ztewwan.DeviceDesc0123%    = ztewwan.ndi, USB\VID_19D2&PID_0123&MI_04
+%ztewwan.DeviceDesc0124%    = ztewwan.ndi, USB\VID_19D2&PID_0124&MI_05
+%ztewwan.DeviceDesc0125%    = ztewwan.ndi, USB\VID_19D2&PID_0125&MI_06
+%ztewwan.DeviceDesc0126%    = ztewwan.ndi, USB\VID_19D2&PID_0126&MI_05
+%ztewwan.DeviceDesc1008%    = ztewwan.ndi, USB\VID_19D2&PID_1008&MI_04
+%ztewwan.DeviceDesc1010%    = ztewwan.ndi, USB\VID_19D2&PID_1010&MI_04
+%ztewwan.DeviceDesc1012%    = ztewwan.ndi, USB\VID_19D2&PID_1012&MI_04
+%ztewwan.DeviceDesc1402%    = ztewwan.ndi, USB\VID_19D2&PID_1402&MI_02
+%ztewwan.DeviceDesc0157%    = ztewwan.ndi, USB\VID_19D2&PID_0157&MI_05
+%ztewwan.DeviceDesc0158%    = ztewwan.ndi, USB\VID_19D2&PID_0158&MI_03
+%ztewwan.DeviceDesc1401%    = ztewwan.ndi, USB\VID_19D2&PID_1401&MI_02
+%ztewwan.DeviceDesc0130%    = ztewwan.ndi, USB\VID_19D2&PID_0130&MI_01
+%ztewwan.DeviceDesc0133%    = ztewwan.ndi, USB\VID_19D2&PID_0133&MI_03
+%ztewwan.DeviceDesc0176%    = ztewwan.ndi, USB\VID_19D2&PID_0176&MI_03
+%ztewwan.DeviceDesc0178%    = ztewwan.ndi, USB\VID_19D2&PID_0178&MI_03
+%ztewwan.DeviceDesc0168%    = ztewwan.ndi, USB\VID_19D2&PID_0168&MI_04
+;EuFi890
+%ztewwan.DeviceDesc0191%    = ztewwan.ndi, USB\VID_19D2&PID_0191&MI_04
+;AL621
+%ztewwan.DeviceDesc0167%    = ztewwan.ndi, USB\VID_19D2&PID_0167&MI_04
+;MF821
+%ztewwan.DeviceDesc0199%    = ztewwan.ndi, USB\VID_19D2&PID_0199&MI_01
+%ztewwan.DeviceDesc0200%    = ztewwan.ndi, USB\VID_19D2&PID_0200&MI_01
+%ztewwan.DeviceDesc0257%    = ztewwan.ndi, USB\VID_19D2&PID_0257&MI_03
+;MF821V
+%ztewwan.DeviceDesc1018%    = ztewwan.ndi, USB\VID_19D2&PID_1018&MI_03
+;MF91
+%ztewwan.DeviceDesc1426%    = ztewwan.ndi, USB\VID_19D2&PID_1426&MI_02
+;0141
+%ztewwan.DeviceDesc1247%    = ztewwan.ndi, USB\VID_19D2&PID_1247&MI_04
+%ztewwan.DeviceDesc1425%    = ztewwan.ndi, USB\VID_19D2&PID_1425&MI_02
+%ztewwan.DeviceDesc1424%    = ztewwan.ndi, USB\VID_19D2&PID_1424&MI_02
+%ztewwan.DeviceDesc1252%    = ztewwan.ndi, USB\VID_19D2&PID_1252&MI_04
+%ztewwan.DeviceDesc1254%    = ztewwan.ndi, USB\VID_19D2&PID_1254&MI_04
+%ztewwan.DeviceDesc1255A%   = ztewwan.ndi, USB\VID_19D2&PID_1255&MI_03
+%ztewwan.DeviceDesc1255B%   = ztewwan.ndi, USB\VID_19D2&PID_1255&MI_04
+%ztewwan.DeviceDesc1256%    = ztewwan.ndi, USB\VID_19D2&PID_1256&MI_04
+%ztewwan.DeviceDesc1245%    = ztewwanCombB.ndi, USB\VID_19D2&PID_1245&MI_04
+%ztewwan.DeviceDesc1021%    = ztewwan.ndi, USB\VID_19D2&PID_1021&MI_02
+
+Adding the ones we were missing.
+
+Signed-off-by: Bjørn Mork <bjorn@mork.no>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/usb/qmi_wwan.c |   41 +++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 41 insertions(+)
+
+--- a/drivers/net/usb/qmi_wwan.c
++++ b/drivers/net/usb/qmi_wwan.c
+@@ -398,16 +398,57 @@ static const struct usb_device_id produc
+       },
+       /* 3. Combined interface devices matching on interface number */
++      {QMI_FIXED_INTF(0x19d2, 0x0002, 1)},
++      {QMI_FIXED_INTF(0x19d2, 0x0012, 1)},
++      {QMI_FIXED_INTF(0x19d2, 0x0017, 3)},
++      {QMI_FIXED_INTF(0x19d2, 0x0021, 4)},
++      {QMI_FIXED_INTF(0x19d2, 0x0025, 1)},
++      {QMI_FIXED_INTF(0x19d2, 0x0031, 4)},
++      {QMI_FIXED_INTF(0x19d2, 0x0042, 4)},
++      {QMI_FIXED_INTF(0x19d2, 0x0049, 5)},
++      {QMI_FIXED_INTF(0x19d2, 0x0052, 4)},
+       {QMI_FIXED_INTF(0x19d2, 0x0055, 1)},    /* ZTE (Vodafone) K3520-Z */
++      {QMI_FIXED_INTF(0x19d2, 0x0058, 4)},
+       {QMI_FIXED_INTF(0x19d2, 0x0063, 4)},    /* ZTE (Vodafone) K3565-Z */
+       {QMI_FIXED_INTF(0x19d2, 0x0104, 4)},    /* ZTE (Vodafone) K4505-Z */
++      {QMI_FIXED_INTF(0x19d2, 0x0113, 5)},
++      {QMI_FIXED_INTF(0x19d2, 0x0118, 5)},
++      {QMI_FIXED_INTF(0x19d2, 0x0121, 5)},
++      {QMI_FIXED_INTF(0x19d2, 0x0123, 4)},
++      {QMI_FIXED_INTF(0x19d2, 0x0124, 5)},
++      {QMI_FIXED_INTF(0x19d2, 0x0125, 6)},
++      {QMI_FIXED_INTF(0x19d2, 0x0126, 5)},
++      {QMI_FIXED_INTF(0x19d2, 0x0130, 1)},
++      {QMI_FIXED_INTF(0x19d2, 0x0133, 3)},
++      {QMI_FIXED_INTF(0x19d2, 0x0141, 5)},
+       {QMI_FIXED_INTF(0x19d2, 0x0157, 5)},    /* ZTE MF683 */
++      {QMI_FIXED_INTF(0x19d2, 0x0158, 3)},
+       {QMI_FIXED_INTF(0x19d2, 0x0167, 4)},    /* ZTE MF820D */
++      {QMI_FIXED_INTF(0x19d2, 0x0168, 4)},
++      {QMI_FIXED_INTF(0x19d2, 0x0176, 3)},
++      {QMI_FIXED_INTF(0x19d2, 0x0178, 3)},
++      {QMI_FIXED_INTF(0x19d2, 0x0191, 4)},    /* ZTE EuFi890 */
++      {QMI_FIXED_INTF(0x19d2, 0x0199, 1)},    /* ZTE MF820S */
++      {QMI_FIXED_INTF(0x19d2, 0x0200, 1)},
++      {QMI_FIXED_INTF(0x19d2, 0x0257, 3)},    /* ZTE MF821 */
+       {QMI_FIXED_INTF(0x19d2, 0x0326, 4)},    /* ZTE MF821D */
+       {QMI_FIXED_INTF(0x19d2, 0x1008, 4)},    /* ZTE (Vodafone) K3570-Z */
+       {QMI_FIXED_INTF(0x19d2, 0x1010, 4)},    /* ZTE (Vodafone) K3571-Z */
++      {QMI_FIXED_INTF(0x19d2, 0x1012, 4)},
+       {QMI_FIXED_INTF(0x19d2, 0x1018, 3)},    /* ZTE (Vodafone) K5006-Z */
++      {QMI_FIXED_INTF(0x19d2, 0x1021, 2)},
++      {QMI_FIXED_INTF(0x19d2, 0x1245, 4)},
++      {QMI_FIXED_INTF(0x19d2, 0x1247, 4)},
++      {QMI_FIXED_INTF(0x19d2, 0x1252, 4)},
++      {QMI_FIXED_INTF(0x19d2, 0x1254, 4)},
++      {QMI_FIXED_INTF(0x19d2, 0x1255, 3)},
++      {QMI_FIXED_INTF(0x19d2, 0x1255, 4)},
++      {QMI_FIXED_INTF(0x19d2, 0x1256, 4)},
++      {QMI_FIXED_INTF(0x19d2, 0x1401, 2)},
+       {QMI_FIXED_INTF(0x19d2, 0x1402, 2)},    /* ZTE MF60 */
++      {QMI_FIXED_INTF(0x19d2, 0x1424, 2)},
++      {QMI_FIXED_INTF(0x19d2, 0x1425, 2)},
++      {QMI_FIXED_INTF(0x19d2, 0x1426, 2)},    /* ZTE MF91 */
+       {QMI_FIXED_INTF(0x19d2, 0x2002, 4)},    /* ZTE (Vodafone) K3765-Z */
+       {QMI_FIXED_INTF(0x0f3d, 0x68a2, 8)},    /* Sierra Wireless MC7700 */
+       {QMI_FIXED_INTF(0x114f, 0x68a2, 8)},    /* Sierra Wireless MC7750 */
diff --git a/queue-3.6/s390-mm-have-16-byte-aligned-struct-pages.patch b/queue-3.6/s390-mm-have-16-byte-aligned-struct-pages.patch
new file mode 100644 (file)
index 0000000..21c13a4
--- /dev/null
@@ -0,0 +1,42 @@
+From 4bffbb3455372a26816e364fb4448810f7014452 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Thu, 8 Nov 2012 14:18:47 +0100
+Subject: s390/mm: have 16 byte aligned struct pages
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit 4bffbb3455372a26816e364fb4448810f7014452 upstream.
+
+Select HAVE_ALIGNED_STRUCT_PAGE on s390, so that the slub allocator can make
+use of compare and swap double for lockless updates. This increases the size
+of struct page to 64 bytes (instead of 56 bytes), however the performance gain
+justifies the increased size:
+
+- now excactly four struct pages fit into a single cache line; the
+  case that accessing a struct page causes two cache line loads
+  does not exist anymore.
+- calculating the offset of a struct page within the memmap array
+  is only a simple shift instead of a more expensive multiplication.
+
+A "hackbench 200 process 200" run on a 32 cpu system did show an 8% runtime
+improvement.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
+Signed-off-by: CAI Qian <caiqian@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/s390/Kconfig |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/arch/s390/Kconfig
++++ b/arch/s390/Kconfig
+@@ -89,6 +89,7 @@ config S390
+       select HAVE_MEMBLOCK
+       select HAVE_MEMBLOCK_NODE_MAP
+       select HAVE_CMPXCHG_LOCAL
++      select HAVE_ALIGNED_STRUCT_PAGE if SLUB
+       select ARCH_DISCARD_MEMBLOCK
+       select BUILDTIME_EXTABLE_SORT
+       select ARCH_INLINE_SPIN_TRYLOCK
index 9484aadfd11045cf81572121b4b39ba2d764c383..3fbad0cd3bdeb027b6757072cc807bd472d285d9 100644 (file)
@@ -17,3 +17,11 @@ i7300_edac-fix-error-flag-testing.patch
 revert-sched-autogroup-stop-going-ahead-if-autogroup-is-disabled.patch
 bnx2x-remove-redundant-warning-log.patch
 i7core_edac-fix-panic-when-accessing-sysfs-files.patch
+s390-mm-have-16-byte-aligned-struct-pages.patch
+net-qmi_wwan-adding-more-zte-devices.patch
+net-qmi_wwan-add-huawei-e173.patch
+acpi-missing-break.patch
+i915-quirk-no_lvds-on-gigabyte-ga-d525tud-itx-motherboard.patch
+drm-i915-add-no-lvds-quirk-for-supermicro-x7spa-h.patch
+x86-amd-disable-way-access-filter-on-piledriver-cpus.patch
+8139cp-revert-set-ring-address-before-enabling-receiver.patch
diff --git a/queue-3.6/x86-amd-disable-way-access-filter-on-piledriver-cpus.patch b/queue-3.6/x86-amd-disable-way-access-filter-on-piledriver-cpus.patch
new file mode 100644 (file)
index 0000000..2132a1a
--- /dev/null
@@ -0,0 +1,70 @@
+From 2bbf0a1427c377350f001fbc6260995334739ad7 Mon Sep 17 00:00:00 2001
+From: Andre Przywara <andre.przywara@amd.com>
+Date: Wed, 31 Oct 2012 17:20:50 +0100
+Subject: x86, amd: Disable way access filter on Piledriver CPUs
+
+From: Andre Przywara <andre.przywara@amd.com>
+
+commit 2bbf0a1427c377350f001fbc6260995334739ad7 upstream.
+
+The Way Access Filter in recent AMD CPUs may hurt the performance of
+some workloads, caused by aliasing issues in the L1 cache.
+This patch disables it on the affected CPUs.
+
+The issue is similar to that one of last year:
+http://lkml.indiana.edu/hypermail/linux/kernel/1107.3/00041.html
+This new patch does not replace the old one, we just need another
+quirk for newer CPUs.
+
+The performance penalty without the patch depends on the
+circumstances, but is a bit less than the last year's 3%.
+
+The workloads affected would be those that access code from the same
+physical page under different virtual addresses, so different
+processes using the same libraries with ASLR or multiple instances of
+PIE-binaries. The code needs to be accessed simultaneously from both
+cores of the same compute unit.
+
+More details can be found here:
+http://developer.amd.com/Assets/SharedL1InstructionCacheonAMD15hCPU.pdf
+
+CPUs affected are anything with the core known as Piledriver.
+That includes the new parts of the AMD A-Series (aka Trinity) and the
+just released new CPUs of the FX-Series (aka Vishera).
+The model numbering is a bit odd here: FX CPUs have model 2,
+A-Series has model 10h, with possible extensions to 1Fh. Hence the
+range of model ids.
+
+Signed-off-by: Andre Przywara <osp@andrep.de>
+Link: http://lkml.kernel.org/r/1351700450-9277-1-git-send-email-osp@andrep.de
+Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
+Signed-off-by: CAI Qian <caiqian@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/x86/kernel/cpu/amd.c |   14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+--- a/arch/x86/kernel/cpu/amd.c
++++ b/arch/x86/kernel/cpu/amd.c
+@@ -631,6 +631,20 @@ static void __cpuinit init_amd(struct cp
+               }
+       }
++      /*
++       * The way access filter has a performance penalty on some workloads.
++       * Disable it on the affected CPUs.
++       */
++      if ((c->x86 == 0x15) &&
++          (c->x86_model >= 0x02) && (c->x86_model < 0x20)) {
++              u64 val;
++
++              if (!rdmsrl_safe(0xc0011021, &val) && !(val & 0x1E)) {
++                      val |= 0x1E;
++                      wrmsrl_safe(0xc0011021, val);
++              }
++      }
++
+       cpu_detect_cache_sizes(c);
+       /* Multi core CPU? */