patches-3.8.13-rt12.tar.xz

md5sum:
2949e1c343fa498ccc827551d67b0c8c  patches-3.8.13-rt12.tar.xz

Announce:
 -----------
 Dear RT Folks,

 I'm pleased to announce the 3.8.13-rt12 release.

 changes since v3.8.13-rt11:
 - added the missing "acpi/rt: Convert acpi_gbl_hardware lock back to a
   raw_spinlock_t", reported by Steven.
 - added an option to the i915 driver to disable the expensive wbinvd. A
   warning is printed once on RT if wbinvd is not disabled to let the
   user know about this problem. This problem was decoded by Carsten Emde.
 - disable the trace_i915_gem_ring_dispatch() tracepoint on RT. Earlier
   it was reported that using this trace point leads to "scheduled while
   atomic" warnings. To fix this I pulled out the function in question out
   of the tracing macro. Upstream complains that this leads to too much
   overhead if the tracing point is not enabled so not it is gone.

 The delta patch against v3.8.13-rt11 is appended below and can be found here:

    https://www.kernel.org/pub/linux/kernel/projects/rt/3.8/incr/patch-3.8.13-rt11-rt12 \
 .patch.xz

 The RT patch against 3.8.11 can be found here:

   https://www.kernel.org/pub/linux/kernel/projects/rt/3.8/patch-3.8.13-rt12.patch.xz

 The split quilt queue is available at:

   https://www.kernel.org/pub/linux/kernel/projects/rt/3.8/patches-3.8.13-rt12.tar.xz

 Sebastian

 [delta patch snipped]
 -----------

