diff options
| author | Jacob Kroon <jacob.kroon@mikrodidakt.se> | 2014-12-21 23:38:11 +0100 |
|---|---|---|
| committer | Otavio Salvador <otavio@ossystems.com.br> | 2014-12-22 10:13:54 -0200 |
| commit | 0b230b9c1fcf76d89dd3b6cbef01a305d831b275 (patch) | |
| tree | 35874151a89c1eebb6d7799593cada0d435ba6f9 | |
| parent | 7714d0f5a23a9b672a90b44c985d7156941d4796 (diff) | |
| download | meta-freescale-0b230b9c1fcf76d89dd3b6cbef01a305d831b275.tar.gz | |
linux-imx-rt: Upgrade to 3.10.31-1.1.0 Beta 2
Rebase onto kernel 3.10.31-1.1.0 Beta 2 from Freescale, plus
clock patch from Gary Bisson.
Except the kernel update there are no significant changes
other than refreshing patches and aligning defconfig.
Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
8 files changed, 134 insertions, 261 deletions
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.10.17/0001-fix-build.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.10.17/0001-fix-build.patch deleted file mode 100644 index 8d9ed83d2..000000000 --- a/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.10.17/0001-fix-build.patch +++ /dev/null | |||
| @@ -1,139 +0,0 @@ | |||
| 1 | Fix the build errors listed below | ||
| 2 | |||
| 3 | Upstream-Status: Inappropriate [other] | ||
| 4 | Freescale does not currently support the real-time kernel | ||
| 5 | |||
| 6 | Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se> | ||
| 7 | |||
| 8 | CC drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.o | ||
| 9 | drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c: In function 'gckOS_WaitSignal': | ||
| 10 | drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7835:5: error: passing argument 1 of 'spin_lock_irq' from incompatible pointer type [-Werror] | ||
| 11 | spin_lock_irq(&signal->obj.wait.lock); | ||
| 12 | ^ | ||
| 13 | In file included from include/linux/seqlock.h:29:0, | ||
| 14 | from include/linux/time.h:5, | ||
| 15 | from include/linux/stat.h:18, | ||
| 16 | from include/linux/module.h:10, | ||
| 17 | from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27, | ||
| 18 | from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22: | ||
| 19 | include/linux/spinlock.h:316:20: note: expected 'struct spinlock_t *' but argument is of type 'struct raw_spinlock_t *' | ||
| 20 | static inline void spin_lock_irq(spinlock_t *lock) | ||
| 21 | ^ | ||
| 22 | drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7867:9: error: passing argument 1 of '__add_wait_queue_tail' from incompatible pointer type [-Werror] | ||
| 23 | __add_wait_queue_tail(&signal->obj.wait, &wait); | ||
| 24 | ^ | ||
| 25 | In file included from include/linux/mmzone.h:9:0, | ||
| 26 | from include/linux/gfp.h:4, | ||
| 27 | from include/linux/kmod.h:22, | ||
| 28 | from include/linux/module.h:13, | ||
| 29 | from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27, | ||
| 30 | from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22: | ||
| 31 | include/linux/wait.h:120:20: note: expected 'struct wait_queue_head_t *' but argument is of type 'struct swait_head *' | ||
| 32 | static inline void __add_wait_queue_tail(wait_queue_head_t *head, | ||
| 33 | ^ | ||
| 34 | drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7879:13: error: passing argument 1 of 'spin_unlock_irq' from incompatible pointer type [-Werror] | ||
| 35 | spin_unlock_irq(&signal->obj.wait.lock); | ||
| 36 | ^ | ||
| 37 | In file included from include/linux/seqlock.h:29:0, | ||
| 38 | from include/linux/time.h:5, | ||
| 39 | from include/linux/stat.h:18, | ||
| 40 | from include/linux/module.h:10, | ||
| 41 | from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27, | ||
| 42 | from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22: | ||
| 43 | include/linux/spinlock.h:341:20: note: expected 'struct spinlock_t *' but argument is of type 'struct raw_spinlock_t *' | ||
| 44 | static inline void spin_unlock_irq(spinlock_t *lock) | ||
| 45 | ^ | ||
| 46 | drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7881:13: error: passing argument 1 of 'spin_lock_irq' from incompatible pointer type [-Werror] | ||
| 47 | spin_lock_irq(&signal->obj.wait.lock); | ||
| 48 | ^ | ||
| 49 | In file included from include/linux/seqlock.h:29:0, | ||
| 50 | from include/linux/time.h:5, | ||
| 51 | from include/linux/stat.h:18, | ||
| 52 | from include/linux/module.h:10, | ||
| 53 | from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27, | ||
| 54 | from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22: | ||
| 55 | include/linux/spinlock.h:316:20: note: expected 'struct spinlock_t *' but argument is of type 'struct raw_spinlock_t *' | ||
| 56 | static inline void spin_lock_irq(spinlock_t *lock) | ||
| 57 | ^ | ||
| 58 | drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7945:9: error: passing argument 1 of '__remove_wait_queue' from incompatible pointer type [-Werror] | ||
| 59 | __remove_wait_queue(&signal->obj.wait, &wait); | ||
| 60 | ^ | ||
| 61 | In file included from include/linux/mmzone.h:9:0, | ||
| 62 | from include/linux/gfp.h:4, | ||
| 63 | from include/linux/kmod.h:22, | ||
| 64 | from include/linux/module.h:13, | ||
| 65 | from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27, | ||
| 66 | from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22: | ||
| 67 | include/linux/wait.h:133:20: note: expected 'struct wait_queue_head_t *' but argument is of type 'struct swait_head *' | ||
| 68 | static inline void __remove_wait_queue(wait_queue_head_t *head, | ||
| 69 | ^ | ||
| 70 | drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7958:5: error: passing argument 1 of 'spin_unlock_irq' from incompatible pointer type [-Werror] | ||
| 71 | spin_unlock_irq(&signal->obj.wait.lock); | ||
| 72 | ^ | ||
| 73 | In file included from include/linux/seqlock.h:29:0, | ||
| 74 | from include/linux/time.h:5, | ||
| 75 | from include/linux/stat.h:18, | ||
| 76 | from include/linux/module.h:10, | ||
| 77 | from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27, | ||
| 78 | from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22: | ||
| 79 | include/linux/spinlock.h:341:20: note: expected 'struct spinlock_t *' but argument is of type 'struct raw_spinlock_t *' | ||
| 80 | static inline void spin_unlock_irq(spinlock_t *lock) | ||
| 81 | ^ | ||
| 82 | cc1: all warnings being treated as errors | ||
| 83 | make[4]: *** [drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.o] Error 1 | ||
| 84 | |||
| 85 | Index: git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c | ||
| 86 | =================================================================== | ||
| 87 | --- git.orig/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c | ||
| 88 | +++ git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c | ||
| 89 | @@ -7832,7 +7832,7 @@ gckOS_WaitSignal( | ||
| 90 | |||
| 91 | might_sleep(); | ||
| 92 | |||
| 93 | - spin_lock_irq(&signal->obj.wait.lock); | ||
| 94 | + raw_spin_lock_irq(&signal->obj.wait.lock); | ||
| 95 | |||
| 96 | if (signal->obj.done) | ||
| 97 | { | ||
| 98 | @@ -7862,9 +7862,8 @@ gckOS_WaitSignal( | ||
| 99 | : Wait * HZ / 1000; | ||
| 100 | #endif | ||
| 101 | |||
| 102 | - DECLARE_WAITQUEUE(wait, current); | ||
| 103 | - wait.flags |= WQ_FLAG_EXCLUSIVE; | ||
| 104 | - __add_wait_queue_tail(&signal->obj.wait, &wait); | ||
| 105 | + DEFINE_SWAITER(wait); | ||
| 106 | + swait_prepare_locked(&signal->obj.wait, &wait); | ||
| 107 | |||
| 108 | while (gcvTRUE) | ||
| 109 | { | ||
| 110 | @@ -7876,9 +7875,9 @@ gckOS_WaitSignal( | ||
| 111 | } | ||
| 112 | |||
| 113 | __set_current_state(TASK_INTERRUPTIBLE); | ||
| 114 | - spin_unlock_irq(&signal->obj.wait.lock); | ||
| 115 | + raw_spin_unlock_irq(&signal->obj.wait.lock); | ||
| 116 | timeout = schedule_timeout(timeout); | ||
| 117 | - spin_lock_irq(&signal->obj.wait.lock); | ||
| 118 | + raw_spin_lock_irq(&signal->obj.wait.lock); | ||
| 119 | |||
| 120 | if (signal->obj.done) | ||
| 121 | { | ||
| 122 | @@ -7942,7 +7941,7 @@ gckOS_WaitSignal( | ||
| 123 | } | ||
| 124 | } | ||
| 125 | |||
| 126 | - __remove_wait_queue(&signal->obj.wait, &wait); | ||
| 127 | + swait_finish_locked(&signal->obj.wait, &wait); | ||
| 128 | |||
| 129 | #if gcdDETECT_TIMEOUT | ||
| 130 | if (complained) | ||
| 131 | @@ -7955,7 +7954,7 @@ gckOS_WaitSignal( | ||
| 132 | #endif | ||
| 133 | } | ||
| 134 | |||
| 135 | - spin_unlock_irq(&signal->obj.wait.lock); | ||
| 136 | + raw_spin_unlock_irq(&signal->obj.wait.lock); | ||
| 137 | |||
| 138 | OnError: | ||
| 139 | /* Return status. */ | ||
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.10.17/0002-fix-build-with-rt-enabled.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.10.17/0002-fix-build-with-rt-enabled.patch deleted file mode 100644 index 6132b3b4a..000000000 --- a/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.10.17/0002-fix-build-with-rt-enabled.patch +++ /dev/null | |||
| @@ -1,111 +0,0 @@ | |||
| 1 | Fix the build errors listed below, when PREEMPT_RT_FULL is enabled | ||
| 2 | |||
| 3 | Upstream-Status: Pending | ||
| 4 | |||
| 5 | Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se> | ||
| 6 | |||
| 7 | CC drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.o | ||
| 8 | In file included from include/linux/seqlock.h:29:0, | ||
| 9 | from include/linux/time.h:5, | ||
| 10 | from include/linux/stat.h:18, | ||
| 11 | from include/linux/module.h:10, | ||
| 12 | from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27, | ||
| 13 | from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22: | ||
| 14 | drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c: In function 'gckOS_CreateMutex': | ||
| 15 | include/linux/mutex_rt.h:74:24: error: dereferencing 'void *' pointer [-Werror] | ||
| 16 | rt_mutex_init(&(mutex)->lock); \ | ||
| 17 | ^ | ||
| 18 | include/linux/spinlock.h:104:9: note: in definition of macro 'raw_spin_lock_init' | ||
| 19 | do { *(lock) = __RAW_SPIN_LOCK_UNLOCKED(lock); } while (0) | ||
| 20 | ^ | ||
| 21 | include/linux/mutex_rt.h:74:2: note: in expansion of macro 'rt_mutex_init' | ||
| 22 | rt_mutex_init(&(mutex)->lock); \ | ||
| 23 | ^ | ||
| 24 | drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:3046:5: note: in expansion of macro 'mutex_init' | ||
| 25 | mutex_init(*Mutex); | ||
| 26 | ^ | ||
| 27 | include/linux/mutex_rt.h:74:24: error: request for member 'lock' in something not a structure or union | ||
| 28 | rt_mutex_init(&(mutex)->lock); \ | ||
| 29 | ^ | ||
| 30 | include/linux/spinlock.h:104:9: note: in definition of macro 'raw_spin_lock_init' | ||
| 31 | do { *(lock) = __RAW_SPIN_LOCK_UNLOCKED(lock); } while (0) | ||
| 32 | ^ | ||
| 33 | include/linux/mutex_rt.h:74:2: note: in expansion of macro 'rt_mutex_init' | ||
| 34 | rt_mutex_init(&(mutex)->lock); \ | ||
| 35 | ^ | ||
| 36 | drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:3046:5: note: in expansion of macro 'mutex_init' | ||
| 37 | mutex_init(*Mutex); | ||
| 38 | ^ | ||
| 39 | In file included from include/linux/spinlock_types.h:18:0, | ||
| 40 | from include/linux/spinlock.h:81, | ||
| 41 | from include/linux/seqlock.h:29, | ||
| 42 | from include/linux/time.h:5, | ||
| 43 | from include/linux/stat.h:18, | ||
| 44 | from include/linux/module.h:10, | ||
| 45 | from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27, | ||
| 46 | from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22: | ||
| 47 | include/linux/mutex_rt.h:74:24: error: dereferencing 'void *' pointer [-Werror] | ||
| 48 | rt_mutex_init(&(mutex)->lock); \ | ||
| 49 | ^ | ||
| 50 | include/linux/mutex_rt.h:74:2: note: in expansion of macro 'rt_mutex_init' | ||
| 51 | rt_mutex_init(&(mutex)->lock); \ | ||
| 52 | ^ | ||
| 53 | drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:3046:5: note: in expansion of macro 'mutex_init' | ||
| 54 | mutex_init(*Mutex); | ||
| 55 | ^ | ||
| 56 | include/linux/mutex_rt.h:74:24: error: request for member 'lock' in something not a structure or union | ||
| 57 | rt_mutex_init(&(mutex)->lock); \ | ||
| 58 | ^ | ||
| 59 | include/linux/mutex_rt.h:74:2: note: in expansion of macro 'rt_mutex_init' | ||
| 60 | rt_mutex_init(&(mutex)->lock); \ | ||
| 61 | ^ | ||
| 62 | drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:3046:5: note: in expansion of macro 'mutex_init' | ||
| 63 | mutex_init(*Mutex); | ||
| 64 | ^ | ||
| 65 | In file included from include/linux/mutex.h:28:0, | ||
| 66 | from include/linux/notifier.h:13, | ||
| 67 | from include/linux/memory_hotplug.h:6, | ||
| 68 | from include/linux/mmzone.h:771, | ||
| 69 | from include/linux/gfp.h:4, | ||
| 70 | from include/linux/kmod.h:22, | ||
| 71 | from include/linux/module.h:13, | ||
| 72 | from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27, | ||
| 73 | from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22: | ||
| 74 | drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c: In function 'gckOS_DeleteMutex': | ||
| 75 | include/linux/mutex_rt.h:46:48: error: dereferencing 'void *' pointer [-Werror] | ||
| 76 | #define mutex_destroy(l) rt_mutex_destroy(&(l)->lock) | ||
| 77 | ^ | ||
| 78 | drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:3091:5: note: in expansion of macro 'mutex_destroy' | ||
| 79 | mutex_destroy(Mutex); | ||
| 80 | ^ | ||
| 81 | include/linux/mutex_rt.h:46:48: error: request for member 'lock' in something not a structure or union | ||
| 82 | #define mutex_destroy(l) rt_mutex_destroy(&(l)->lock) | ||
| 83 | ^ | ||
| 84 | drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:3091:5: note: in expansion of macro 'mutex_destroy' | ||
| 85 | mutex_destroy(Mutex); | ||
| 86 | ^ | ||
| 87 | cc1: all warnings being treated as errors | ||
| 88 | make[4]: *** [drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.o] Error 1 | ||
| 89 | |||
| 90 | Index: git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c | ||
| 91 | =================================================================== | ||
| 92 | --- git.orig/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c | ||
| 93 | +++ git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c | ||
| 94 | @@ -3043,7 +3043,7 @@ gckOS_CreateMutex( | ||
| 95 | gcmkONERROR(gckOS_Allocate(Os, gcmSIZEOF(struct mutex), Mutex)); | ||
| 96 | |||
| 97 | /* Initialize the mutex. */ | ||
| 98 | - mutex_init(*Mutex); | ||
| 99 | + mutex_init((struct mutex*)*Mutex); | ||
| 100 | |||
| 101 | /* Return status. */ | ||
| 102 | gcmkFOOTER_ARG("*Mutex=0x%X", *Mutex); | ||
| 103 | @@ -3088,7 +3088,7 @@ gckOS_DeleteMutex( | ||
| 104 | gcmkVERIFY_ARGUMENT(Mutex != gcvNULL); | ||
| 105 | |||
| 106 | /* Destroy the mutex. */ | ||
| 107 | - mutex_destroy(Mutex); | ||
| 108 | + mutex_destroy((struct mutex*)Mutex); | ||
| 109 | |||
| 110 | /* Free the mutex structure. */ | ||
| 111 | gcmkONERROR(gckOS_Free(Os, Mutex)); | ||
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.10.31/0001-ARM-clk-imx6q-fix-video-divider-for-revision-1.0-of-.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.10.31/0001-ARM-clk-imx6q-fix-video-divider-for-revision-1.0-of-.patch new file mode 100644 index 000000000..820ce68ea --- /dev/null +++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.10.31/0001-ARM-clk-imx6q-fix-video-divider-for-revision-1.0-of-.patch | |||
| @@ -0,0 +1,35 @@ | |||
| 1 | From 0e981452d7130513e796c1c3d7348905c0d00dce Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Gary Bisson <bisson.gary@gmail.com> | ||
| 3 | Date: Tue, 2 Dec 2014 22:11:14 -0800 | ||
| 4 | Subject: [PATCH] ARM: clk-imx6q: fix video divider for revision 1.0 of i.MX6q | ||
| 5 | |||
| 6 | As post dividers do not work on i.MX6Q revision 1.0 they must be fixed | ||
| 7 | to 1. As the table index was wrong, a divider a of 4 could still be | ||
| 8 | requested which implied the clock not to be set properly. This is the | ||
| 9 | root cause of the HDMI not working at high resolution on T1.0 version of | ||
| 10 | the SoC, giving the following error: | ||
| 11 | mxc_sdc_fb fb.27: timeout when waiting for flip irq | ||
| 12 | |||
| 13 | Upstream-Status: Pending | ||
| 14 | |||
| 15 | Signed-off-by: Gary Bisson <bisson.gary@gmail.com> | ||
| 16 | --- | ||
| 17 | arch/arm/mach-imx/clk-imx6q.c | 2 +- | ||
| 18 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 19 | |||
| 20 | diff --git a/arch/arm/mach-imx/clk-imx6q.c b/arch/arm/mach-imx/clk-imx6q.c | ||
| 21 | index 25734ed..34e1616f 100644 | ||
| 22 | --- a/arch/arm/mach-imx/clk-imx6q.c | ||
| 23 | +++ b/arch/arm/mach-imx/clk-imx6q.c | ||
| 24 | @@ -312,7 +312,7 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node) | ||
| 25 | post_div_table[1].div = 1; | ||
| 26 | post_div_table[2].div = 1; | ||
| 27 | video_div_table[1].div = 1; | ||
| 28 | - video_div_table[2].div = 1; | ||
| 29 | + video_div_table[3].div = 1; | ||
| 30 | }; | ||
| 31 | |||
| 32 | /* type name parent_name base div_mask */ | ||
| 33 | -- | ||
| 34 | 2.1.3 | ||
| 35 | |||
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.10.31/0001-fix-build.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.10.31/0001-fix-build.patch new file mode 100644 index 000000000..ffc6b74f2 --- /dev/null +++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.10.31/0001-fix-build.patch | |||
| @@ -0,0 +1,57 @@ | |||
| 1 | Fix build errors when RT patch is applied | ||
| 2 | |||
| 3 | Upstream-Status: Inappropriate [other] | ||
| 4 | Freescale does not support the RT patch | ||
| 5 | |||
| 6 | Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se> | ||
| 7 | |||
| 8 | Index: git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c | ||
| 9 | =================================================================== | ||
| 10 | --- git.orig/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c | ||
| 11 | +++ git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c | ||
| 12 | @@ -7746,7 +7746,7 @@ gckOS_WaitSignal( | ||
| 13 | |||
| 14 | might_sleep(); | ||
| 15 | |||
| 16 | - spin_lock_irq(&signal->obj.wait.lock); | ||
| 17 | + raw_spin_lock_irq(&signal->obj.wait.lock); | ||
| 18 | |||
| 19 | if (signal->obj.done) | ||
| 20 | { | ||
| 21 | @@ -7768,9 +7768,8 @@ gckOS_WaitSignal( | ||
| 22 | ? MAX_SCHEDULE_TIMEOUT | ||
| 23 | : Wait * HZ / 1000; | ||
| 24 | |||
| 25 | - DECLARE_WAITQUEUE(wait, current); | ||
| 26 | - wait.flags |= WQ_FLAG_EXCLUSIVE; | ||
| 27 | - __add_wait_queue_tail(&signal->obj.wait, &wait); | ||
| 28 | + DEFINE_SWAITER(wait); | ||
| 29 | + swait_prepare_locked(&signal->obj.wait, &wait); | ||
| 30 | |||
| 31 | while (gcvTRUE) | ||
| 32 | { | ||
| 33 | @@ -7782,9 +7781,9 @@ gckOS_WaitSignal( | ||
| 34 | } | ||
| 35 | |||
| 36 | __set_current_state(TASK_INTERRUPTIBLE); | ||
| 37 | - spin_unlock_irq(&signal->obj.wait.lock); | ||
| 38 | + raw_spin_unlock_irq(&signal->obj.wait.lock); | ||
| 39 | timeout = schedule_timeout(timeout); | ||
| 40 | - spin_lock_irq(&signal->obj.wait.lock); | ||
| 41 | + raw_spin_lock_irq(&signal->obj.wait.lock); | ||
| 42 | |||
| 43 | if (signal->obj.done) | ||
| 44 | { | ||
| 45 | @@ -7805,10 +7804,10 @@ gckOS_WaitSignal( | ||
| 46 | } | ||
| 47 | } | ||
| 48 | |||
| 49 | - __remove_wait_queue(&signal->obj.wait, &wait); | ||
| 50 | + swait_finish_locked(&signal->obj.wait, &wait); | ||
| 51 | } | ||
| 52 | |||
| 53 | - spin_unlock_irq(&signal->obj.wait.lock); | ||
| 54 | + raw_spin_unlock_irq(&signal->obj.wait.lock); | ||
| 55 | |||
| 56 | OnError: | ||
| 57 | /* Return status. */ | ||
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.10.31/0002-fix-build-with-rt-enabled.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.10.31/0002-fix-build-with-rt-enabled.patch new file mode 100644 index 000000000..83652c968 --- /dev/null +++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.10.31/0002-fix-build-with-rt-enabled.patch | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | Fix build error when PREEMPT_RT_FULL is enabled | ||
| 2 | |||
| 3 | Upstream-Status: Pending | ||
| 4 | |||
| 5 | Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se> | ||
| 6 | |||
| 7 | Index: git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c | ||
| 8 | =================================================================== | ||
| 9 | --- git.orig/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c | ||
| 10 | +++ git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c | ||
| 11 | @@ -3266,7 +3266,7 @@ gckOS_CreateMutex( | ||
| 12 | gcmkONERROR(gckOS_Allocate(Os, gcmSIZEOF(struct mutex), Mutex)); | ||
| 13 | |||
| 14 | /* Initialize the mutex. */ | ||
| 15 | - mutex_init(*Mutex); | ||
| 16 | + mutex_init((struct mutex*)*Mutex); | ||
| 17 | |||
| 18 | /* Return status. */ | ||
| 19 | gcmkFOOTER_ARG("*Mutex=0x%X", *Mutex); | ||
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.10.17/0003-no-split-ptlocks.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.10.31/0003-no-split-ptlocks.patch index b7995b634..b7995b634 100644 --- a/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.10.17/0003-no-split-ptlocks.patch +++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.10.31/0003-no-split-ptlocks.patch | |||
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.10.17/mx6/defconfig b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.10.31/mx6/defconfig index 1d38f4e5a..eb0b6ae27 100644 --- a/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.10.17/mx6/defconfig +++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.10.31/mx6/defconfig | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | CONFIG_KERNEL_LZO=y | 1 | CONFIG_KERNEL_LZO=y |
| 2 | CONFIG_SYSVIPC=y | 2 | CONFIG_SYSVIPC=y |
| 3 | CONFIG_FHANDLE=y | ||
| 4 | CONFIG_NO_HZ=y | 3 | CONFIG_NO_HZ=y |
| 5 | CONFIG_HIGH_RES_TIMERS=y | 4 | CONFIG_HIGH_RES_TIMERS=y |
| 6 | CONFIG_IKCONFIG=y | 5 | CONFIG_IKCONFIG=y |
| @@ -26,6 +25,7 @@ CONFIG_MACH_EUKREA_CPUIMX51SD=y | |||
| 26 | CONFIG_SOC_IMX53=y | 25 | CONFIG_SOC_IMX53=y |
| 27 | CONFIG_SOC_IMX6Q=y | 26 | CONFIG_SOC_IMX6Q=y |
| 28 | CONFIG_SOC_IMX6SL=y | 27 | CONFIG_SOC_IMX6SL=y |
| 28 | CONFIG_SOC_IMX6SX=y | ||
| 29 | CONFIG_SOC_VF610=y | 29 | CONFIG_SOC_VF610=y |
| 30 | # CONFIG_SWP_EMULATE is not set | 30 | # CONFIG_SWP_EMULATE is not set |
| 31 | CONFIG_SMP=y | 31 | CONFIG_SMP=y |
| @@ -58,8 +58,10 @@ CONFIG_IP_PNP_DHCP=y | |||
| 58 | CONFIG_IPV6=y | 58 | CONFIG_IPV6=y |
| 59 | CONFIG_NETFILTER=y | 59 | CONFIG_NETFILTER=y |
| 60 | CONFIG_VLAN_8021Q=y | 60 | CONFIG_VLAN_8021Q=y |
| 61 | CONFIG_LLC2=y | ||
| 61 | CONFIG_CAN=y | 62 | CONFIG_CAN=y |
| 62 | CONFIG_CAN_FLEXCAN=y | 63 | CONFIG_CAN_FLEXCAN=y |
| 64 | CONFIG_CAN_M_CAN=y | ||
| 63 | CONFIG_CFG80211=y | 65 | CONFIG_CFG80211=y |
| 64 | CONFIG_CFG80211_WEXT=y | 66 | CONFIG_CFG80211_WEXT=y |
| 65 | CONFIG_MAC80211=y | 67 | CONFIG_MAC80211=y |
| @@ -85,6 +87,8 @@ CONFIG_MTD_SST25L=y | |||
| 85 | CONFIG_MTD_NAND=y | 87 | CONFIG_MTD_NAND=y |
| 86 | CONFIG_MTD_NAND_GPMI_NAND=y | 88 | CONFIG_MTD_NAND_GPMI_NAND=y |
| 87 | CONFIG_MTD_NAND_MXC=y | 89 | CONFIG_MTD_NAND_MXC=y |
| 90 | CONFIG_MTD_SPI_NOR_BASE=y | ||
| 91 | CONFIG_SPI_FSL_QUADSPI=y | ||
| 88 | CONFIG_MTD_UBI=y | 92 | CONFIG_MTD_UBI=y |
| 89 | CONFIG_BLK_DEV_LOOP=y | 93 | CONFIG_BLK_DEV_LOOP=y |
| 90 | CONFIG_BLK_DEV_RAM=y | 94 | CONFIG_BLK_DEV_RAM=y |
| @@ -124,6 +128,7 @@ CONFIG_ATH6KL_SDIO=m | |||
| 124 | CONFIG_INPUT_EVDEV=y | 128 | CONFIG_INPUT_EVDEV=y |
| 125 | CONFIG_INPUT_EVBUG=m | 129 | CONFIG_INPUT_EVBUG=m |
| 126 | CONFIG_KEYBOARD_GPIO=y | 130 | CONFIG_KEYBOARD_GPIO=y |
| 131 | CONFIG_KEYBOARD_SNVS_PWRKEY=y | ||
| 127 | CONFIG_KEYBOARD_IMX=y | 132 | CONFIG_KEYBOARD_IMX=y |
| 128 | CONFIG_MOUSE_PS2=m | 133 | CONFIG_MOUSE_PS2=m |
| 129 | CONFIG_MOUSE_PS2_ELANTECH=y | 134 | CONFIG_MOUSE_PS2_ELANTECH=y |
| @@ -154,6 +159,7 @@ CONFIG_I2C_IMX=y | |||
| 154 | CONFIG_SPI=y | 159 | CONFIG_SPI=y |
| 155 | CONFIG_SPI_IMX=y | 160 | CONFIG_SPI_IMX=y |
| 156 | CONFIG_GPIO_SYSFS=y | 161 | CONFIG_GPIO_SYSFS=y |
| 162 | CONFIG_GPIO_MAX732X=y | ||
| 157 | CONFIG_POWER_SUPPLY=y | 163 | CONFIG_POWER_SUPPLY=y |
| 158 | CONFIG_SABRESD_MAX8903=y | 164 | CONFIG_SABRESD_MAX8903=y |
| 159 | CONFIG_IMX6_USB_CHARGER=y | 165 | CONFIG_IMX6_USB_CHARGER=y |
| @@ -192,6 +198,7 @@ CONFIG_MXC_CAMERA_OV5640=m | |||
| 192 | CONFIG_MXC_CAMERA_OV5642=m | 198 | CONFIG_MXC_CAMERA_OV5642=m |
| 193 | CONFIG_MXC_CAMERA_OV5640_MIPI=m | 199 | CONFIG_MXC_CAMERA_OV5640_MIPI=m |
| 194 | CONFIG_MXC_TVIN_ADV7180=m | 200 | CONFIG_MXC_TVIN_ADV7180=m |
| 201 | CONFIG_MXC_VADC=m | ||
| 195 | CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=m | 202 | CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=m |
| 196 | CONFIG_VIDEO_MXC_IPU_OUTPUT=y | 203 | CONFIG_VIDEO_MXC_IPU_OUTPUT=y |
| 197 | CONFIG_VIDEO_MXC_PXP_V4L2=y | 204 | CONFIG_VIDEO_MXC_PXP_V4L2=y |
| @@ -216,6 +223,7 @@ CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y | |||
| 216 | CONFIG_FB_MXC_HDMI=y | 223 | CONFIG_FB_MXC_HDMI=y |
| 217 | CONFIG_FB_MXC_EINK_PANEL=y | 224 | CONFIG_FB_MXC_EINK_PANEL=y |
| 218 | CONFIG_FB_MXS_SII902X=y | 225 | CONFIG_FB_MXS_SII902X=y |
| 226 | CONFIG_FB_MXC_DCIC=m | ||
| 219 | CONFIG_HANNSTAR_CABC=y | 227 | CONFIG_HANNSTAR_CABC=y |
| 220 | CONFIG_FRAMEBUFFER_CONSOLE=y | 228 | CONFIG_FRAMEBUFFER_CONSOLE=y |
| 221 | CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y | 229 | CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y |
| @@ -236,18 +244,19 @@ CONFIG_SND_SOC_IMX_SPDIF=y | |||
| 236 | CONFIG_SND_SOC_IMX_MC13783=y | 244 | CONFIG_SND_SOC_IMX_MC13783=y |
| 237 | CONFIG_SND_SOC_IMX_HDMI=y | 245 | CONFIG_SND_SOC_IMX_HDMI=y |
| 238 | CONFIG_SND_SOC_IMX_SI476X=y | 246 | CONFIG_SND_SOC_IMX_SI476X=y |
| 247 | CONFIG_SND_SOC_CS42XX8_I2C=y | ||
| 239 | CONFIG_USB=y | 248 | CONFIG_USB=y |
| 240 | CONFIG_USB_EHCI_HCD=y | 249 | CONFIG_USB_EHCI_HCD=y |
| 241 | CONFIG_USB_STORAGE=y | 250 | CONFIG_USB_STORAGE=y |
| 242 | CONFIG_USB_CHIPIDEA=y | 251 | CONFIG_USB_CHIPIDEA=y |
| 243 | CONFIG_USB_CHIPIDEA_UDC=y | 252 | CONFIG_USB_CHIPIDEA_UDC=y |
| 244 | CONFIG_USB_CHIPIDEA_HOST=y | 253 | CONFIG_USB_CHIPIDEA_HOST=y |
| 245 | CONFIG_USB_PHY=y | ||
| 246 | CONFIG_NOP_USB_XCEIV=y | 254 | CONFIG_NOP_USB_XCEIV=y |
| 247 | CONFIG_USB_MXS_PHY=y | 255 | CONFIG_USB_MXS_PHY=y |
| 248 | CONFIG_USB_GADGET=y | 256 | CONFIG_USB_GADGET=y |
| 249 | CONFIG_USB_ZERO=m | 257 | CONFIG_USB_ZERO=m |
| 250 | CONFIG_USB_ETH=m | 258 | CONFIG_USB_ETH=m |
| 259 | CONFIG_USB_G_NCM=m | ||
| 251 | CONFIG_USB_MASS_STORAGE=m | 260 | CONFIG_USB_MASS_STORAGE=m |
| 252 | CONFIG_USB_G_SERIAL=m | 261 | CONFIG_USB_G_SERIAL=m |
| 253 | CONFIG_MMC=y | 262 | CONFIG_MMC=y |
| @@ -277,6 +286,8 @@ CONFIG_MXS_DMA=y | |||
| 277 | CONFIG_STAGING=y | 286 | CONFIG_STAGING=y |
| 278 | CONFIG_COMMON_CLK_DEBUG=y | 287 | CONFIG_COMMON_CLK_DEBUG=y |
| 279 | # CONFIG_IOMMU_SUPPORT is not set | 288 | # CONFIG_IOMMU_SUPPORT is not set |
| 289 | CONFIG_IIO=y | ||
| 290 | CONFIG_VF610_ADC=y | ||
| 280 | CONFIG_PWM=y | 291 | CONFIG_PWM=y |
| 281 | CONFIG_PWM_IMX=y | 292 | CONFIG_PWM_IMX=y |
| 282 | CONFIG_EXT2_FS=y | 293 | CONFIG_EXT2_FS=y |
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt_3.10.17.bb b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt_3.10.31.bb index efad6d8ad..7724b7b4d 100644 --- a/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt_3.10.17.bb +++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt_3.10.31.bb | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | # Adapted from linux-imx_3.10.17.bb | 1 | # Adapted from linux-imx_3.10.31.bb |
| 2 | 2 | ||
| 3 | SUMMARY = "Linux real-time kernel based on linux-imx" | 3 | SUMMARY = "Linux real-time kernel based on linux-imx" |
| 4 | DESCRIPTION = "Linux kernel that is based on Freescale's linux-imx, \ | 4 | DESCRIPTION = "Linux kernel that is based on Freescale's linux-imx, \ |
| @@ -9,18 +9,19 @@ require recipes-kernel/linux/linux-dtb.inc | |||
| 9 | 9 | ||
| 10 | DEPENDS += "lzop-native bc-native" | 10 | DEPENDS += "lzop-native bc-native" |
| 11 | 11 | ||
| 12 | SRCBRANCH = "imx_3.10.17_1.0.0_ga" | 12 | SRCBRANCH = "imx_3.10.31_1.1.0_beta2" |
| 13 | SRCREV = "33597e348b2d60dd5c71890ef7b7d3d3fd6e4e97" | 13 | SRCREV = "30ad12bdf93050a5bae1345bd40dba5f2d63f70f" |
| 14 | LOCALVERSION = "-1.0.2_ga" | 14 | LOCALVERSION = "-1.1.0_beta2" |
| 15 | |||
| 16 | COMPATIBLE_MACHINE = "(mx6)" | ||
| 17 | 15 | ||
| 18 | SRC_URI += "\ | 16 | SRC_URI += "\ |
| 19 | https://www.kernel.org/pub/linux/kernel/projects/rt/3.10/older/patch-3.10.17-rt12.patch.bz2;name=rt-patch1 \ | 17 | file://0001-ARM-clk-imx6q-fix-video-divider-for-revision-1.0-of-.patch \ |
| 18 | https://www.kernel.org/pub/linux/kernel/projects/rt/3.10/older/patch-3.10.27-rt25.patch.gz;name=rt-patch1 \ | ||
| 20 | file://0001-fix-build.patch \ | 19 | file://0001-fix-build.patch \ |
| 21 | file://0002-fix-build-with-rt-enabled.patch \ | 20 | file://0002-fix-build-with-rt-enabled.patch \ |
| 22 | file://0003-no-split-ptlocks.patch \ | 21 | file://0003-no-split-ptlocks.patch \ |
| 23 | " | 22 | " |
| 24 | 23 | ||
| 25 | SRC_URI[rt-patch1.md5sum] = "77a28c8b20b01f280dcd860e606a6edd" | 24 | SRC_URI[rt-patch1.md5sum] = "aa231425f2a43220b5e8dbb057c7e5f9" |
| 26 | SRC_URI[rt-patch1.sha256sum] = "ce219268f08eecccb39ff2b5be83657d53ca67cb1c6b81021494075197190351" | 25 | SRC_URI[rt-patch1.sha256sum] = "5fbee5cdf260db9b7751651ab141fb59f46d68c7aecfc32e81a2b5d702f47aac" |
| 26 | |||
| 27 | COMPATIBLE_MACHINE = "(mx6)" | ||
