diff options
author | Denys Dmytriyenko <denys@ti.com> | 2014-08-01 03:33:46 +0000 |
---|---|---|
committer | Denys Dmytriyenko <denys@ti.com> | 2014-07-31 19:12:05 -0400 |
commit | e5eaf3bef458936b02ddfd649f474e07d1c79336 (patch) | |
tree | de006f884f3c528873a9c65260c804d9dd0f0ed2 | |
parent | a565ad89a4769c8ca6535e1492f9a79a3f69638e (diff) | |
download | meta-ti-e5eaf3bef458936b02ddfd649f474e07d1c79336.tar.gz |
omap3-sgx-modules 5.01.01.01: add Darren's patches to work with 3.14 kernel
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
5 files changed, 377 insertions, 1 deletions
diff --git a/recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0001-PoC-GFX-SDK-Make-5_01_01_01-work-against-3.14-LTS.patch b/recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0001-PoC-GFX-SDK-Make-5_01_01_01-work-against-3.14-LTS.patch new file mode 100644 index 00000000..e5410798 --- /dev/null +++ b/recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0001-PoC-GFX-SDK-Make-5_01_01_01-work-against-3.14-LTS.patch | |||
@@ -0,0 +1,52 @@ | |||
1 | From e2db38959a70d1be604a297276a0b0c2ac219bf5 Mon Sep 17 00:00:00 2001 | ||
2 | From: Darren Etheridge <detheridge@ti.com> | ||
3 | Date: Tue, 29 Jul 2014 16:06:17 -0500 | ||
4 | Subject: [PATCH 1/4] PoC: GFX: SDK: Make 5_01_01_01 work against 3.14 LTS | ||
5 | |||
6 | An API rename is the main change. Also hacked in some function prototypes | ||
7 | for enabling use of the tilcdc DRM driver instead of the fbdev driver on | ||
8 | AM335x. However this all really needs a good cleanup as it is hacky at | ||
9 | the moment. | ||
10 | |||
11 | Signed-off-by: Darren Etheridge <detheridge@ti.com> | ||
12 | --- | ||
13 | GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c | 5 +++++ | ||
14 | GFX_Linux_KM/services4/srvkm/env/linux/mutils.h | 6 +++++- | ||
15 | 2 files changed, 10 insertions(+), 1 deletion(-) | ||
16 | |||
17 | diff --git a/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c b/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c | ||
18 | index 5c3fc48..3857b95 100644 | ||
19 | --- a/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c | ||
20 | +++ b/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c | ||
21 | @@ -93,6 +93,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
22 | #include <linux/mutex.h> | ||
23 | |||
24 | #include <video/da8xx-fb.h> | ||
25 | +/* used by SGX OMAPLFB drvier */ | ||
26 | +typedef void (*vsync_callback_t)(void *arg); | ||
27 | +int register_vsync_cb(vsync_callback_t handler, void *arg, int idx); | ||
28 | +int unregister_vsync_cb(vsync_callback_t handler, void *arg, int idx); | ||
29 | + | ||
30 | #if defined(PVR_OMAPLFB_DRM_FB) | ||
31 | #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,0,0)) | ||
32 | #include <plat/display.h> | ||
33 | diff --git a/GFX_Linux_KM/services4/srvkm/env/linux/mutils.h b/GFX_Linux_KM/services4/srvkm/env/linux/mutils.h | ||
34 | index 31e0dac..90ec41c 100644 | ||
35 | --- a/GFX_Linux_KM/services4/srvkm/env/linux/mutils.h | ||
36 | +++ b/GFX_Linux_KM/services4/srvkm/env/linux/mutils.h | ||
37 | @@ -79,7 +79,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
38 | #define IOREMAP(pa, bytes) ioremap_cache(pa, bytes) | ||
39 | #else | ||
40 | #if defined(__arm__) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)) | ||
41 | - #define IOREMAP(pa, bytes) ioremap_cached(pa, bytes) | ||
42 | + #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,13,0)) | ||
43 | + #define IOREMAP(pa, bytes) ioremap_cache(pa, bytes) | ||
44 | + #else | ||
45 | + #define IOREMAP(pa, bytes) ioremap_cached(pa, bytes) | ||
46 | + #endif | ||
47 | #else | ||
48 | #define IOREMAP(pa, bytes) ioremap(pa, bytes) | ||
49 | #endif | ||
50 | -- | ||
51 | 1.9.1 | ||
52 | |||
diff --git a/recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0002-SGX-linux-use-platform-data-to-provide-reset-info.patch b/recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0002-SGX-linux-use-platform-data-to-provide-reset-info.patch new file mode 100644 index 00000000..22b73fdf --- /dev/null +++ b/recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0002-SGX-linux-use-platform-data-to-provide-reset-info.patch | |||
@@ -0,0 +1,121 @@ | |||
1 | From 30a695502496302f804e14eeca90568f067b2db2 Mon Sep 17 00:00:00 2001 | ||
2 | From: Darren Etheridge <detheridge@ti.com> | ||
3 | Date: Fri, 25 Jul 2014 16:03:14 -0500 | ||
4 | Subject: [PATCH 2/4] SGX: linux: use platform data to provide reset info | ||
5 | |||
6 | In ti-linux-3.14.y we will not have a reset driver unlike ti-linux-3.12.y | ||
7 | so this commit removes the dependency on the reset driver and instead | ||
8 | uses the platform data that in a dt environment is configured in | ||
9 | mach-omap2/pdata-quirks.c | ||
10 | |||
11 | Signed-off-by: Darren Etheridge <detheridge@ti.com> | ||
12 | --- | ||
13 | GFX_Linux_KM/services4/srvkm/env/linux/module.c | 34 ++++++++++++++++++++----- | ||
14 | 1 file changed, 28 insertions(+), 6 deletions(-) | ||
15 | |||
16 | diff --git a/GFX_Linux_KM/services4/srvkm/env/linux/module.c b/GFX_Linux_KM/services4/srvkm/env/linux/module.c | ||
17 | index e03dc00..82d07f4 100644 | ||
18 | --- a/GFX_Linux_KM/services4/srvkm/env/linux/module.c | ||
19 | +++ b/GFX_Linux_KM/services4/srvkm/env/linux/module.c | ||
20 | @@ -47,6 +47,10 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
21 | #endif | ||
22 | #endif | ||
23 | |||
24 | +#ifndef CONFIG_RESET_CONTROLLER | ||
25 | +#include <linux/platform_data/gfx-sgx.h> | ||
26 | +#endif | ||
27 | + | ||
28 | #if defined(SUPPORT_DRI_DRM) && !defined(SUPPORT_DRI_DRM_PLUGIN) | ||
29 | #define PVR_MOD_STATIC | ||
30 | #else | ||
31 | @@ -344,9 +348,11 @@ static LDM_DRV powervr_driver = { | ||
32 | LDM_DEV *gpsPVRLDMDev; | ||
33 | |||
34 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) | ||
35 | +#ifdef CONFIG_RESET_CONTROLLER | ||
36 | struct reset_control *rstc; | ||
37 | bool already_deasserted = false; | ||
38 | #endif | ||
39 | +#endif | ||
40 | |||
41 | #if defined(MODULE) && defined(PVR_LDM_PLATFORM_MODULE) && \ | ||
42 | !defined(PVR_USE_PRE_REGISTERED_PLATFORM_DEV) | ||
43 | @@ -388,11 +394,14 @@ static int __devinit PVRSRVDriverProbe(LDM_DEV *pDevice, const struct pci_device | ||
44 | #endif | ||
45 | { | ||
46 | SYS_DATA *psSysData; | ||
47 | - int ret; | ||
48 | + int ret; | ||
49 | + struct device *dev = &pDevice->dev; | ||
50 | + struct gfx_sgx_platform_data *pdata = dev->platform_data; | ||
51 | + | ||
52 | PVR_TRACE(("PVRSRVDriverProbe(pDevice=%p)", pDevice)); | ||
53 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) | ||
54 | +#ifdef CONFIG_RESET_CONTROLLER | ||
55 | rstc = reset_control_get(&pDevice->dev, NULL); | ||
56 | - | ||
57 | if (IS_ERR(rstc)) | ||
58 | { | ||
59 | dev_err(&pDevice->dev, "%s: error: reset_control_get\n", __func__); | ||
60 | @@ -403,7 +412,7 @@ static int __devinit PVRSRVDriverProbe(LDM_DEV *pDevice, const struct pci_device | ||
61 | |||
62 | if (ret < 0) | ||
63 | { | ||
64 | - dev_err(&pDevice->dev, "%s: error: reset_control_clear_reset\n", __func__); | ||
65 | + dev_err(dev, "%s: error: reset_control_clear_reset\n", __func__); | ||
66 | return ret; | ||
67 | } | ||
68 | |||
69 | @@ -413,11 +422,22 @@ static int __devinit PVRSRVDriverProbe(LDM_DEV *pDevice, const struct pci_device | ||
70 | { | ||
71 | already_deasserted = true; | ||
72 | } | ||
73 | - else if (ret < 0) | ||
74 | + else if (ret < 0) | ||
75 | { | ||
76 | - dev_err(&pDevice->dev, "%s: error: reset_control_deassert\n", __func__); | ||
77 | + dev_err(dev, "%s: error: reset_control_deassert\n", __func__); | ||
78 | return ret; | ||
79 | } | ||
80 | +#else | ||
81 | + if (pdata && pdata->deassert_reset) { | ||
82 | + ret = pdata->deassert_reset(pDevice, pdata->reset_name); | ||
83 | + if (ret) { | ||
84 | + dev_err(dev, "Unable to reset SGX!\n"); | ||
85 | + } | ||
86 | + } else { | ||
87 | + dev_err(dev, "SGX Platform data missing deassert_reset!\n"); | ||
88 | + return -ENODEV; | ||
89 | + } | ||
90 | +#endif /* CONFIG_RESET_CONTROLLER */ | ||
91 | #endif | ||
92 | |||
93 | #if 0 /* INTEGRATION_POINT */ | ||
94 | @@ -432,7 +452,7 @@ static int __devinit PVRSRVDriverProbe(LDM_DEV *pDevice, const struct pci_device | ||
95 | { | ||
96 | return -EINVAL; | ||
97 | } | ||
98 | -#endif | ||
99 | +#endif | ||
100 | /* SysInitialise only designed to be called once. | ||
101 | */ | ||
102 | psSysData = SysAcquireDataNoCheck(); | ||
103 | @@ -445,6 +465,7 @@ static int __devinit PVRSRVDriverProbe(LDM_DEV *pDevice, const struct pci_device | ||
104 | } | ||
105 | } | ||
106 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) | ||
107 | +#ifdef CONFIG_RESET_CONTROLLER | ||
108 | if (!already_deasserted) | ||
109 | { | ||
110 | ret = reset_control_is_reset(rstc); | ||
111 | @@ -454,6 +475,7 @@ static int __devinit PVRSRVDriverProbe(LDM_DEV *pDevice, const struct pci_device | ||
112 | } | ||
113 | } | ||
114 | reset_control_put(rstc); | ||
115 | +#endif /* CONFIG_RESET_CONTROLLER */ | ||
116 | #endif | ||
117 | |||
118 | return PVRSRVIONClientCreate(); | ||
119 | -- | ||
120 | 1.9.1 | ||
121 | |||
diff --git a/recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0003-SGX-displayclass-am335x-am437x-fix-mutex-deadlock-wa.patch b/recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0003-SGX-displayclass-am335x-am437x-fix-mutex-deadlock-wa.patch new file mode 100644 index 00000000..0e2902d3 --- /dev/null +++ b/recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0003-SGX-displayclass-am335x-am437x-fix-mutex-deadlock-wa.patch | |||
@@ -0,0 +1,153 @@ | |||
1 | From cf5156ff82e14fe01a194f9fa9a9adc528ac72f0 Mon Sep 17 00:00:00 2001 | ||
2 | From: Darren Etheridge <detheridge@ti.com> | ||
3 | Date: Tue, 29 Jul 2014 15:39:56 -0500 | ||
4 | Subject: [PATCH 3/4] SGX: displayclass: am335x, am437x - fix mutex deadlock | ||
5 | warning | ||
6 | |||
7 | Rearrange the locking semantics in the Unblank screen function to | ||
8 | remove the kernel warning about a possible deadlock scenario. | ||
9 | |||
10 | The warning presents itself on the console like this: | ||
11 | [ 2976.202979] ====================================================== | ||
12 | [ 2976.202983] [ INFO: possible circular locking dependency detected ] | ||
13 | [ 2976.202994] 3.14.11-00997-gb20d0ac-dirty #53 Tainted: G O | ||
14 | [ 2976.202997] ------------------------------------------------------- | ||
15 | [ 2976.203005] OGLES2Chameleon/1203 is trying to acquire lock: | ||
16 | [ 2976.203058] (console_lock){+.+.+.}, at: [<bf07a310>] | ||
17 | OMAPLFBUnblankDisplay+0x24/0xbc [omaplfb] | ||
18 | [ 2976.203062] | ||
19 | [ 2976.203062] but task is already holding lock: | ||
20 | [ 2976.203087] (&fb_info->lock){+.+.+.}, at: [<c0312358>] | ||
21 | lock_fb_info+0x18/0x3c | ||
22 | [ 2976.203090] | ||
23 | [ 2976.203090] which lock already depends on the new lock. | ||
24 | [ 2976.203090] | ||
25 | [ 2976.203093] | ||
26 | [ 2976.203093] the existing dependency chain (in reverse order) is: | ||
27 | [ 2976.203101] | ||
28 | [ 2976.203101] -> #1 (&fb_info->lock){+.+.+.}: | ||
29 | [ 2976.203112] [<c0312358>] lock_fb_info+0x18/0x3c | ||
30 | [ 2976.203124] [<c0313a7c>] register_framebuffer+0x174/0x26c | ||
31 | [ 2976.203146] [<c033c314>] omapfb_create_framebuffers+0x48c/0x7ac | ||
32 | [ 2976.203157] [<c033d3c4>] omapfb_probe+0x4d4/0x848 | ||
33 | [ 2976.203170] [<c0381cc8>] platform_drv_probe+0x18/0x48 | ||
34 | [ 2976.203189] [<c038096c>] driver_probe_device+0x10c/0x238 | ||
35 | [ 2976.203199] [<c0380b2c>] __driver_attach+0x94/0x98 | ||
36 | [ 2976.203208] [<c037f0f0>] bus_for_each_dev+0x54/0x88 | ||
37 | [ 2976.203216] [<c03800f0>] bus_add_driver+0xd8/0x1d8 | ||
38 | [ 2976.203223] [<c038115c>] driver_register+0x78/0xf4 | ||
39 | [ 2976.203234] [<c0008968>] do_one_initcall+0xe4/0x144 | ||
40 | [ 2976.203250] [<c07d3c18>] kernel_init_freeable+0xfc/0x1cc | ||
41 | [ 2976.203261] [<c0563260>] kernel_init+0x8/0xec | ||
42 | [ 2976.203275] [<c000e648>] ret_from_fork+0x14/0x2c | ||
43 | [ 2976.203284] | ||
44 | [ 2976.203284] -> #0 (console_lock){+.+.+.}: | ||
45 | [ 2976.203301] [<c008bc00>] console_lock+0x4c/0x60 | ||
46 | [ 2976.203328] [<bf07a310>] OMAPLFBUnblankDisplay+0x24/0xbc [omaplfb] | ||
47 | [ 2976.203340] [<bf0797f4>] OpenDCDevice+0x60/0x78 [omaplfb] | ||
48 | [ 2976.203459] [<bf041ac0>] PVRSRVOpenDCDeviceKM+0xec/0x178 [pvrsrvkm] | ||
49 | [ 2976.203654] [<bf05645c>] PVRSRVOpenDCDeviceBW+0x6c/0xac [pvrsrvkm] | ||
50 | [ 2976.203811] [<bf056d10>] BridgedDispatchKM+0xf4/0x14c [pvrsrvkm] | ||
51 | [ 2976.203966] [<bf04f304>] PVRSRV_BridgeDispatchKM+0xf0/0x204 | ||
52 | [pvrsrvkm] | ||
53 | [ 2976.203987] [<c0129500>] do_vfs_ioctl+0x78/0x61c | ||
54 | [ 2976.203997] [<c0129b08>] SyS_ioctl+0x64/0x74 | ||
55 | [ 2976.204013] [<c000e580>] ret_fast_syscall+0x0/0x48 | ||
56 | [ 2976.204016] | ||
57 | [ 2976.204016] other info that might help us debug this: | ||
58 | [ 2976.204016] | ||
59 | [ 2976.204019] Possible unsafe locking scenario: | ||
60 | [ 2976.204019] | ||
61 | [ 2976.204022] CPU0 CPU1 | ||
62 | [ 2976.204024] ---- ---- | ||
63 | [ 2976.204030] lock(&fb_info->lock); | ||
64 | [ 2976.204036] lock(console_lock); | ||
65 | [ 2976.204041] lock(&fb_info->lock); | ||
66 | [ 2976.204046] lock(console_lock); | ||
67 | [ 2976.204048] | ||
68 | [ 2976.204048] *** DEADLOCK *** | ||
69 | [ 2976.204048] | ||
70 | [ 2976.204055] 2 locks held by OGLES2Chameleon/1203: | ||
71 | [ 2976.204217] #0: (psPVRSRVMutex#2/1){+.+.+.}, at: [<bf04f238>] | ||
72 | PVRSRV_BridgeDispatchKM+0x24/0x204 [pvrsrvkm] | ||
73 | [ 2976.204240] #1: (&fb_info->lock){+.+.+.}, at: [<c0312358>] | ||
74 | lock_fb_info+0x18/0x3c | ||
75 | |||
76 | Signed-off-by: Darren Etheridge <detheridge@ti.com> | ||
77 | --- | ||
78 | GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c | 8 +++++--- | ||
79 | GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/omaplfb_linux.c | 7 +++++-- | ||
80 | 2 files changed, 10 insertions(+), 5 deletions(-) | ||
81 | |||
82 | diff --git a/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c b/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c | ||
83 | index 3857b95..a5cc7d0 100644 | ||
84 | --- a/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c | ||
85 | +++ b/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c | ||
86 | @@ -812,10 +812,13 @@ static OMAPLFB_ERROR OMAPLFBBlankOrUnblankDisplay(OMAPLFB_DEVINFO *psDevInfo, IM | ||
87 | { | ||
88 | #ifdef FBDEV_PRESENT | ||
89 | int res; | ||
90 | + | ||
91 | + OMAPLFB_CONSOLE_LOCK(); | ||
92 | if (!lock_fb_info(psDevInfo->psLINFBInfo)) | ||
93 | { | ||
94 | printk(KERN_ERR DRIVER_PREFIX | ||
95 | ": %s: Device %u: Couldn't lock FB info\n", __FUNCTION__, psDevInfo->uiFBDevID); | ||
96 | + OMAPLFB_CONSOLE_UNLOCK(); | ||
97 | return (OMAPLFB_ERROR_GENERIC); | ||
98 | } | ||
99 | |||
100 | @@ -825,14 +828,13 @@ static OMAPLFB_ERROR OMAPLFBBlankOrUnblankDisplay(OMAPLFB_DEVINFO *psDevInfo, IM | ||
101 | * notification. | ||
102 | */ | ||
103 | |||
104 | - | ||
105 | - OMAPLFB_CONSOLE_LOCK(); | ||
106 | psDevInfo->psLINFBInfo->flags |= FBINFO_MISC_USEREVENT; | ||
107 | res = fb_blank(psDevInfo->psLINFBInfo, bBlank ? 1 : 0); | ||
108 | psDevInfo->psLINFBInfo->flags &= ~FBINFO_MISC_USEREVENT; | ||
109 | |||
110 | - OMAPLFB_CONSOLE_UNLOCK(); | ||
111 | unlock_fb_info(psDevInfo->psLINFBInfo); | ||
112 | + OMAPLFB_CONSOLE_UNLOCK(); | ||
113 | + | ||
114 | if (res != 0 && res != -EINVAL) | ||
115 | { | ||
116 | printk(KERN_ERR DRIVER_PREFIX | ||
117 | diff --git a/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/omaplfb_linux.c b/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/omaplfb_linux.c | ||
118 | index c79dbd0..58b8640 100755 | ||
119 | --- a/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/omaplfb_linux.c | ||
120 | +++ b/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/omaplfb_linux.c | ||
121 | @@ -948,10 +948,13 @@ static OMAPLFB_ERROR OMAPLFBBlankOrUnblankDisplay(OMAPLFB_DEVINFO *psDevInfo, IM | ||
122 | { | ||
123 | #ifdef FBDEV_PRESENT | ||
124 | int res; | ||
125 | + | ||
126 | + OMAPLFB_CONSOLE_LOCK(); | ||
127 | if (!lock_fb_info(psDevInfo->psLINFBInfo)) | ||
128 | { | ||
129 | printk(KERN_ERR DRIVER_PREFIX | ||
130 | ": %s: Device %u: Couldn't lock FB info\n", __FUNCTION__, psDevInfo->uiFBDevID); | ||
131 | + OMAPLFB_CONSOLE_UNLOCK(); | ||
132 | return (OMAPLFB_ERROR_GENERIC); | ||
133 | } | ||
134 | |||
135 | @@ -961,13 +964,13 @@ static OMAPLFB_ERROR OMAPLFBBlankOrUnblankDisplay(OMAPLFB_DEVINFO *psDevInfo, IM | ||
136 | * notification. | ||
137 | */ | ||
138 | |||
139 | - OMAPLFB_CONSOLE_LOCK(); | ||
140 | psDevInfo->psLINFBInfo->flags |= FBINFO_MISC_USEREVENT; | ||
141 | res = fb_blank(psDevInfo->psLINFBInfo, bBlank ? 1 : 0); | ||
142 | psDevInfo->psLINFBInfo->flags &= ~FBINFO_MISC_USEREVENT; | ||
143 | |||
144 | - OMAPLFB_CONSOLE_UNLOCK(); | ||
145 | unlock_fb_info(psDevInfo->psLINFBInfo); | ||
146 | + OMAPLFB_CONSOLE_UNLOCK(); | ||
147 | + | ||
148 | if (res != 0 && res != -EINVAL) | ||
149 | { | ||
150 | printk(KERN_ERR DRIVER_PREFIX | ||
151 | -- | ||
152 | 1.9.1 | ||
153 | |||
diff --git a/recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0004-SGX-linux-make-it-building-against-ti-linux-3.14.y.patch b/recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0004-SGX-linux-make-it-building-against-ti-linux-3.14.y.patch new file mode 100644 index 00000000..ebd7e71b --- /dev/null +++ b/recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0004-SGX-linux-make-it-building-against-ti-linux-3.14.y.patch | |||
@@ -0,0 +1,45 @@ | |||
1 | From c9258e090aec91e70efa814e5a38048b0c45754a Mon Sep 17 00:00:00 2001 | ||
2 | From: Darren Etheridge <detheridge@ti.com> | ||
3 | Date: Tue, 29 Jul 2014 15:54:14 -0500 | ||
4 | Subject: [PATCH 4/4] SGX: linux: make it building against ti-linux-3.14.y | ||
5 | |||
6 | The fbdev drivers moved into their own directory under drivers/video. | ||
7 | All of the omap2 dss stuff moved there as well so update the Makefile | ||
8 | to point to the right place. | ||
9 | |||
10 | Keep the old directory around to not break builds against older kernel. | ||
11 | |||
12 | Signed-off-by: Darren Etheridge <detheridge@ti.com> | ||
13 | Signed-off-by: Denys Dmytriyenko <denys@ti.com> | ||
14 | --- | ||
15 | GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/Kbuild | 1 + | ||
16 | GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/Kbuild | 1 + | ||
17 | 2 files changed, 2 insertions(+) | ||
18 | |||
19 | diff --git a/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/Kbuild b/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/Kbuild | ||
20 | index 1ae2359..9e0c843 100755 | ||
21 | --- a/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/Kbuild | ||
22 | +++ b/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/Kbuild | ||
23 | @@ -15,6 +15,7 @@ EXTRA_CFLAGS = -DLINUX \ | ||
24 | -I$(PVR_BUILD_DIR)/services4/include \ | ||
25 | -I$(PVR_BUILD_DIR)/services4/system/$(PVR_SYSTEM) \ | ||
26 | -I$(KERNELDIR)/drivers/video/omap2 \ | ||
27 | + -I$(KERNELDIR)/drivers/video/fbdev/omap2 \ | ||
28 | -I$(PVR_BUILD_DIR)/services4/system/include \ | ||
29 | $(SYS_CFLAGS.1) \ | ||
30 | |||
31 | diff --git a/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/Kbuild b/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/Kbuild | ||
32 | index 1ae2359..9e0c843 100755 | ||
33 | --- a/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/Kbuild | ||
34 | +++ b/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/Kbuild | ||
35 | @@ -15,6 +15,7 @@ EXTRA_CFLAGS = -DLINUX \ | ||
36 | -I$(PVR_BUILD_DIR)/services4/include \ | ||
37 | -I$(PVR_BUILD_DIR)/services4/system/$(PVR_SYSTEM) \ | ||
38 | -I$(KERNELDIR)/drivers/video/omap2 \ | ||
39 | + -I$(KERNELDIR)/drivers/video/fbdev/omap2 \ | ||
40 | -I$(PVR_BUILD_DIR)/services4/system/include \ | ||
41 | $(SYS_CFLAGS.1) \ | ||
42 | |||
43 | -- | ||
44 | 2.0.2 | ||
45 | |||
diff --git a/recipes-bsp/powervr-drivers/omap3-sgx-modules_5.01.01.01.bb b/recipes-bsp/powervr-drivers/omap3-sgx-modules_5.01.01.01.bb index 40bf8c07..0b1c06f3 100644 --- a/recipes-bsp/powervr-drivers/omap3-sgx-modules_5.01.01.01.bb +++ b/recipes-bsp/powervr-drivers/omap3-sgx-modules_5.01.01.01.bb | |||
@@ -10,7 +10,7 @@ IMGPV = "1.10.2359475" | |||
10 | 10 | ||
11 | inherit module | 11 | inherit module |
12 | 12 | ||
13 | MACHINE_KERNEL_PR_append = "a" | 13 | MACHINE_KERNEL_PR_append = "b" |
14 | PR = "${MACHINE_KERNEL_PR}" | 14 | PR = "${MACHINE_KERNEL_PR}" |
15 | 15 | ||
16 | BINFILE_HARDFP = "Graphics_SDK_setuplinux_hardfp_${SGXPV}.bin" | 16 | BINFILE_HARDFP = "Graphics_SDK_setuplinux_hardfp_${SGXPV}.bin" |
@@ -33,6 +33,11 @@ BINFILE := "${BINFILE_HARDFP}" | |||
33 | 33 | ||
34 | SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/gfxsdk/${SGXPV}/exports/${BINFILE}" | 34 | SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/gfxsdk/${SGXPV}/exports/${BINFILE}" |
35 | 35 | ||
36 | SRC_URI += "file://0001-PoC-GFX-SDK-Make-5_01_01_01-work-against-3.14-LTS.patch;striplevel=2 \ | ||
37 | file://0002-SGX-linux-use-platform-data-to-provide-reset-info.patch;striplevel=2 \ | ||
38 | file://0003-SGX-displayclass-am335x-am437x-fix-mutex-deadlock-wa.patch;striplevel=2 \ | ||
39 | file://0004-SGX-linux-make-it-building-against-ti-linux-3.14.y.patch;striplevel=2" | ||
40 | |||
36 | SRC_URI[md5sum] := "${MD5SUM_HARDFP}" | 41 | SRC_URI[md5sum] := "${MD5SUM_HARDFP}" |
37 | SRC_URI[sha256sum] := "${SHA256SUM_HARDFP}" | 42 | SRC_URI[sha256sum] := "${SHA256SUM_HARDFP}" |
38 | 43 | ||