summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denys@ti.com>2014-08-01 03:33:46 +0000
committerDenys Dmytriyenko <denys@ti.com>2014-07-31 19:12:05 -0400
commite5eaf3bef458936b02ddfd649f474e07d1c79336 (patch)
treede006f884f3c528873a9c65260c804d9dd0f0ed2
parenta565ad89a4769c8ca6535e1492f9a79a3f69638e (diff)
downloadmeta-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>
-rw-r--r--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.patch52
-rw-r--r--recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0002-SGX-linux-use-platform-data-to-provide-reset-info.patch121
-rw-r--r--recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0003-SGX-displayclass-am335x-am437x-fix-mutex-deadlock-wa.patch153
-rw-r--r--recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0004-SGX-linux-make-it-building-against-ti-linux-3.14.y.patch45
-rw-r--r--recipes-bsp/powervr-drivers/omap3-sgx-modules_5.01.01.01.bb7
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 @@
1From e2db38959a70d1be604a297276a0b0c2ac219bf5 Mon Sep 17 00:00:00 2001
2From: Darren Etheridge <detheridge@ti.com>
3Date: Tue, 29 Jul 2014 16:06:17 -0500
4Subject: [PATCH 1/4] PoC: GFX: SDK: Make 5_01_01_01 work against 3.14 LTS
5
6An API rename is the main change. Also hacked in some function prototypes
7for enabling use of the tilcdc DRM driver instead of the fbdev driver on
8AM335x. However this all really needs a good cleanup as it is hacky at
9the moment.
10
11Signed-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
17diff --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
18index 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>
33diff --git a/GFX_Linux_KM/services4/srvkm/env/linux/mutils.h b/GFX_Linux_KM/services4/srvkm/env/linux/mutils.h
34index 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--
511.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 @@
1From 30a695502496302f804e14eeca90568f067b2db2 Mon Sep 17 00:00:00 2001
2From: Darren Etheridge <detheridge@ti.com>
3Date: Fri, 25 Jul 2014 16:03:14 -0500
4Subject: [PATCH 2/4] SGX: linux: use platform data to provide reset info
5
6In ti-linux-3.14.y we will not have a reset driver unlike ti-linux-3.12.y
7so this commit removes the dependency on the reset driver and instead
8uses the platform data that in a dt environment is configured in
9mach-omap2/pdata-quirks.c
10
11Signed-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
16diff --git a/GFX_Linux_KM/services4/srvkm/env/linux/module.c b/GFX_Linux_KM/services4/srvkm/env/linux/module.c
17index 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--
1201.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 @@
1From cf5156ff82e14fe01a194f9fa9a9adc528ac72f0 Mon Sep 17 00:00:00 2001
2From: Darren Etheridge <detheridge@ti.com>
3Date: Tue, 29 Jul 2014 15:39:56 -0500
4Subject: [PATCH 3/4] SGX: displayclass: am335x, am437x - fix mutex deadlock
5 warning
6
7Rearrange the locking semantics in the Unblank screen function to
8remove the kernel warning about a possible deadlock scenario.
9
10The 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>]
17OMAPLFBUnblankDisplay+0x24/0xbc [omaplfb]
18[ 2976.203062]
19[ 2976.203062] but task is already holding lock:
20[ 2976.203087] (&fb_info->lock){+.+.+.}, at: [<c0312358>]
21lock_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>]
72PVRSRV_BridgeDispatchKM+0x24/0x204 [pvrsrvkm]
73[ 2976.204240] #1: (&fb_info->lock){+.+.+.}, at: [<c0312358>]
74lock_fb_info+0x18/0x3c
75
76Signed-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
82diff --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
83index 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
117diff --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
118index 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--
1521.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 @@
1From c9258e090aec91e70efa814e5a38048b0c45754a Mon Sep 17 00:00:00 2001
2From: Darren Etheridge <detheridge@ti.com>
3Date: Tue, 29 Jul 2014 15:54:14 -0500
4Subject: [PATCH 4/4] SGX: linux: make it building against ti-linux-3.14.y
5
6The fbdev drivers moved into their own directory under drivers/video.
7All of the omap2 dss stuff moved there as well so update the Makefile
8to point to the right place.
9
10Keep the old directory around to not break builds against older kernel.
11
12Signed-off-by: Darren Etheridge <detheridge@ti.com>
13Signed-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
19diff --git a/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/Kbuild b/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/Kbuild
20index 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
31diff --git a/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/Kbuild b/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/Kbuild
32index 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--
442.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
11inherit module 11inherit module
12 12
13MACHINE_KERNEL_PR_append = "a" 13MACHINE_KERNEL_PR_append = "b"
14PR = "${MACHINE_KERNEL_PR}" 14PR = "${MACHINE_KERNEL_PR}"
15 15
16BINFILE_HARDFP = "Graphics_SDK_setuplinux_hardfp_${SGXPV}.bin" 16BINFILE_HARDFP = "Graphics_SDK_setuplinux_hardfp_${SGXPV}.bin"
@@ -33,6 +33,11 @@ BINFILE := "${BINFILE_HARDFP}"
33 33
34SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/gfxsdk/${SGXPV}/exports/${BINFILE}" 34SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/gfxsdk/${SGXPV}/exports/${BINFILE}"
35 35
36SRC_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
36SRC_URI[md5sum] := "${MD5SUM_HARDFP}" 41SRC_URI[md5sum] := "${MD5SUM_HARDFP}"
37SRC_URI[sha256sum] := "${SHA256SUM_HARDFP}" 42SRC_URI[sha256sum] := "${SHA256SUM_HARDFP}"
38 43