http://marc.info/?l=linux-rt-users&m=137182908116978&w=2

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
diff --git a/patches/acpi-rt-Convert-acpi_gbl_hardware-lock-back-to-a-raw.patch b/patches/acpi-rt-Convert-acpi_gbl_hardware-lock-back-to-a-raw.patch
new file mode 100644
index 0000000..629c238
--- /dev/null
+++ b/patches/acpi-rt-Convert-acpi_gbl_hardware-lock-back-to-a-raw.patch
@@ -0,0 +1,187 @@
+From 6954cd89a4088ed413edaa4755b0585130acf56f Mon Sep 17 00:00:00 2001
+From: Steven Rostedt <rostedt@goodmis.org>
+Date: Wed, 13 Feb 2013 09:26:05 -0500
+Subject: [PATCH] acpi/rt: Convert acpi_gbl_hardware lock back to a
+ raw_spinlock_t
+
+We hit the following bug with 3.6-rt:
+
+[    5.898990] BUG: scheduling while atomic: swapper/3/0/0x00000002
+[    5.898991] no locks held by swapper/3/0.
+[    5.898993] Modules linked in:
+[    5.898996] Pid: 0, comm: swapper/3 Not tainted 3.6.11-rt28.19.el6rt.x86_64.debug #1
+[    5.898997] Call Trace:
+[    5.899011]  [<ffffffff810804e7>] __schedule_bug+0x67/0x90
+[    5.899028]  [<ffffffff81577923>] __schedule+0x793/0x7a0
+[    5.899032]  [<ffffffff810b4e40>] ? debug_rt_mutex_print_deadlock+0x50/0x200
+[    5.899034]  [<ffffffff81577b89>] schedule+0x29/0x70
+[    5.899036] BUG: scheduling while atomic: swapper/7/0/0x00000002
+[    5.899037] no locks held by swapper/7/0.
+[    5.899039]  [<ffffffff81578525>] rt_spin_lock_slowlock+0xe5/0x2f0
+[    5.899040] Modules linked in:
+[    5.899041]
+[    5.899045]  [<ffffffff81579a58>] ? _raw_spin_unlock_irqrestore+0x38/0x90
+[    5.899046] Pid: 0, comm: swapper/7 Not tainted 3.6.11-rt28.19.el6rt.x86_64.debug #1
+[    5.899047] Call Trace:
+[    5.899049]  [<ffffffff81578bc6>] rt_spin_lock+0x16/0x40
+[    5.899052]  [<ffffffff810804e7>] __schedule_bug+0x67/0x90
+[    5.899054]  [<ffffffff8157d3f0>] ? notifier_call_chain+0x80/0x80
+[    5.899056]  [<ffffffff81577923>] __schedule+0x793/0x7a0
+[    5.899059]  [<ffffffff812f2034>] acpi_os_acquire_lock+0x1f/0x23
+[    5.899062]  [<ffffffff810b4e40>] ? debug_rt_mutex_print_deadlock+0x50/0x200
+[    5.899068]  [<ffffffff8130be64>] acpi_write_bit_register+0x33/0xb0
+[    5.899071]  [<ffffffff81577b89>] schedule+0x29/0x70
+[    5.899072]  [<ffffffff8130be13>] ? acpi_read_bit_register+0x33/0x51
+[    5.899074]  [<ffffffff81578525>] rt_spin_lock_slowlock+0xe5/0x2f0
+[    5.899077]  [<ffffffff8131d1fc>] acpi_idle_enter_bm+0x8a/0x28e
+[    5.899079]  [<ffffffff81579a58>] ? _raw_spin_unlock_irqrestore+0x38/0x90
+[    5.899081]  [<ffffffff8107e5da>] ? this_cpu_load+0x1a/0x30
+[    5.899083]  [<ffffffff81578bc6>] rt_spin_lock+0x16/0x40
+[    5.899087]  [<ffffffff8144c759>] cpuidle_enter+0x19/0x20
+[    5.899088]  [<ffffffff8157d3f0>] ? notifier_call_chain+0x80/0x80
+[    5.899090]  [<ffffffff8144c777>] cpuidle_enter_state+0x17/0x50
+[    5.899092]  [<ffffffff812f2034>] acpi_os_acquire_lock+0x1f/0x23
+[    5.899094]  [<ffffffff8144d1a1>] cpuidle899101]  [<ffffffff8130be13>] ?
+
+As the acpi code disables interrupts in acpi_idle_enter_bm, and calls
+code that grabs the acpi lock, it causes issues as the lock is currently
+in RT a sleeping lock.
+
+The lock was converted from a raw to a sleeping lock due to some
+previous issues, and tests that showed it didn't seem to matter.
+Unfortunately, it did matter for one of our boxes.
+
+This patch converts the lock back to a raw lock. I've run this code on a
+few of my own machines, one being my laptop that uses the acpi quite
+extensively. I've been able to suspend and resume without issues.
+
+[ tglx: Made the change exclusive for acpi_gbl_hardware_lock ]
+
+Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
+Cc: John Kacur <jkacur@gmail.com>
+Cc: Clark Williams <clark@redhat.com>
+Link: http://lkml.kernel.org/r/1360765565.23152.5.camel@gandalf.local.home
+Cc: stable-rt@vger.kernel.org
+Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
+Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+---
+ drivers/acpi/acpica/acglobal.h  |  2 +-
+ drivers/acpi/acpica/hwregs.c    |  4 ++--
+ drivers/acpi/acpica/hwxface.c   |  4 ++--
+ drivers/acpi/acpica/utmutex.c   |  4 ++--
+ include/acpi/platform/aclinux.h | 14 ++++++++++++++
+ 5 files changed, 21 insertions(+), 7 deletions(-)
+
+diff --git a/drivers/acpi/acpica/acglobal.h b/drivers/acpi/acpica/acglobal.h
+index 64472e4..26b3cc7 100644
+--- a/drivers/acpi/acpica/acglobal.h
++++ b/drivers/acpi/acpica/acglobal.h
+@@ -231,7 +231,7 @@ ACPI_EXTERN u8 acpi_gbl_global_lock_pending;
+  * interrupt level
+  */
+ ACPI_EXTERN acpi_spinlock acpi_gbl_gpe_lock;	/* For GPE data structs and registers */
+-ACPI_EXTERN acpi_spinlock acpi_gbl_hardware_lock;	/* For ACPI H/W except GPE registers */
++ACPI_EXTERN acpi_raw_spinlock acpi_gbl_hardware_lock;	/* For ACPI H/W except GPE registers */
+ 
+ /*****************************************************************************
+  *
+diff --git a/drivers/acpi/acpica/hwregs.c b/drivers/acpi/acpica/hwregs.c
+index f4e5750..1feedd3 100644
+--- a/drivers/acpi/acpica/hwregs.c
++++ b/drivers/acpi/acpica/hwregs.c
+@@ -270,14 +270,14 @@ acpi_status acpi_hw_clear_acpi_status(void)
+ 			  ACPI_BITMASK_ALL_FIXED_STATUS,
+ 			  ACPI_FORMAT_UINT64(acpi_gbl_xpm1a_status.address)));
+ 
+-	lock_flags = acpi_os_acquire_lock(acpi_gbl_hardware_lock);
++	raw_spin_lock_irqsave(acpi_gbl_hardware_lock, lock_flags);
+ 
+ 	/* Clear the fixed events in PM1 A/B */
+ 
+ 	status = acpi_hw_register_write(ACPI_REGISTER_PM1_STATUS,
+ 					ACPI_BITMASK_ALL_FIXED_STATUS);
+ 
+-	acpi_os_release_lock(acpi_gbl_hardware_lock, lock_flags);
++	raw_spin_unlock_irqrestore(acpi_gbl_hardware_lock, lock_flags);
+ 
+ 	if (ACPI_FAILURE(status))
+ 		goto exit;
+diff --git a/drivers/acpi/acpica/hwxface.c b/drivers/acpi/acpica/hwxface.c
+index 05a154c..9e2d253 100644
+--- a/drivers/acpi/acpica/hwxface.c
++++ b/drivers/acpi/acpica/hwxface.c
+@@ -365,7 +365,7 @@ acpi_status acpi_write_bit_register(u32 register_id, u32 value)
+ 		return_ACPI_STATUS(AE_BAD_PARAMETER);
+ 	}
+ 
+-	lock_flags = acpi_os_acquire_lock(acpi_gbl_hardware_lock);
++	raw_spin_lock_irqsave(acpi_gbl_hardware_lock, lock_flags);
+ 
+ 	/*
+ 	 * At this point, we know that the parent register is one of the
+@@ -426,7 +426,7 @@ acpi_status acpi_write_bit_register(u32 register_id, u32 value)
+ 
+ unlock_and_exit:
+ 
+-	acpi_os_release_lock(acpi_gbl_hardware_lock, lock_flags);
++	raw_spin_unlock_irqrestore(acpi_gbl_hardware_lock, lock_flags);
+ 	return_ACPI_STATUS(status);
+ }
+ 
+diff --git a/drivers/acpi/acpica/utmutex.c b/drivers/acpi/acpica/utmutex.c
+index 5ccf57c..db85f08 100644
+--- a/drivers/acpi/acpica/utmutex.c
++++ b/drivers/acpi/acpica/utmutex.c
+@@ -88,7 +88,7 @@ acpi_status acpi_ut_mutex_initialize(void)
+ 		return_ACPI_STATUS (status);
+ 	}
+ 
+-	status = acpi_os_create_lock (&acpi_gbl_hardware_lock);
++	status = acpi_os_create_raw_lock (&acpi_gbl_hardware_lock);
+ 	if (ACPI_FAILURE (status)) {
+ 		return_ACPI_STATUS (status);
+ 	}
+@@ -135,7 +135,7 @@ void acpi_ut_mutex_terminate(void)
+ 	/* Delete the spinlocks */
+ 
+ 	acpi_os_delete_lock(acpi_gbl_gpe_lock);
+-	acpi_os_delete_lock(acpi_gbl_hardware_lock);
++	acpi_os_delete_raw_lock(acpi_gbl_hardware_lock);
+ 
+ 	/* Delete the reader/writer lock */
+ 
+diff --git a/include/acpi/platform/aclinux.h b/include/acpi/platform/aclinux.h
+index 85d5d8f..59445e5 100644
+--- a/include/acpi/platform/aclinux.h
++++ b/include/acpi/platform/aclinux.h
+@@ -72,6 +72,7 @@
+ 
+ #define acpi_cache_t                        struct kmem_cache
+ #define acpi_spinlock                       spinlock_t *
++#define acpi_raw_spinlock                   raw_spinlock_t *
+ #define acpi_cpu_flags                      unsigned long
+ 
+ #else /* !__KERNEL__ */
+@@ -175,6 +176,19 @@ static inline void *acpi_os_acquire_object(acpi_cache_t * cache)
+ 	lock ? AE_OK : AE_NO_MEMORY;				\
+ })
+ 
++#define acpi_os_create_raw_lock(__handle)			\
++({								\
++	raw_spinlock_t *lock = ACPI_ALLOCATE(sizeof(*lock));	\
++								\
++	if (lock) {						\
++		*(__handle) = lock;				\
++		raw_spin_lock_init(*(__handle));		\
++	}							\
++	lock ? AE_OK : AE_NO_MEMORY;				\
++})
++
++#define acpi_os_delete_raw_lock(__handle)	kfree(__handle)
++
+ #endif /* __KERNEL__ */
+ 
+ #endif /* __ACLINUX_H__ */
+-- 
+1.8.3.1
+
diff --git a/patches/drm-i915-drop-trace_i915_gem_ring_dispatch-onrt.patch b/patches/drm-i915-drop-trace_i915_gem_ring_dispatch-onrt.patch
new file mode 100644
index 0000000..c81bbdf
--- /dev/null
+++ b/patches/drm-i915-drop-trace_i915_gem_ring_dispatch-onrt.patch
@@ -0,0 +1,59 @@
+From d841118ac80c5bfb18f47984bc40687eed08b714 Mon Sep 17 00:00:00 2001
+From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+Date: Thu, 25 Apr 2013 18:12:52 +0200
+Subject: [PATCH] drm/i915: drop trace_i915_gem_ring_dispatch on rt
+
+This tracepoint is responsible for:
+
+|[<814cc358>] __schedule_bug+0x4d/0x59
+|[<814d24cc>] __schedule+0x88c/0x930
+|[<814d3b90>] ? _raw_spin_unlock_irqrestore+0x40/0x50
+|[<814d3b95>] ? _raw_spin_unlock_irqrestore+0x45/0x50
+|[<810b57b5>] ? task_blocks_on_rt_mutex+0x1f5/0x250
+|[<814d27d9>] schedule+0x29/0x70
+|[<814d3423>] rt_spin_lock_slowlock+0x15b/0x278
+|[<814d3786>] rt_spin_lock+0x26/0x30
+|[<a00dced9>] gen6_gt_force_wake_get+0x29/0x60 [i915]
+|[<a00e183f>] gen6_ring_get_irq+0x5f/0x100 [i915]
+|[<a00b2a33>] ftrace_raw_event_i915_gem_ring_dispatch+0xe3/0x100 [i915]
+|[<a00ac1b3>] i915_gem_do_execbuffer.isra.13+0xbd3/0x1430 [i915]
+|[<810f8943>] ? trace_buffer_unlock_commit+0x43/0x60
+|[<8113e8d2>] ? ftrace_raw_event_kmem_alloc+0xd2/0x180
+|[<8101d063>] ? native_sched_clock+0x13/0x80
+|[<a00acf29>] i915_gem_execbuffer2+0x99/0x280 [i915]
+|[<a00114a3>] drm_ioctl+0x4c3/0x570 [drm]
+|[<8101d0d9>] ? sched_clock+0x9/0x10
+|[<a00ace90>] ? i915_gem_execbuffer+0x480/0x480 [i915]
+|[<810f1c18>] ? rb_commit+0x68/0xa0
+|[<810f1c6c>] ? ring_buffer_unlock_commit+0x1c/0xa0
+|[<81197467>] do_vfs_ioctl+0x97/0x540
+|[<81021318>] ? ftrace_raw_event_sys_enter+0xd8/0x130
+|[<811979a1>] sys_ioctl+0x91/0xb0
+|[<814db931>] tracesys+0xe1/0xe6
+
+Chris Wilson does not like to move i915_trace_irq_get() out of the macro
+
+|No. This enables the IRQ, as well as making a number of
+|very expensively serialised read, unconditionally.
+
+so it is gone now on RT.
+
+Cc: stable-rt@vger.kernel.org
+Reported-by: Joakim Hernberg <jbh@alchemy.lu>
+Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+---
+ drivers/gpu/drm/i915/i915_gem_execbuffer.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
++++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+@@ -1068,7 +1068,9 @@ i915_gem_do_execbuffer(struct drm_device
+ 			goto err;
+ 	}
+ 
++#ifndef CONFIG_PREEMPT_RT_BASE
+ 	trace_i915_gem_ring_dispatch(ring, intel_ring_get_seqno(ring), flags);
++#endif
+ 
+ 	i915_gem_execbuffer_move_to_active(&objects, ring);
+ 	i915_gem_execbuffer_retire_commands(dev, file, ring);
diff --git a/patches/drm-i915-move-i915_trace_irq_get-out-of-the-tracing-.patch b/patches/drm-i915-move-i915_trace_irq_get-out-of-the-tracing-.patch
deleted file mode 100644
index ace4f87..0000000
--- a/patches/drm-i915-move-i915_trace_irq_get-out-of-the-tracing-.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From d841118ac80c5bfb18f47984bc40687eed08b714 Mon Sep 17 00:00:00 2001
-From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
-Date: Thu, 25 Apr 2013 18:12:52 +0200
-Subject: [PATCH 1/5] drm/i915: move i915_trace_irq_get() out of the tracing
- macro
-
-Reported-by: Joakim Hernberg <jbh@alchemy.lu>
-[C.Emde@osadl.org: pull out seqno and define it so it compiled]
-Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
----
- drivers/gpu/drm/i915/i915_gem_execbuffer.c |    5 ++++-
- drivers/gpu/drm/i915/i915_trace.h          |    1 -
- drivers/gpu/drm/i915/intel_ringbuffer.h    |    2 ++
- 3 files changed, 6 insertions(+), 2 deletions(-)
-
---- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
-+++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
-@@ -814,6 +814,7 @@ i915_gem_do_execbuffer(struct drm_device
- 	struct intel_ring_buffer *ring;
- 	u32 ctx_id = i915_execbuffer2_get_context_id(*args);
- 	u32 exec_start, exec_len;
-+	u32 seqno;
- 	u32 mask;
- 	u32 flags;
- 	int ret, mode, i;
-@@ -1068,7 +1069,9 @@ i915_gem_do_execbuffer(struct drm_device
- 			goto err;
- 	}
- 
--	trace_i915_gem_ring_dispatch(ring, intel_ring_get_seqno(ring), flags);
-+	seqno = intel_ring_get_seqno(ring);
-+	trace_i915_gem_ring_dispatch(ring, seqno, flags);
-+	i915_trace_irq_get(ring, seqno);
- 
- 	i915_gem_execbuffer_move_to_active(&objects, ring);
- 	i915_gem_execbuffer_retire_commands(dev, file, ring);
---- a/drivers/gpu/drm/i915/i915_trace.h
-+++ b/drivers/gpu/drm/i915/i915_trace.h
-@@ -244,7 +244,6 @@ TRACE_EVENT(i915_gem_ring_dispatch,
- 			   __entry->ring = ring->id;
- 			   __entry->seqno = seqno;
- 			   __entry->flags = flags;
--			   i915_trace_irq_get(ring, seqno);
- 			   ),
- 
- 	    TP_printk("dev=%u, ring=%u, seqno=%u, flags=%x",
---- a/drivers/gpu/drm/i915/intel_ringbuffer.h
-+++ b/drivers/gpu/drm/i915/intel_ringbuffer.h
-@@ -232,8 +232,10 @@ static inline u32 intel_ring_get_seqno(s
- 
- static inline void i915_trace_irq_get(struct intel_ring_buffer *ring, u32 seqno)
- {
-+#ifdef CONFIG_TRACEPOINTS
- 	if (ring->trace_irq_seqno == 0 && ring->irq_get(ring))
- 		ring->trace_irq_seqno = seqno;
-+#endif
- }
- 
- /* DRI warts */
diff --git a/patches/gpu-i915-allow-the-user-not-to-do-the-wbinvd.patch b/patches/gpu-i915-allow-the-user-not-to-do-the-wbinvd.patch
new file mode 100644
index 0000000..a44c7c2
--- /dev/null
+++ b/patches/gpu-i915-allow-the-user-not-to-do-the-wbinvd.patch
@@ -0,0 +1,64 @@
+From b580b7eedc8ee3990b118003c4793291387c40ac Mon Sep 17 00:00:00 2001
+From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+Date: Fri, 21 Jun 2013 11:38:28 +0200
+Subject: [PATCH] gpu: i915: allow the user not to do the wbinvd
+
+The wbinvd() renders the system with i915 unusable on RT. Using this
+expensive instruction avoids GPU trouble according to
+   https://bugs.freedesktop.org/show_bug.cgi?id=62191
+
+As a workaround for RT it is recommended to pin each GPU related process
+to the same CPU and then disable this instruction via the module
+paramter.
+
+Cc: stable-rt@vger.kernel.org
+Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+---
+ drivers/gpu/drm/i915/i915_gem.c | 17 +++++++++++++++--
+ 1 file changed, 15 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
+index 339540d..dce41f4 100644
+--- a/drivers/gpu/drm/i915/i915_gem.c
++++ b/drivers/gpu/drm/i915/i915_gem.c
+@@ -35,6 +35,7 @@
+ #include <linux/swap.h>
+ #include <linux/pci.h>
+ #include <linux/dma-buf.h>
++#include <linux/module.h>
+ 
+ static void i915_gem_object_flush_gtt_write_domain(struct drm_i915_gem_object *obj);
+ static void i915_gem_object_flush_cpu_write_domain(struct drm_i915_gem_object *obj);
+@@ -2656,6 +2657,10 @@ static inline int fence_number(struct drm_i915_private *dev_priv,
+ 	return fence - dev_priv->fence_regs;
+ }
+ 
++static bool do_wbinvd = true;
++module_param(do_wbinvd, bool, 0644);
++MODULE_PARM_DESC(do_wbinvd, "Do expensive synchronization. Say no after you pin each GPU process to the same CPU in order to lower the latency.");
++
+ static void i915_gem_write_fence__ipi(void *data)
+ {
+ 	wbinvd();
+@@ -2679,8 +2684,16 @@ static void i915_gem_object_update_fence(struct drm_i915_gem_object *obj,
+ 	 * on each processor in order to manually flush all memory
+ 	 * transactions before updating the fence register.
+ 	 */
+-	if (HAS_LLC(obj->base.dev))
+-		on_each_cpu(i915_gem_write_fence__ipi, NULL, 1);
++	if (HAS_LLC(obj->base.dev)) {
++		if (do_wbinvd) {
++#ifdef CONFIG_PREEMPT_RT_FULL
++			pr_err_once("WARNING! The i915 invalidates all caches which increases the latency.");
++			pr_err_once("As a workaround use 'i915.do_wbinvd=no' and PIN each process doing ");
++			pr_err_once("any kind of GPU activity to the same CPU to avoid problems.");
++#endif
++			on_each_cpu(i915_gem_write_fence__ipi, NULL, 1);
++		}
++	}
+ 	i915_gem_write_fence(dev, fence_reg, enable ? obj : NULL);
+ 
+ 	if (enable) {
+-- 
+1.8.3.1
+
diff --git a/patches/localversion.patch b/patches/localversion.patch
index 4e59cb4..6e5d965 100644
--- a/patches/localversion.patch
+++ b/patches/localversion.patch
@@ -12,4 +12,4 @@
 --- /dev/null
 +++ b/localversion-rt
 @@ -0,0 +1 @@
-+-rt11
++-rt12
diff --git a/patches/series b/patches/series
index aa883c0..c1003f7 100644
--- a/patches/series
+++ b/patches/series
@@ -600,6 +600,8 @@
 x86-preempt-lazy.patch
 arm-preempt-lazy-support.patch
 
+acpi-rt-Convert-acpi_gbl_hardware-lock-back-to-a-raw.patch
+
 # 3.8 changes
 net-make-devnet_rename_seq-a-mutex.patch
 powerpc-fsl-msi-use-a-different-locklcass-for-the-ca.patch
@@ -608,9 +610,8 @@
 HACK-printk-drop-the-logbuf_lock-more-often.patch
 fs-fscache-remove-spin_lock-from-the-condition-in-wh.patch
 i915_compile_fix.patch
-#
-# XXX need feedback
-drm-i915-move-i915_trace_irq_get-out-of-the-tracing-.patch
+gpu-i915-allow-the-user-not-to-do-the-wbinvd.patch
+drm-i915-drop-trace_i915_gem_ring_dispatch-onrt.patch
 
 # XXX most likely not required
 kernel-workqueue-Add-PF_THREAD_BOUND-after-set_cpu.patch