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 | 57fd9988d3e96ba3e80c56c4f04ad72746dd1215 (patch) | |
tree | 5117c84880284b89b4ced1873d0330d089c809d4 | |
parent | f69b21d39feca9a4d71d53980fc5c9917ba6c5ac (diff) | |
download | meta-fsl-arm-57fd9988d3e96ba3e80c56c4f04ad72746dd1215.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>
-rw-r--r-- | recipes-kernel/linux/linux-imx-rt-3.10.17/0001-fix-build.patch | 139 | ||||
-rw-r--r-- | recipes-kernel/linux/linux-imx-rt-3.10.17/0002-fix-build-with-rt-enabled.patch | 111 | ||||
-rw-r--r-- | recipes-kernel/linux/linux-imx-rt-3.10.31/0001-ARM-clk-imx6q-fix-video-divider-for-revision-1.0-of-.patch | 35 | ||||
-rw-r--r-- | recipes-kernel/linux/linux-imx-rt-3.10.31/0001-fix-build.patch | 57 | ||||
-rw-r--r-- | recipes-kernel/linux/linux-imx-rt-3.10.31/0002-fix-build-with-rt-enabled.patch | 19 | ||||
-rw-r--r-- | recipes-kernel/linux/linux-imx-rt-3.10.31/0003-no-split-ptlocks.patch (renamed from recipes-kernel/linux/linux-imx-rt-3.10.17/0003-no-split-ptlocks.patch) | 0 | ||||
-rw-r--r-- | recipes-kernel/linux/linux-imx-rt-3.10.31/mx6/defconfig (renamed from recipes-kernel/linux/linux-imx-rt-3.10.17/mx6/defconfig) | 15 | ||||
-rw-r--r-- | recipes-kernel/linux/linux-imx-rt_3.10.31.bb (renamed from recipes-kernel/linux/linux-imx-rt_3.10.17.bb) | 19 |
8 files changed, 134 insertions, 261 deletions
diff --git a/recipes-kernel/linux/linux-imx-rt-3.10.17/0001-fix-build.patch b/recipes-kernel/linux/linux-imx-rt-3.10.17/0001-fix-build.patch deleted file mode 100644 index 8d9ed83..0000000 --- a/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/recipes-kernel/linux/linux-imx-rt-3.10.17/0002-fix-build-with-rt-enabled.patch b/recipes-kernel/linux/linux-imx-rt-3.10.17/0002-fix-build-with-rt-enabled.patch deleted file mode 100644 index 6132b3b..0000000 --- a/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/recipes-kernel/linux/linux-imx-rt-3.10.31/0001-ARM-clk-imx6q-fix-video-divider-for-revision-1.0-of-.patch b/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 0000000..820ce68 --- /dev/null +++ b/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/recipes-kernel/linux/linux-imx-rt-3.10.31/0001-fix-build.patch b/recipes-kernel/linux/linux-imx-rt-3.10.31/0001-fix-build.patch new file mode 100644 index 0000000..ffc6b74 --- /dev/null +++ b/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/recipes-kernel/linux/linux-imx-rt-3.10.31/0002-fix-build-with-rt-enabled.patch b/recipes-kernel/linux/linux-imx-rt-3.10.31/0002-fix-build-with-rt-enabled.patch new file mode 100644 index 0000000..83652c9 --- /dev/null +++ b/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/recipes-kernel/linux/linux-imx-rt-3.10.17/0003-no-split-ptlocks.patch b/recipes-kernel/linux/linux-imx-rt-3.10.31/0003-no-split-ptlocks.patch index b7995b6..b7995b6 100644 --- a/recipes-kernel/linux/linux-imx-rt-3.10.17/0003-no-split-ptlocks.patch +++ b/recipes-kernel/linux/linux-imx-rt-3.10.31/0003-no-split-ptlocks.patch | |||
diff --git a/recipes-kernel/linux/linux-imx-rt-3.10.17/mx6/defconfig b/recipes-kernel/linux/linux-imx-rt-3.10.31/mx6/defconfig index 1d38f4e..eb0b6ae 100644 --- a/recipes-kernel/linux/linux-imx-rt-3.10.17/mx6/defconfig +++ b/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/recipes-kernel/linux/linux-imx-rt_3.10.17.bb b/recipes-kernel/linux/linux-imx-rt_3.10.31.bb index efad6d8..7724b7b 100644 --- a/recipes-kernel/linux/linux-imx-rt_3.10.17.bb +++ b/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)" | ||