summaryrefslogtreecommitdiff
path: root/recipes-kernel/linux/linux-toradex-rt-4.9-1.0.x/0001-gpu-viv-enable-PREEMPT-RT-fixes.patch
diff options
context:
space:
mode:
authorStefan Agner <stefan.agner@toradex.com>2018-01-25 13:30:27 +0100
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2018-03-29 09:21:20 +0200
commit0e4156a2b18a2a18f1338856ee9f85b81dfa63bb (patch)
treef483e6ebb907daf8a9c447229c1c4ca07e7e6a90 /recipes-kernel/linux/linux-toradex-rt-4.9-1.0.x/0001-gpu-viv-enable-PREEMPT-RT-fixes.patch
parenta52566c5aa5f007cd6174793d8fed9b86fc6b2c1 (diff)
linux-toradex-rt_4.9-1.0.x: add kernel recipe with PREEMPT RT
Add kernel recipe which applies the PREEMPT RT patchset. Patches used in the 4.1 kernel are either obsolete or have been updated. The patch "Work around CPU stalls in the imx-sdma driver" seems not to be necessary. The kernel did not show the reported stack trace after one night of cyclictest while audio running. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Diffstat (limited to 'recipes-kernel/linux/linux-toradex-rt-4.9-1.0.x/0001-gpu-viv-enable-PREEMPT-RT-fixes.patch')
-rw-r--r--recipes-kernel/linux/linux-toradex-rt-4.9-1.0.x/0001-gpu-viv-enable-PREEMPT-RT-fixes.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-toradex-rt-4.9-1.0.x/0001-gpu-viv-enable-PREEMPT-RT-fixes.patch b/recipes-kernel/linux/linux-toradex-rt-4.9-1.0.x/0001-gpu-viv-enable-PREEMPT-RT-fixes.patch
new file mode 100644
index 0000000..238f23e
--- /dev/null
+++ b/recipes-kernel/linux/linux-toradex-rt-4.9-1.0.x/0001-gpu-viv-enable-PREEMPT-RT-fixes.patch
@@ -0,0 +1,46 @@
+From 3a72b4b868fe160f57817fa54cc14aa235391970 Mon Sep 17 00:00:00 2001
+From: Stefan Agner <stefan.agner@toradex.com>
+Date: Wed, 24 Jan 2018 16:35:37 +0100
+Subject: [PATCH 1/2] gpu-viv: enable PREEMPT RT fixes
+
+Set the preprocessor define gcdRT_KERNEL to enable PREEMPT RT
+kernel ifdefs. Use new macro DECLARE_SWAITQUEUE to declare the
+simple wait queue.
+
+Upstream-Status: Inappropriate [vendor kernel specific]
+
+Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
+---
+ drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h | 2 ++
+ drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c | 2 +-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h
+index 32233cc3418e..fed9448d216e 100644
+--- a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h
++++ b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h
+@@ -115,6 +115,8 @@
+
+ #define GetPageCount(size, offset) ((((size) + ((offset) & ~PAGE_MASK)) + PAGE_SIZE - 1) >> PAGE_SHIFT)
+
++#define gcdRT_KERNEL
++
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION (3,7,0)
+ #define gcdVM_FLAGS (VM_IO | VM_DONTCOPY | VM_DONTEXPAND | VM_DONTDUMP)
+ #else
+diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
+index 9bf60450f976..46ba3c6839ac 100644
+--- a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
++++ b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
+@@ -6063,7 +6063,7 @@ gckOS_WaitSignal(
+ : msecs_to_jiffies(Wait);
+
+ #ifdef gcdRT_KERNEL
+- DEFINE_SWAITER(wait);
++ DECLARE_SWAITQUEUE(wait);
+ #else
+ DECLARE_WAITQUEUE(wait, current);
+ wait.flags |= WQ_FLAG_EXCLUSIVE;
+--
+2.15.1
+