]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.17-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 12 Nov 2014 00:06:23 +0000 (09:06 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 12 Nov 2014 00:06:23 +0000 (09:06 +0900)
added patches:
acer-wmi-add-acpi_backlight-video-quirk-for-the-acer-kav80.patch
arm-pxa-fix-hang-on-startup-with-debug_ll.patch
drm-i915-do-a-dummy-dpcd-read-before-the-actual-read.patch
drm-i915-fix-gmbusfreq-on-vlv-chv.patch
drm-i915-ignore-vbt-backlight-check-on-macbook-2-1.patch
drm-radeon-dpm-disable-ulv-support-on-si.patch
drm-radeon-dpm-fixes-for-asrock-systems.patch
drm-radeon-remove-invalid-pci-id.patch
drm-radeon-use-drm_malloc_ab-instead-of-kmalloc_array.patch
drm-vmwgfx-filter-out-modes-those-cannot-be-supported-by-the-current-vram-size.patch
fix-breakage-in-o2net_send_tcp_msg.patch
mm-cma-don-t-crash-on-allocation-if-cma-area-can-t-be-activated.patch
pinctrl-baytrail-show-output-gpio-state-correctly-on-intel-baytrail.patch
rbd-fix-error-recovery-in-rbd_obj_read_sync.patch
samsung-laptop-add-broken-acpi-video-quirk-for-nc210-nc110.patch
x86-intel-mid-create-irqs-for-apb-timers-and-rtc-timers.patch

17 files changed:
queue-3.17/acer-wmi-add-acpi_backlight-video-quirk-for-the-acer-kav80.patch [new file with mode: 0644]
queue-3.17/arm-pxa-fix-hang-on-startup-with-debug_ll.patch [new file with mode: 0644]
queue-3.17/drm-i915-do-a-dummy-dpcd-read-before-the-actual-read.patch [new file with mode: 0644]
queue-3.17/drm-i915-fix-gmbusfreq-on-vlv-chv.patch [new file with mode: 0644]
queue-3.17/drm-i915-ignore-vbt-backlight-check-on-macbook-2-1.patch [new file with mode: 0644]
queue-3.17/drm-radeon-dpm-disable-ulv-support-on-si.patch [new file with mode: 0644]
queue-3.17/drm-radeon-dpm-fixes-for-asrock-systems.patch [new file with mode: 0644]
queue-3.17/drm-radeon-remove-invalid-pci-id.patch [new file with mode: 0644]
queue-3.17/drm-radeon-use-drm_malloc_ab-instead-of-kmalloc_array.patch [new file with mode: 0644]
queue-3.17/drm-vmwgfx-filter-out-modes-those-cannot-be-supported-by-the-current-vram-size.patch [new file with mode: 0644]
queue-3.17/fix-breakage-in-o2net_send_tcp_msg.patch [new file with mode: 0644]
queue-3.17/mm-cma-don-t-crash-on-allocation-if-cma-area-can-t-be-activated.patch [new file with mode: 0644]
queue-3.17/pinctrl-baytrail-show-output-gpio-state-correctly-on-intel-baytrail.patch [new file with mode: 0644]
queue-3.17/rbd-fix-error-recovery-in-rbd_obj_read_sync.patch [new file with mode: 0644]
queue-3.17/samsung-laptop-add-broken-acpi-video-quirk-for-nc210-nc110.patch [new file with mode: 0644]
queue-3.17/series
queue-3.17/x86-intel-mid-create-irqs-for-apb-timers-and-rtc-timers.patch [new file with mode: 0644]

diff --git a/queue-3.17/acer-wmi-add-acpi_backlight-video-quirk-for-the-acer-kav80.patch b/queue-3.17/acer-wmi-add-acpi_backlight-video-quirk-for-the-acer-kav80.patch
new file mode 100644 (file)
index 0000000..fa9fb90
--- /dev/null
@@ -0,0 +1,47 @@
+From 183fd8fcd7f8afb7ac5ec68f83194872f9fecc84 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Wed, 22 Oct 2014 16:06:38 +0200
+Subject: acer-wmi: Add acpi_backlight=video quirk for the Acer KAV80
+
+From: Hans de Goede <hdegoede@redhat.com>
+
+commit 183fd8fcd7f8afb7ac5ec68f83194872f9fecc84 upstream.
+
+The acpi-video backlight interface on the Acer KAV80 is broken, and worse
+it causes the entire machine to slow down significantly after a suspend/resume.
+
+Blacklist it, and use the acer-wmi backlight interface instead. Note that
+the KAV80 is somewhat unique in that it is the only Acer model where we
+fall back to acer-wmi after blacklisting, rather then using the native
+(e.g. intel) backlight driver. This is done because there is no native
+backlight interface on this model.
+
+BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1128309
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+Signed-off-by: Darren Hart <dvhart@linux.intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/platform/x86/acer-wmi.c |   11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+--- a/drivers/platform/x86/acer-wmi.c
++++ b/drivers/platform/x86/acer-wmi.c
+@@ -579,6 +579,17 @@ static const struct dmi_system_id video_
+                       DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5741"),
+               },
+       },
++      {
++              /*
++               * Note no video_set_backlight_video_vendor, we must use the
++               * acer interface, as there is no native backlight interface.
++               */
++              .ident = "Acer KAV80",
++              .matches = {
++                      DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
++                      DMI_MATCH(DMI_PRODUCT_NAME, "KAV80"),
++              },
++      },
+       {}
+ };
diff --git a/queue-3.17/arm-pxa-fix-hang-on-startup-with-debug_ll.patch b/queue-3.17/arm-pxa-fix-hang-on-startup-with-debug_ll.patch
new file mode 100644 (file)
index 0000000..908e409
--- /dev/null
@@ -0,0 +1,93 @@
+From cde7fc879969f933614b1256df2625d6ff637bab Mon Sep 17 00:00:00 2001
+From: Robert Jarzmik <robert.jarzmik@free.fr>
+Date: Tue, 7 Oct 2014 21:18:14 +0200
+Subject: ARM: pxa: fix hang on startup with DEBUG_LL
+
+From: Robert Jarzmik <robert.jarzmik@free.fr>
+
+commit cde7fc879969f933614b1256df2625d6ff637bab upstream.
+
+The commit 2111667b4677 ("ARM: pxa: call debug_ll_io_init for
+earlyprintk") triggers in the current kernel the attached backtrace on
+PXA/tosa early in the boot time when DEBUG_LL is enabled.
+
+It is due to overlap between uart virtual memory defined in
+DEBUG_UART_VIRT and mapped by debug_ll_io_init() and peripheral bus
+mapped by pxa_map_io at the same address, 0xf2100000.
+
+As hinted by Arnd, map early virtual memory for low level debug on
+address 0xf6200000, even if that means 2 virtual mappings will give
+access to the pxa internal UARTs (FFUART, BTUART, STUART, ...).
+
+------------[ cut here ]------------
+kernel BUG at /home/lumag/linux/mm/vmalloc.c:1143!
+Internal error: Oops - BUG: 0 [#1] PREEMPT ARM
+Modules linked in:
+CPU: 0 PID: 0 Comm: swapper Not tainted 3.17.0-00032-g8e0d202-dirty #23
+task: c062a5a8 ti: c0620000 task.ti: c0620000
+PC is at vm_area_add_early+0x54/0x84
+LR is at add_static_vm_early+0xc/0x60
+pc : [<c03e1100>]    lr : [<c03d9ef4>]    psr: 800001d3
+sp : c0621f04  ip : c03efa74  fp : c03edf84
+r10: c0637e98  r9 : 40000001  r8 : c03da57c
+r7 : c3ffcfb0  r6 : 00000000  r5 : c3ffcfb0  r4 : 02000000
+r3 : c3ffcfd8  r2 : f2100000  r1 : f4000000  r0 : c3ffcfb0
+Flags: Nzcv  IRQs off  FIQs off  Mode SVC_32  ISA ARM  Segment kernel
+Control: 00007977  Table: a0004000  DAC: 00000017
+Process swapper (pid: 0, stack limit = 0xc06201c8)
+Stack: (0xc0621f04 to 0xc0622000)
+1f00:          c3ffcfd8 40000001 c3ffcfd8 c03ee08c c03da570 c03db90c c0637d24
+1f20: 00000000 c03ec7cc c066e654 a0700000 000a0700 c03db914 c03db90c c03daf84
+1f40: 00000000 000a0000 c0000000 c03ec7cc 000a0700 c0700000 ffff1000 000a3fff
+1f60: 00001000 00000007 00000000 c03ec7cc c0008000 c03ed748 c0621fd4 c03d5d18
+1f80: 69052d00 a03ec48c 00000000 c03d8ad0 0000006c 00007977 c036c6e8 00000001
+1fa0: c0621fd4 c03ed744 c0628000 a0004000 69052d00 a03ec48c 00000000 c03d68d4
+1fc0: 00000000 00000000 00000000 00000000 00000000 c03ed748 c0649894 c062801c
+1fe0: c03ed744 c062b2f0 a0004000 69052d00 a03ec48c a0008040 00000000 00000000
+[<c03e1100>] (vm_area_add_early) from [<c03d9ef4>] (add_static_vm_early+0xc/0x60)
+[<c03d9ef4>] (add_static_vm_early) from [<c03da570>] (iotable_init.part.6+0xa8/0xb4)
+[<c03da570>] (iotable_init.part.6) from [<c03db914>] (pxa25x_map_io+0x8/0x24)
+[<c03db914>] (pxa25x_map_io) from [<c03daf84>] (paging_init+0x744/0x8d8)
+[<c03daf84>] (paging_init) from [<c03d8ad0>] (setup_arch+0x354/0x608)
+[<c03d8ad0>] (setup_arch) from [<c03d68d4>] (start_kernel+0xa8/0x3dc)
+[<c03d68d4>] (start_kernel) from [<a0008040>] (0xa0008040)
+Code: e5904008 e0811004 e1520001 2a000005 (e7f001f2)
+---[ end trace f24b6c88ae00fa9a ]---
+Kernel panic - not syncing: Attempted to kill the idle task!
+---[ end Kernel panic - not syncing: Attempted to kill the idle task!
+
+Reported-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
+Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
+Acked-by: Arnd Bergmann <arnd@arndb.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/Kconfig.debug                    |    2 +-
+ arch/arm/mach-pxa/include/mach/addr-map.h |    5 +++++
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+--- a/arch/arm/Kconfig.debug
++++ b/arch/arm/Kconfig.debug
+@@ -1142,7 +1142,7 @@ config DEBUG_UART_VIRT
+       default 0xf1c28000 if DEBUG_SUNXI_UART0
+       default 0xf1c28400 if DEBUG_SUNXI_UART1
+       default 0xf1f02800 if DEBUG_SUNXI_R_UART
+-      default 0xf2100000 if DEBUG_PXA_UART1
++      default 0xf6200000 if DEBUG_PXA_UART1
+       default 0xf4090000 if ARCH_LPC32XX
+       default 0xf4200000 if ARCH_GEMINI
+       default 0xf7000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
+--- a/arch/arm/mach-pxa/include/mach/addr-map.h
++++ b/arch/arm/mach-pxa/include/mach/addr-map.h
+@@ -39,6 +39,11 @@
+ #define DMEMC_SIZE            0x00100000
+ /*
++ * Reserved space for low level debug virtual addresses within
++ * 0xf6200000..0xf6201000
++ */
++
++/*
+  * Internal Memory Controller (PXA27x and later)
+  */
+ #define IMEMC_PHYS            0x58000000
diff --git a/queue-3.17/drm-i915-do-a-dummy-dpcd-read-before-the-actual-read.patch b/queue-3.17/drm-i915-do-a-dummy-dpcd-read-before-the-actual-read.patch
new file mode 100644 (file)
index 0000000..6a76b73
--- /dev/null
@@ -0,0 +1,52 @@
+From f6a1906674005377b64ee5431c1418077c1b2425 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@linux.intel.com>
+Date: Thu, 16 Oct 2014 20:46:09 +0300
+Subject: drm/i915: Do a dummy DPCD read before the actual read
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@linux.intel.com>
+
+commit f6a1906674005377b64ee5431c1418077c1b2425 upstream.
+
+Sometimes we seem to get utter garbage from DPCD reads. The resulting
+buffer is filled with the same byte, and the operation completed without
+errors. My HP ZR24w monitor seems particularly susceptible to this
+problem once it's gone into a sleep mode.
+
+The issue seems to happen only for the first AUX message that wakes the
+sink up. But as the first AUX read we often do is the DPCD receiver
+cap it does wreak a bit of havoc with subsequent link training etc. when
+the receiver cap bw/lane/etc. information is garbage.
+
+A sufficient workaround seems to be to perform a single byte dummy read
+before reading the actual data. I suppose that just wakes up the sink
+sufficiently and we can just throw away the returned data in case it's
+crap. DP_DPCD_REV seems like a sufficiently safe location to read here.
+
+Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
+Reviewed-by: Todd Previte <tprevite@gmail.com>
+Signed-off-by: Jani Nikula <jani.nikula@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/i915/intel_dp.c |    7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/drivers/gpu/drm/i915/intel_dp.c
++++ b/drivers/gpu/drm/i915/intel_dp.c
+@@ -2364,6 +2364,13 @@ intel_dp_dpcd_read_wake(struct drm_dp_au
+       ssize_t ret;
+       int i;
++      /*
++       * Sometime we just get the same incorrect byte repeated
++       * over the entire buffer. Doing just one throw away read
++       * initially seems to "solve" it.
++       */
++      drm_dp_dpcd_read(aux, DP_DPCD_REV, buffer, 1);
++
+       for (i = 0; i < 3; i++) {
+               ret = drm_dp_dpcd_read(aux, offset, buffer, size);
+               if (ret == size)
diff --git a/queue-3.17/drm-i915-fix-gmbusfreq-on-vlv-chv.patch b/queue-3.17/drm-i915-fix-gmbusfreq-on-vlv-chv.patch
new file mode 100644 (file)
index 0000000..dde23c4
--- /dev/null
@@ -0,0 +1,40 @@
+From 6be1e3d3ea29354d7c834a3936e796e185d5c73b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@linux.intel.com>
+Date: Thu, 16 Oct 2014 20:52:31 +0300
+Subject: drm/i915: Fix GMBUSFREQ on vlv/chv
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@linux.intel.com>
+
+commit 6be1e3d3ea29354d7c834a3936e796e185d5c73b upstream.
+
+vlv_cdclk_freq is in kHz but we need MHz for the GMBUSFREQ divider.
+
+This is a regression from:
+commit f8bf63fdcb1f82459dae7a3f22ee5ce92f3ea727
+Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
+Date:   Fri Jun 13 13:37:54 2014 +0300
+
+    drm/i915: Kill duplicated cdclk readout code from i2c
+
+Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
+Signed-off-by: Jani Nikula <jani.nikula@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/i915/intel_display.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/i915/intel_display.c
++++ b/drivers/gpu/drm/i915/intel_display.c
+@@ -4470,7 +4470,7 @@ static void vlv_update_cdclk(struct drm_
+        * BSpec erroneously claims we should aim for 4MHz, but
+        * in fact 1MHz is the correct frequency.
+        */
+-      I915_WRITE(GMBUSFREQ_VLV, dev_priv->vlv_cdclk_freq);
++      I915_WRITE(GMBUSFREQ_VLV, DIV_ROUND_UP(dev_priv->vlv_cdclk_freq, 1000));
+ }
+ /* Adjust CDclk dividers to allow high res or save power if possible */
diff --git a/queue-3.17/drm-i915-ignore-vbt-backlight-check-on-macbook-2-1.patch b/queue-3.17/drm-i915-ignore-vbt-backlight-check-on-macbook-2-1.patch
new file mode 100644 (file)
index 0000000..d8d0c8d
--- /dev/null
@@ -0,0 +1,42 @@
+From b2a9601c587dbc5536546aa54009d1130adedd72 Mon Sep 17 00:00:00 2001
+From: jens stein <jens.s.stein@gmail.com>
+Date: Tue, 28 Oct 2014 20:25:53 +0100
+Subject: drm/i915: Ignore VBT backlight check on Macbook 2, 1
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: jens stein <jens.s.stein@gmail.com>
+
+commit b2a9601c587dbc5536546aa54009d1130adedd72 upstream.
+
+commit c675949ec58ca50d5a3ae3c757892f1560f6e896
+Author: Jani Nikula <jani.nikula@intel.com>
+Date:   Wed Apr 9 11:31:37 2014 +0300
+
+    drm/i915: do not setup backlight if not available according to VBT
+
+prevents backlight setup on Macbook 2,1. Apply quirk to ignore the VBT
+check so backlight is set up properly.
+
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81438
+Signed-off-by: Jens Stein Jørgensen <jens.s.stein@gmail.com>
+Signed-off-by: Jani Nikula <jani.nikula@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/i915/intel_display.c |    3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/drivers/gpu/drm/i915/intel_display.c
++++ b/drivers/gpu/drm/i915/intel_display.c
+@@ -12507,6 +12507,9 @@ static struct intel_quirk intel_quirks[]
+       /* Acer C720 Chromebook (Core i3 4005U) */
+       { 0x0a16, 0x1025, 0x0a11, quirk_backlight_present },
++      /* Apple Macbook 2,1 (Core 2 T7400) */
++      { 0x27a2, 0x8086, 0x7270, quirk_backlight_present },
++
+       /* Toshiba CB35 Chromebook (Celeron 2955U) */
+       { 0x0a06, 0x1179, 0x0a88, quirk_backlight_present },
diff --git a/queue-3.17/drm-radeon-dpm-disable-ulv-support-on-si.patch b/queue-3.17/drm-radeon-dpm-disable-ulv-support-on-si.patch
new file mode 100644 (file)
index 0000000..9c06b9b
--- /dev/null
@@ -0,0 +1,32 @@
+From 6fa455935ab956248b165f150ec6ae9106210077 Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexander.deucher@amd.com>
+Date: Mon, 13 Oct 2014 12:44:49 -0400
+Subject: drm/radeon/dpm: disable ulv support on SI
+
+From: Alex Deucher <alexander.deucher@amd.com>
+
+commit 6fa455935ab956248b165f150ec6ae9106210077 upstream.
+
+Causes problems on some boards.
+
+bug:
+https://bugs.freedesktop.org/show_bug.cgi?id=82889
+
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/radeon/si_dpm.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/radeon/si_dpm.c
++++ b/drivers/gpu/drm/radeon/si_dpm.c
+@@ -6255,7 +6255,7 @@ static void si_parse_pplib_clock_info(st
+       if ((rps->class2 & ATOM_PPLIB_CLASSIFICATION2_ULV) &&
+           index == 0) {
+               /* XXX disable for A0 tahiti */
+-              si_pi->ulv.supported = true;
++              si_pi->ulv.supported = false;
+               si_pi->ulv.pl = *pl;
+               si_pi->ulv.one_pcie_lane_in_ulv = false;
+               si_pi->ulv.volt_change_delay = SISLANDS_ULVVOLTAGECHANGEDELAY_DFLT;
diff --git a/queue-3.17/drm-radeon-dpm-fixes-for-asrock-systems.patch b/queue-3.17/drm-radeon-dpm-fixes-for-asrock-systems.patch
new file mode 100644 (file)
index 0000000..eb8b1f0
--- /dev/null
@@ -0,0 +1,60 @@
+From 72b3f9183ed57e4a2f0601a1c25ae2fd39855952 Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexander.deucher@amd.com>
+Date: Sun, 26 Oct 2014 15:10:21 -0400
+Subject: drm/radeon: dpm fixes for asrock systems
+
+From: Alex Deucher <alexander.deucher@amd.com>
+
+commit 72b3f9183ed57e4a2f0601a1c25ae2fd39855952 upstream.
+
+- bapm seems to cause CPU stuck messages so disable it.
+- nb dpm seems to prevent GPU dpm from getting enabled, so
+disable it.
+
+bug:
+https://bugs.freedesktop.org/show_bug.cgi?id=85107
+
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/radeon/kv_dpm.c |   19 ++++++++++++++++---
+ 1 file changed, 16 insertions(+), 3 deletions(-)
+
+--- a/drivers/gpu/drm/radeon/kv_dpm.c
++++ b/drivers/gpu/drm/radeon/kv_dpm.c
+@@ -2725,7 +2725,11 @@ int kv_dpm_init(struct radeon_device *rd
+         pi->sram_end = SMC_RAM_END;
+-      pi->enable_nb_dpm = true;
++      /* Enabling nb dpm on an asrock system prevents dpm from working */
++      if (rdev->pdev->subsystem_vendor == 0x1849)
++              pi->enable_nb_dpm = false;
++      else
++              pi->enable_nb_dpm = true;
+       pi->caps_power_containment = true;
+       pi->caps_cac = true;
+@@ -2740,10 +2744,19 @@ int kv_dpm_init(struct radeon_device *rd
+       pi->caps_sclk_ds = true;
+       pi->enable_auto_thermal_throttling = true;
+       pi->disable_nb_ps3_in_battery = false;
+-      if (radeon_bapm == 0)
++      if (radeon_bapm == -1) {
++              /* There are stability issues reported on with
++               * bapm enabled on an asrock system.
++               */
++              if (rdev->pdev->subsystem_vendor == 0x1849)
++                      pi->bapm_enable = false;
++              else
++                      pi->bapm_enable = true;
++      } else if (radeon_bapm == 0) {
+               pi->bapm_enable = false;
+-      else
++      } else {
+               pi->bapm_enable = true;
++      }
+       pi->voltage_drop_t = 0;
+       pi->caps_sclk_throttle_low_notification = false;
+       pi->caps_fps = false; /* true? */
diff --git a/queue-3.17/drm-radeon-remove-invalid-pci-id.patch b/queue-3.17/drm-radeon-remove-invalid-pci-id.patch
new file mode 100644 (file)
index 0000000..b446149
--- /dev/null
@@ -0,0 +1,30 @@
+From 8c3e434769b1707fd2d24de5a2eb25fedc634c4a Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexander.deucher@amd.com>
+Date: Sun, 26 Oct 2014 15:18:42 -0400
+Subject: drm/radeon: remove invalid pci id
+
+From: Alex Deucher <alexander.deucher@amd.com>
+
+commit 8c3e434769b1707fd2d24de5a2eb25fedc634c4a upstream.
+
+0x4c6e is a secondary device id so should not be used
+by the driver.
+
+Noticed-by: Mark Kettenis <mark.kettenis@xs4all.nl>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ include/drm/drm_pciids.h |    1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/include/drm/drm_pciids.h
++++ b/include/drm/drm_pciids.h
+@@ -74,7 +74,6 @@
+       {0x1002, 0x4C64, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV250|RADEON_IS_MOBILITY}, \
+       {0x1002, 0x4C66, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV250|RADEON_IS_MOBILITY}, \
+       {0x1002, 0x4C67, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV250|RADEON_IS_MOBILITY}, \
+-      {0x1002, 0x4C6E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV280|RADEON_IS_MOBILITY}, \
+       {0x1002, 0x4E44, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R300}, \
+       {0x1002, 0x4E45, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R300}, \
+       {0x1002, 0x4E46, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R300}, \
diff --git a/queue-3.17/drm-radeon-use-drm_malloc_ab-instead-of-kmalloc_array.patch b/queue-3.17/drm-radeon-use-drm_malloc_ab-instead-of-kmalloc_array.patch
new file mode 100644 (file)
index 0000000..7453f14
--- /dev/null
@@ -0,0 +1,71 @@
+From e5a5fd4df21b9c4acb67e815ec949cce594860f8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer@amd.com>
+Date: Mon, 20 Oct 2014 18:40:54 +0900
+Subject: drm/radeon: Use drm_malloc_ab instead of kmalloc_array
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer@amd.com>
+
+commit e5a5fd4df21b9c4acb67e815ec949cce594860f8 upstream.
+
+Should avoid kmalloc failures due to large number of array entries.
+
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81991
+Reviewed-by: Dave Airlie <airlied@redhat.com>
+Reviewed-by: Christian König <christian.koenig@amd.com>
+Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/radeon/radeon_cs.c   |    2 +-
+ drivers/gpu/drm/radeon/radeon_ring.c |    4 ++--
+ drivers/gpu/drm/radeon/radeon_vm.c   |    4 ++--
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+--- a/drivers/gpu/drm/radeon/radeon_cs.c
++++ b/drivers/gpu/drm/radeon/radeon_cs.c
+@@ -418,7 +418,7 @@ static void radeon_cs_parser_fini(struct
+       kfree(parser->track);
+       kfree(parser->relocs);
+       kfree(parser->relocs_ptr);
+-      kfree(parser->vm_bos);
++      drm_free_large(parser->vm_bos);
+       for (i = 0; i < parser->nchunks; i++)
+               drm_free_large(parser->chunks[i].kdata);
+       kfree(parser->chunks);
+--- a/drivers/gpu/drm/radeon/radeon_ring.c
++++ b/drivers/gpu/drm/radeon/radeon_ring.c
+@@ -335,7 +335,7 @@ unsigned radeon_ring_backup(struct radeo
+       }
+       /* and then save the content of the ring */
+-      *data = kmalloc_array(size, sizeof(uint32_t), GFP_KERNEL);
++      *data = drm_malloc_ab(size, sizeof(uint32_t));
+       if (!*data) {
+               mutex_unlock(&rdev->ring_lock);
+               return 0;
+@@ -377,7 +377,7 @@ int radeon_ring_restore(struct radeon_de
+       }
+       radeon_ring_unlock_commit(rdev, ring, false);
+-      kfree(data);
++      drm_free_large(data);
+       return 0;
+ }
+--- a/drivers/gpu/drm/radeon/radeon_vm.c
++++ b/drivers/gpu/drm/radeon/radeon_vm.c
+@@ -132,8 +132,8 @@ struct radeon_cs_reloc *radeon_vm_get_bo
+       struct radeon_cs_reloc *list;
+       unsigned i, idx;
+-      list = kmalloc_array(vm->max_pde_used + 2,
+-                           sizeof(struct radeon_cs_reloc), GFP_KERNEL);
++      list = drm_malloc_ab(vm->max_pde_used + 2,
++                           sizeof(struct radeon_cs_reloc));
+       if (!list)
+               return NULL;
diff --git a/queue-3.17/drm-vmwgfx-filter-out-modes-those-cannot-be-supported-by-the-current-vram-size.patch b/queue-3.17/drm-vmwgfx-filter-out-modes-those-cannot-be-supported-by-the-current-vram-size.patch
new file mode 100644 (file)
index 0000000..ea17096
--- /dev/null
@@ -0,0 +1,80 @@
+From 9a72384d86b26cb8a2b25106677e1197f606668f Mon Sep 17 00:00:00 2001
+From: Sinclair Yeh <syeh@vmware.com>
+Date: Fri, 31 Oct 2014 09:58:06 +0100
+Subject: drm/vmwgfx: Filter out modes those cannot be supported by the current VRAM size.
+
+From: Sinclair Yeh <syeh@vmware.com>
+
+commit 9a72384d86b26cb8a2b25106677e1197f606668f upstream.
+
+When screen objects are enabled, the bpp is assumed to be 32, otherwise
+it is set to 16.
+
+v2:
+* Use u32 instead of u64 for assumed_bpp.
+* Fixed mechanism to check for screen objects
+* Limit the back buffer size to VRAM.
+
+Signed-off-by: Sinclair Yeh <syeh@vmware.com>
+Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/vmwgfx/vmwgfx_drv.c |    6 +++++-
+ drivers/gpu/drm/vmwgfx/vmwgfx_kms.c |   16 +++++++++++++---
+ 2 files changed, 18 insertions(+), 4 deletions(-)
+
+--- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
++++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
+@@ -688,7 +688,11 @@ static int vmw_driver_load(struct drm_de
+               goto out_err0;
+       }
+-      if (unlikely(dev_priv->prim_bb_mem < dev_priv->vram_size))
++      /*
++       * Limit back buffer size to VRAM size.  Remove this once
++       * screen targets are implemented.
++       */
++      if (dev_priv->prim_bb_mem > dev_priv->vram_size)
+               dev_priv->prim_bb_mem = dev_priv->vram_size;
+       mutex_unlock(&dev_priv->hw_mutex);
+--- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
++++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
+@@ -1950,6 +1950,14 @@ int vmw_du_connector_fill_modes(struct d
+               DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC)
+       };
+       int i;
++      u32 assumed_bpp = 2;
++
++      /*
++       * If using screen objects, then assume 32-bpp because that's what the
++       * SVGA device is assuming
++       */
++      if (dev_priv->sou_priv)
++              assumed_bpp = 4;
+       /* Add preferred mode */
+       {
+@@ -1960,8 +1968,9 @@ int vmw_du_connector_fill_modes(struct d
+               mode->vdisplay = du->pref_height;
+               vmw_guess_mode_timing(mode);
+-              if (vmw_kms_validate_mode_vram(dev_priv, mode->hdisplay * 2,
+-                                             mode->vdisplay)) {
++              if (vmw_kms_validate_mode_vram(dev_priv,
++                                              mode->hdisplay * assumed_bpp,
++                                              mode->vdisplay)) {
+                       drm_mode_probed_add(connector, mode);
+               } else {
+                       drm_mode_destroy(dev, mode);
+@@ -1983,7 +1992,8 @@ int vmw_du_connector_fill_modes(struct d
+                   bmode->vdisplay > max_height)
+                       continue;
+-              if (!vmw_kms_validate_mode_vram(dev_priv, bmode->hdisplay * 2,
++              if (!vmw_kms_validate_mode_vram(dev_priv,
++                                              bmode->hdisplay * assumed_bpp,
+                                               bmode->vdisplay))
+                       continue;
diff --git a/queue-3.17/fix-breakage-in-o2net_send_tcp_msg.patch b/queue-3.17/fix-breakage-in-o2net_send_tcp_msg.patch
new file mode 100644 (file)
index 0000000..e48d92e
--- /dev/null
@@ -0,0 +1,30 @@
+From 7e8631e8b9d4e9f698c09c7e7309c96249180ff9 Mon Sep 17 00:00:00 2001
+From: Al Viro <viro@zeniv.linux.org.uk>
+Date: Wed, 5 Nov 2014 15:18:29 -0500
+Subject: fix breakage in o2net_send_tcp_msg()
+
+From: Al Viro <viro@zeniv.linux.org.uk>
+
+commit 7e8631e8b9d4e9f698c09c7e7309c96249180ff9 upstream.
+
+uninitialized msghdr.  Broken in "ocfs2: don't open-code kernel_recvmsg()"
+by me ;-/
+
+Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ fs/ocfs2/cluster/tcp.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/fs/ocfs2/cluster/tcp.c
++++ b/fs/ocfs2/cluster/tcp.c
+@@ -925,7 +925,7 @@ static int o2net_send_tcp_msg(struct soc
+                             size_t veclen, size_t total)
+ {
+       int ret;
+-      struct msghdr msg;
++      struct msghdr msg = {.msg_flags = 0,};
+       if (sock == NULL) {
+               ret = -EINVAL;
diff --git a/queue-3.17/mm-cma-don-t-crash-on-allocation-if-cma-area-can-t-be-activated.patch b/queue-3.17/mm-cma-don-t-crash-on-allocation-if-cma-area-can-t-be-activated.patch
new file mode 100644 (file)
index 0000000..497f0af
--- /dev/null
@@ -0,0 +1,33 @@
+From f022d8cb7ec70fe8edd56383d876001317ee76b1 Mon Sep 17 00:00:00 2001
+From: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
+Date: Fri, 24 Oct 2014 13:18:39 +0300
+Subject: mm: cma: Don't crash on allocation if CMA area can't be activated
+
+From: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
+
+commit f022d8cb7ec70fe8edd56383d876001317ee76b1 upstream.
+
+If activation of the CMA area fails its mutex won't be initialized,
+leading to an oops at allocation time when trying to lock the mutex. Fix
+this by setting the cma area count field to 0 when activation fails,
+leading to allocation returning NULL immediately.
+
+Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
+Acked-by: Michal Nazarewicz <mina86@mina86.com>
+Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ mm/cma.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/mm/cma.c
++++ b/mm/cma.c
+@@ -123,6 +123,7 @@ static int __init cma_activate_area(stru
+ err:
+       kfree(cma->bitmap);
++      cma->count = 0;
+       return -EINVAL;
+ }
diff --git a/queue-3.17/pinctrl-baytrail-show-output-gpio-state-correctly-on-intel-baytrail.patch b/queue-3.17/pinctrl-baytrail-show-output-gpio-state-correctly-on-intel-baytrail.patch
new file mode 100644 (file)
index 0000000..266d313
--- /dev/null
@@ -0,0 +1,36 @@
+From d90c33818967c5e5371961604ad98b4dea4fa3f4 Mon Sep 17 00:00:00 2001
+From: David Cohen <david.a.cohen@linux.intel.com>
+Date: Tue, 14 Oct 2014 10:54:37 -0700
+Subject: pinctrl: baytrail: show output gpio state correctly on Intel Baytrail
+
+From: David Cohen <david.a.cohen@linux.intel.com>
+
+commit d90c33818967c5e5371961604ad98b4dea4fa3f4 upstream.
+
+Even if a gpio pin is set to output, we still need to set INPUT_EN
+functionality (by clearing INPUT_EN bit) to be able to read the pin's
+level.
+
+E.g. without this change, we'll always read low level state from sysfs.
+
+Cc: Mathias Nyman <mathias.nyman@linux.intel.com>
+Signed-off-by: David Cohen <david.a.cohen@linux.intel.com>
+Reviewed-by: Felipe Balbi <balbi@ti.com>
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/pinctrl/pinctrl-baytrail.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/pinctrl/pinctrl-baytrail.c
++++ b/drivers/pinctrl/pinctrl-baytrail.c
+@@ -318,7 +318,7 @@ static int byt_gpio_direction_output(str
+               "Potential Error: Setting GPIO with direct_irq_en to output");
+       reg_val = readl(reg) | BYT_DIR_MASK;
+-      reg_val &= ~BYT_OUTPUT_EN;
++      reg_val &= ~(BYT_OUTPUT_EN | BYT_INPUT_EN);
+       if (value)
+               writel(reg_val | BYT_LEVEL, reg);
diff --git a/queue-3.17/rbd-fix-error-recovery-in-rbd_obj_read_sync.patch b/queue-3.17/rbd-fix-error-recovery-in-rbd_obj_read_sync.patch
new file mode 100644 (file)
index 0000000..d756f79
--- /dev/null
@@ -0,0 +1,36 @@
+From a8d4205623ae965e36c68629db306ca0695a2771 Mon Sep 17 00:00:00 2001
+From: Jan Kara <jack@suse.cz>
+Date: Wed, 22 Oct 2014 09:17:24 +0200
+Subject: rbd: Fix error recovery in rbd_obj_read_sync()
+
+From: Jan Kara <jack@suse.cz>
+
+commit a8d4205623ae965e36c68629db306ca0695a2771 upstream.
+
+When we fail to allocate page vector in rbd_obj_read_sync() we just
+basically ignore the problem and continue which will result in an oops
+later. Fix the problem by returning proper error.
+
+CC: Yehuda Sadeh <yehuda@inktank.com>
+CC: Sage Weil <sage@inktank.com>
+CC: ceph-devel@vger.kernel.org
+Coverity-id: 1226882
+Signed-off-by: Jan Kara <jack@suse.cz>
+Signed-off-by: Ilya Dryomov <idryomov@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/block/rbd.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/block/rbd.c
++++ b/drivers/block/rbd.c
+@@ -3382,7 +3382,7 @@ static int rbd_obj_read_sync(struct rbd_
+       page_count = (u32) calc_pages_for(offset, length);
+       pages = ceph_alloc_page_vector(page_count, GFP_KERNEL);
+       if (IS_ERR(pages))
+-              ret = PTR_ERR(pages);
++              return PTR_ERR(pages);
+       ret = -ENOMEM;
+       obj_request = rbd_obj_request_create(object_name, offset, length,
diff --git a/queue-3.17/samsung-laptop-add-broken-acpi-video-quirk-for-nc210-nc110.patch b/queue-3.17/samsung-laptop-add-broken-acpi-video-quirk-for-nc210-nc110.patch
new file mode 100644 (file)
index 0000000..bde8bf4
--- /dev/null
@@ -0,0 +1,40 @@
+From 5a1426c99f9b7aa11d60c4e6b7a3211bb5321696 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Wed, 22 Oct 2014 16:06:37 +0200
+Subject: samsung-laptop: Add broken-acpi-video quirk for NC210/NC110
+
+From: Hans de Goede <hdegoede@redhat.com>
+
+commit 5a1426c99f9b7aa11d60c4e6b7a3211bb5321696 upstream.
+
+The acpi-video backlight interface on the NC210 does not work, blacklist it
+and use the samsung-laptop interface instead.
+
+BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=861573
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+Signed-off-by: Darren Hart <dvhart@linux.intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/platform/x86/samsung-laptop.c |   10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+--- a/drivers/platform/x86/samsung-laptop.c
++++ b/drivers/platform/x86/samsung-laptop.c
+@@ -1561,6 +1561,16 @@ static struct dmi_system_id __initdata s
+       },
+       {
+        .callback = samsung_dmi_matched,
++       .ident = "NC210",
++       .matches = {
++              DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."),
++              DMI_MATCH(DMI_PRODUCT_NAME, "NC210/NC110"),
++              DMI_MATCH(DMI_BOARD_NAME, "NC210/NC110"),
++              },
++       .driver_data = &samsung_broken_acpi_video,
++      },
++      {
++       .callback = samsung_dmi_matched,
+        .ident = "730U3E/740U3E",
+        .matches = {
+               DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."),
index e76318c5eac3d248d2a0bb3e55faa7ff3e00954c..bf43bab029e86d5a76212ea557280a0e02bdfa69 100644 (file)
@@ -280,3 +280,19 @@ mtd-m25p80-fix-module-aliases-for-m25p80.patch
 usb-dwc3-gadget-fix-set_halt-bug-with-pending-transfers.patch
 usb-gadget-function-acm-make-f_acm-pass-usb20cv-chapter9.patch
 sched-use-rq-rd-in-sched_setaffinity-under-rcu-read-lock.patch
+x86-intel-mid-create-irqs-for-apb-timers-and-rtc-timers.patch
+drm-vmwgfx-filter-out-modes-those-cannot-be-supported-by-the-current-vram-size.patch
+drm-radeon-dpm-disable-ulv-support-on-si.patch
+drm-radeon-use-drm_malloc_ab-instead-of-kmalloc_array.patch
+drm-radeon-dpm-fixes-for-asrock-systems.patch
+drm-radeon-remove-invalid-pci-id.patch
+drm-i915-do-a-dummy-dpcd-read-before-the-actual-read.patch
+drm-i915-fix-gmbusfreq-on-vlv-chv.patch
+drm-i915-ignore-vbt-backlight-check-on-macbook-2-1.patch
+mm-cma-don-t-crash-on-allocation-if-cma-area-can-t-be-activated.patch
+rbd-fix-error-recovery-in-rbd_obj_read_sync.patch
+acer-wmi-add-acpi_backlight-video-quirk-for-the-acer-kav80.patch
+samsung-laptop-add-broken-acpi-video-quirk-for-nc210-nc110.patch
+fix-breakage-in-o2net_send_tcp_msg.patch
+pinctrl-baytrail-show-output-gpio-state-correctly-on-intel-baytrail.patch
+arm-pxa-fix-hang-on-startup-with-debug_ll.patch
diff --git a/queue-3.17/x86-intel-mid-create-irqs-for-apb-timers-and-rtc-timers.patch b/queue-3.17/x86-intel-mid-create-irqs-for-apb-timers-and-rtc-timers.patch
new file mode 100644 (file)
index 0000000..f0d2309
--- /dev/null
@@ -0,0 +1,70 @@
+From f18298595aefa2c836a128ec6e0f75f39965dd81 Mon Sep 17 00:00:00 2001
+From: Jiang Liu <jiang.liu@linux.intel.com>
+Date: Mon, 27 Oct 2014 13:21:32 +0800
+Subject: x86, intel-mid: Create IRQs for APB timers and RTC timers
+
+From: Jiang Liu <jiang.liu@linux.intel.com>
+
+commit f18298595aefa2c836a128ec6e0f75f39965dd81 upstream.
+
+Intel MID platforms has no legacy interrupts, so no IRQ descriptors
+preallocated. We need to call mp_map_gsi_to_irq() to create IRQ
+descriptors for APB timers and RTC timers, otherwise it may cause
+invalid memory access as:
+[    0.116839] BUG: unable to handle kernel NULL pointer dereference at
+0000003a
+[    0.123803] IP: [<c1071c0e>] setup_irq+0xf/0x4d
+
+Tested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
+Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
+Cc: Tony Luck <tony.luck@intel.com>
+Cc: Joerg Roedel <joro@8bytes.org>
+Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Cc: H. Peter Anvin <hpa@linux.intel.com>
+Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
+Cc: Bjorn Helgaas <bhelgaas@google.com>
+Cc: Randy Dunlap <rdunlap@infradead.org>
+Cc: Yinghai Lu <yinghai@kernel.org>
+Cc: Borislav Petkov <bp@alien8.de>
+Cc: David Cohen <david.a.cohen@linux.intel.com>
+Link: http://lkml.kernel.org/r/1414387308-27148-3-git-send-email-jiang.liu@linux.intel.com
+Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
+Signed-off-by: Ingo Molnar <mingo@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/x86/kernel/apb_timer.c       |    2 --
+ arch/x86/platform/intel-mid/sfi.c |    2 ++
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+--- a/arch/x86/kernel/apb_timer.c
++++ b/arch/x86/kernel/apb_timer.c
+@@ -185,8 +185,6 @@ static void apbt_setup_irq(struct apbt_d
+       irq_modify_status(adev->irq, 0, IRQ_MOVE_PCNTXT);
+       irq_set_affinity(adev->irq, cpumask_of(adev->cpu));
+-      /* APB timer irqs are set up as mp_irqs, timer is edge type */
+-      __irq_set_handler(adev->irq, handle_edge_irq, 0, "edge");
+ }
+ /* Should be called with per cpu */
+--- a/arch/x86/platform/intel-mid/sfi.c
++++ b/arch/x86/platform/intel-mid/sfi.c
+@@ -106,6 +106,7 @@ int __init sfi_parse_mtmr(struct sfi_tab
+                       mp_irq.dstapic = MP_APIC_ALL;
+                       mp_irq.dstirq = pentry->irq;
+                       mp_save_irq(&mp_irq);
++                      mp_map_gsi_to_irq(pentry->irq, IOAPIC_MAP_ALLOC);
+       }
+       return 0;
+@@ -176,6 +177,7 @@ int __init sfi_parse_mrtc(struct sfi_tab
+               mp_irq.dstapic = MP_APIC_ALL;
+               mp_irq.dstirq = pentry->irq;
+               mp_save_irq(&mp_irq);
++              mp_map_gsi_to_irq(pentry->irq, IOAPIC_MAP_ALLOC);
+       }
+       return 0;
+ }