[meta-ti] [PATCH 2/2] omap3-sgx-modules 5.01.01.01: add Darren's patches to work with 3.14 kernel

Cooper Jr., Franklin fcooper at ti.com
Wed Jul 30 11:38:07 PDT 2014


Acked-by: Franklin Cooper Jr. <fcooper at ti.com>

It might be a good idea to run sourceipk (meta-arago) on this so that the version of the Graphics SDK we bundle already have these patches included.
Nothing we need to do here in meta-ti but just something to keep track of in meta-arago.

> -----Original Message-----
> From: meta-ti-bounces at yoctoproject.org [mailto:meta-ti-
> bounces at yoctoproject.org] On Behalf Of Denys Dmytriyenko
> Sent: Tuesday, July 29, 2014 8:35 PM
> To: meta-ti at yoctoproject.org
> Subject: [meta-ti] [PATCH 2/2] omap3-sgx-modules 5.01.01.01: add Darren's
> patches to work with 3.14 kernel
> 
> From: Denys Dmytriyenko <denys at ti.com>
> 
> Signed-off-by: Denys Dmytriyenko <denys at ti.com>
> ---
>  ...SDK-Make-5_01_01_01-work-against-3.14-LTS.patch |  52 +++++++  ...x-use-
> platform-data-to-provide-reset-info.patch | 121 ++++++++++++++++  ...class-
> am335x-am437x-fix-mutex-deadlock-wa.patch | 153 +++++++++++++++++++++
> ...-make-it-building-against-ti-linux-3.14.y.patch |  44 ++++++
>  .../omap3-sgx-modules_5.01.01.01.bb                |   7 +-
>  5 files changed, 376 insertions(+), 1 deletion(-)  create mode 100644 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
>  create mode 100644 recipes-bsp/powervr-drivers/omap3-sgx-modules-
> 5.01.01.01/0002-SGX-linux-use-platform-data-to-provide-reset-info.patch
>  create mode 100644 recipes-bsp/powervr-drivers/omap3-sgx-modules-
> 5.01.01.01/0003-SGX-displayclass-am335x-am437x-fix-mutex-deadlock-
> wa.patch
>  create mode 100644 recipes-bsp/powervr-drivers/omap3-sgx-modules-
> 5.01.01.01/0004-SGX-linux-make-it-building-against-ti-linux-3.14.y.patch
> 
> 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 0000000..e541079
> --- /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 @@
> +From e2db38959a70d1be604a297276a0b0c2ac219bf5 Mon Sep 17 00:00:00
> 2001
> +From: Darren Etheridge <detheridge at ti.com>
> +Date: Tue, 29 Jul 2014 16:06:17 -0500
> +Subject: [PATCH 1/4] PoC: GFX: SDK: Make 5_01_01_01 work against 3.14
> +LTS
> +
> +An API rename is the main change.  Also hacked in some function
> +prototypes for enabling use of the tilcdc DRM driver instead of the
> +fbdev driver on AM335x.  However this all really needs a good cleanup
> +as it is hacky at the moment.
> +
> +Signed-off-by: Darren Etheridge <detheridge at ti.com>
> +---
> + GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c | 5
> +++++
> + GFX_Linux_KM/services4/srvkm/env/linux/mutils.h                 | 6 +++++-
> + 2 files changed, 10 insertions(+), 1 deletion(-)
> +
> +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
> +index 5c3fc48..3857b95 100644
> +--- a/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c
> ++++ b/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c
> +@@ -93,6 +93,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR
> OTHER DEALINGS IN THE SOFTWARE.
> + #include <linux/mutex.h>
> +
> + #include <video/da8xx-fb.h>
> ++/* used by SGX OMAPLFB drvier */
> ++typedef void (*vsync_callback_t)(void *arg); int
> ++register_vsync_cb(vsync_callback_t handler, void *arg, int idx); int
> ++unregister_vsync_cb(vsync_callback_t handler, void *arg, int idx);
> ++
> + #if defined(PVR_OMAPLFB_DRM_FB)
> + #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,0,0))  #include
> +<plat/display.h> diff --git
> +a/GFX_Linux_KM/services4/srvkm/env/linux/mutils.h
> +b/GFX_Linux_KM/services4/srvkm/env/linux/mutils.h
> +index 31e0dac..90ec41c 100644
> +--- a/GFX_Linux_KM/services4/srvkm/env/linux/mutils.h
> ++++ b/GFX_Linux_KM/services4/srvkm/env/linux/mutils.h
> +@@ -79,7 +79,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR
> OTHER DEALINGS IN THE SOFTWARE.
> + 	#define	IOREMAP(pa, bytes)	ioremap_cache(pa, bytes)
> + #else
> + 	#if defined(__arm__) && (LINUX_VERSION_CODE >=
> KERNEL_VERSION(2,6,0))
> +-		#define	IOREMAP(pa, bytes)	ioremap_cached(pa, bytes)
> ++		#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,13,0))
> ++			#define	IOREMAP(pa, bytes)	ioremap_cache(pa,
> bytes)
> ++		#else
> ++			#define	IOREMAP(pa, bytes)	ioremap_cached(pa,
> bytes)
> ++		#endif
> + 	#else
> + 		#define IOREMAP(pa, bytes)	ioremap(pa, bytes)
> + 	#endif
> +--
> +1.9.1
> +
> 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 0000000..22b73fd
> --- /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 @@
> +From 30a695502496302f804e14eeca90568f067b2db2 Mon Sep 17 00:00:00
> 2001
> +From: Darren Etheridge <detheridge at ti.com>
> +Date: Fri, 25 Jul 2014 16:03:14 -0500
> +Subject: [PATCH 2/4] SGX: linux: use platform data to provide reset
> +info
> +
> +In ti-linux-3.14.y we will not have a reset driver unlike
> +ti-linux-3.12.y so this commit removes the dependency on the reset
> +driver and instead uses the platform data that in a dt environment is
> +configured in mach-omap2/pdata-quirks.c
> +
> +Signed-off-by: Darren Etheridge <detheridge at ti.com>
> +---
> + GFX_Linux_KM/services4/srvkm/env/linux/module.c | 34
> +++++++++++++++++++++-----
> + 1 file changed, 28 insertions(+), 6 deletions(-)
> +
> +diff --git a/GFX_Linux_KM/services4/srvkm/env/linux/module.c
> +b/GFX_Linux_KM/services4/srvkm/env/linux/module.c
> +index e03dc00..82d07f4 100644
> +--- a/GFX_Linux_KM/services4/srvkm/env/linux/module.c
> ++++ b/GFX_Linux_KM/services4/srvkm/env/linux/module.c
> +@@ -47,6 +47,10 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR
> OTHER DEALINGS IN THE SOFTWARE.
> + #endif
> + #endif
> +
> ++#ifndef CONFIG_RESET_CONTROLLER
> ++#include <linux/platform_data/gfx-sgx.h> #endif
> ++
> + #if defined(SUPPORT_DRI_DRM) && !defined(SUPPORT_DRI_DRM_PLUGIN)
> + #define	PVR_MOD_STATIC
> + #else
> +@@ -344,9 +348,11 @@ static LDM_DRV powervr_driver = {  LDM_DEV
> +*gpsPVRLDMDev;
> +
> + #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
> ++#ifdef CONFIG_RESET_CONTROLLER
> + struct reset_control *rstc;
> + bool already_deasserted = false;
> + #endif
> ++#endif
> +
> + #if defined(MODULE) && defined(PVR_LDM_PLATFORM_MODULE) && \
> + 	!defined(PVR_USE_PRE_REGISTERED_PLATFORM_DEV)
> +@@ -388,11 +394,14 @@ static int __devinit PVRSRVDriverProbe(LDM_DEV
> +*pDevice, const struct pci_device  #endif  {
> + 	SYS_DATA *psSysData;
> +-	int ret;
> ++	int ret;
> ++	struct device *dev = &pDevice->dev;
> ++	struct gfx_sgx_platform_data *pdata = dev->platform_data;
> ++
> + 	PVR_TRACE(("PVRSRVDriverProbe(pDevice=%p)", pDevice)); #if
> + (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
> ++#ifdef CONFIG_RESET_CONTROLLER
> + 	rstc = reset_control_get(&pDevice->dev, NULL);
> +-
> + 	if (IS_ERR(rstc))
> + 	{
> + 		dev_err(&pDevice->dev, "%s: error: reset_control_get\n",
> __func__);
> +@@ -403,7 +412,7 @@ static int __devinit PVRSRVDriverProbe(LDM_DEV
> +*pDevice, const struct pci_device
> +
> + 	if (ret < 0)
> + 	{
> +-		dev_err(&pDevice->dev, "%s: error:
> reset_control_clear_reset\n", __func__);
> ++		dev_err(dev, "%s: error: reset_control_clear_reset\n",
> __func__);
> + 		return ret;
> + 	}
> +
> +@@ -413,11 +422,22 @@ static int __devinit PVRSRVDriverProbe(LDM_DEV
> *pDevice, const struct pci_device
> + 	{
> + 		already_deasserted = true;
> + 	}
> +-	else if (ret < 0)
> ++	else if (ret < 0)
> + 	{
> +-		dev_err(&pDevice->dev, "%s: error: reset_control_deassert\n",
> __func__);
> ++		dev_err(dev, "%s: error: reset_control_deassert\n", __func__);
> + 		return ret;
> + 	}
> ++#else
> ++	if (pdata && pdata->deassert_reset) {
> ++		ret = pdata->deassert_reset(pDevice, pdata->reset_name);
> ++		if (ret) {
> ++			dev_err(dev, "Unable to reset SGX!\n");
> ++		}
> ++	} else {
> ++		dev_err(dev, "SGX Platform data missing deassert_reset!\n");
> ++		return -ENODEV;
> ++	}
> ++#endif  /* CONFIG_RESET_CONTROLLER */
> + #endif
> +
> + #if 0   /* INTEGRATION_POINT */
> +@@ -432,7 +452,7 @@ static int __devinit PVRSRVDriverProbe(LDM_DEV
> *pDevice, const struct pci_device
> + 	{
> + 		return -EINVAL;
> + 	}
> +-#endif
> ++#endif
> + 	/* SysInitialise only designed to be called once.
> + 	 */
> + 	psSysData = SysAcquireDataNoCheck();
> +@@ -445,6 +465,7 @@ static int __devinit PVRSRVDriverProbe(LDM_DEV
> *pDevice, const struct pci_device
> + 		}
> + 	}
> + #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
> ++#ifdef CONFIG_RESET_CONTROLLER
> +         if (!already_deasserted)
> +         {
> +                 ret = reset_control_is_reset(rstc); @@ -454,6 +475,7
> +@@ static int __devinit PVRSRVDriverProbe(LDM_DEV *pDevice, const struct
> pci_device
> +                 }
> +         }
> +         reset_control_put(rstc);
> ++#endif /* CONFIG_RESET_CONTROLLER */
> + #endif
> +
> + 	return PVRSRVIONClientCreate();
> +--
> +1.9.1
> +
> 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 0000000..0e2902d
> --- /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 @@
> +From cf5156ff82e14fe01a194f9fa9a9adc528ac72f0 Mon Sep 17 00:00:00 2001
> +From: Darren Etheridge <detheridge at ti.com>
> +Date: Tue, 29 Jul 2014 15:39:56 -0500
> +Subject: [PATCH 3/4] SGX: displayclass: am335x, am437x - fix mutex
> +deadlock  warning
> +
> +Rearrange the locking semantics in the Unblank screen function to
> +remove the kernel warning about a possible deadlock scenario.
> +
> +The warning presents itself on the console like this:
> +[ 2976.202979]
> ======================================================
> +[ 2976.202983] [ INFO: possible circular locking dependency detected ]
> +[ 2976.202994] 3.14.11-00997-gb20d0ac-dirty #53 Tainted: G           O
> +[ 2976.202997] -------------------------------------------------------
> +[ 2976.203005] OGLES2Chameleon/1203 is trying to acquire lock:
> +[ 2976.203058]  (console_lock){+.+.+.}, at: [<bf07a310>]
> +OMAPLFBUnblankDisplay+0x24/0xbc [omaplfb]
> +[ 2976.203062]
> +[ 2976.203062] but task is already holding lock:
> +[ 2976.203087]  (&fb_info->lock){+.+.+.}, at: [<c0312358>]
> +lock_fb_info+0x18/0x3c [ 2976.203090] [ 2976.203090] which lock already
> +depends on the new lock.
> +[ 2976.203090]
> +[ 2976.203093]
> +[ 2976.203093] the existing dependency chain (in reverse order) is:
> +[ 2976.203101]
> +[ 2976.203101] -> #1 (&fb_info->lock){+.+.+.}:
> +[ 2976.203112]        [<c0312358>] lock_fb_info+0x18/0x3c
> +[ 2976.203124]        [<c0313a7c>] register_framebuffer+0x174/0x26c
> +[ 2976.203146]        [<c033c314>] omapfb_create_framebuffers+0x48c/0x7ac
> +[ 2976.203157]        [<c033d3c4>] omapfb_probe+0x4d4/0x848
> +[ 2976.203170]        [<c0381cc8>] platform_drv_probe+0x18/0x48
> +[ 2976.203189]        [<c038096c>] driver_probe_device+0x10c/0x238
> +[ 2976.203199]        [<c0380b2c>] __driver_attach+0x94/0x98
> +[ 2976.203208]        [<c037f0f0>] bus_for_each_dev+0x54/0x88
> +[ 2976.203216]        [<c03800f0>] bus_add_driver+0xd8/0x1d8
> +[ 2976.203223]        [<c038115c>] driver_register+0x78/0xf4
> +[ 2976.203234]        [<c0008968>] do_one_initcall+0xe4/0x144
> +[ 2976.203250]        [<c07d3c18>] kernel_init_freeable+0xfc/0x1cc
> +[ 2976.203261]        [<c0563260>] kernel_init+0x8/0xec
> +[ 2976.203275]        [<c000e648>] ret_from_fork+0x14/0x2c
> +[ 2976.203284]
> +[ 2976.203284] -> #0 (console_lock){+.+.+.}:
> +[ 2976.203301]        [<c008bc00>] console_lock+0x4c/0x60
> +[ 2976.203328]        [<bf07a310>] OMAPLFBUnblankDisplay+0x24/0xbc
> [omaplfb]
> +[ 2976.203340]        [<bf0797f4>] OpenDCDevice+0x60/0x78 [omaplfb]
> +[ 2976.203459]        [<bf041ac0>] PVRSRVOpenDCDeviceKM+0xec/0x178
> [pvrsrvkm]
> +[ 2976.203654]        [<bf05645c>] PVRSRVOpenDCDeviceBW+0x6c/0xac
> [pvrsrvkm]
> +[ 2976.203811]        [<bf056d10>] BridgedDispatchKM+0xf4/0x14c [pvrsrvkm]
> +[ 2976.203966]        [<bf04f304>] PVRSRV_BridgeDispatchKM+0xf0/0x204
> +[pvrsrvkm]
> +[ 2976.203987]        [<c0129500>] do_vfs_ioctl+0x78/0x61c
> +[ 2976.203997]        [<c0129b08>] SyS_ioctl+0x64/0x74
> +[ 2976.204013]        [<c000e580>] ret_fast_syscall+0x0/0x48
> +[ 2976.204016]
> +[ 2976.204016] other info that might help us debug this:
> +[ 2976.204016]
> +[ 2976.204019]  Possible unsafe locking scenario:
> +[ 2976.204019]
> +[ 2976.204022]        CPU0                    CPU1
> +[ 2976.204024]        ----                    ----
> +[ 2976.204030]   lock(&fb_info->lock);
> +[ 2976.204036]                                lock(console_lock);
> +[ 2976.204041]                                lock(&fb_info->lock);
> +[ 2976.204046]   lock(console_lock);
> +[ 2976.204048]
> +[ 2976.204048]  *** DEADLOCK ***
> +[ 2976.204048]
> +[ 2976.204055] 2 locks held by OGLES2Chameleon/1203:
> +[ 2976.204217]  #0:  (psPVRSRVMutex#2/1){+.+.+.}, at: [<bf04f238>]
> +PVRSRV_BridgeDispatchKM+0x24/0x204 [pvrsrvkm] [ 2976.204240]  #1:
> +(&fb_info->lock){+.+.+.}, at: [<c0312358>] lock_fb_info+0x18/0x3c
> +
> +Signed-off-by: Darren Etheridge <detheridge at ti.com>
> +---
> + GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c | 8
> ++++++---
> +GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/omaplfb_linux.c | 7
> ++++++--
> + 2 files changed, 10 insertions(+), 5 deletions(-)
> +
> +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
> +index 3857b95..a5cc7d0 100644
> +--- a/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c
> ++++ b/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c
> +@@ -812,10 +812,13 @@ static OMAPLFB_ERROR
> +OMAPLFBBlankOrUnblankDisplay(OMAPLFB_DEVINFO *psDevInfo, IM  {
> #ifdef
> +FBDEV_PRESENT
> + 	int res;
> ++
> ++	OMAPLFB_CONSOLE_LOCK();
> + 	if (!lock_fb_info(psDevInfo->psLINFBInfo))
> + 	{
> + 		printk(KERN_ERR DRIVER_PREFIX
> + 			": %s: Device %u: Couldn't lock FB info\n",
> __FUNCTION__,
> + psDevInfo->uiFBDevID);
> ++		OMAPLFB_CONSOLE_UNLOCK();
> + 		return (OMAPLFB_ERROR_GENERIC);
> + 	}
> +
> +@@ -825,14 +828,13 @@ static OMAPLFB_ERROR
> OMAPLFBBlankOrUnblankDisplay(OMAPLFB_DEVINFO *psDevInfo, IM
> + 	* notification.
> + 	*/
> +
> +-
> +-	OMAPLFB_CONSOLE_LOCK();
> + 	psDevInfo->psLINFBInfo->flags |= FBINFO_MISC_USEREVENT;
> + 	res = fb_blank(psDevInfo->psLINFBInfo, bBlank ? 1 : 0);
> + 	psDevInfo->psLINFBInfo->flags &= ~FBINFO_MISC_USEREVENT;
> +
> +-	OMAPLFB_CONSOLE_UNLOCK();
> + 	unlock_fb_info(psDevInfo->psLINFBInfo);
> ++	OMAPLFB_CONSOLE_UNLOCK();
> ++
> + 	if (res != 0 && res != -EINVAL)
> + 	{
> + 		printk(KERN_ERR DRIVER_PREFIX
> +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
> +index c79dbd0..58b8640 100755
> +--- a/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/omaplfb_linux.c
> ++++ b/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/omaplfb_linux.c
> +@@ -948,10 +948,13 @@ static OMAPLFB_ERROR
> +OMAPLFBBlankOrUnblankDisplay(OMAPLFB_DEVINFO *psDevInfo, IM  {
> #ifdef
> +FBDEV_PRESENT
> + 	int res;
> ++
> ++	OMAPLFB_CONSOLE_LOCK();
> + 	if (!lock_fb_info(psDevInfo->psLINFBInfo))
> + 	{
> + 		printk(KERN_ERR DRIVER_PREFIX
> + 		": %s: Device %u: Couldn't lock FB info\n", __FUNCTION__,
> + psDevInfo->uiFBDevID);
> ++		OMAPLFB_CONSOLE_UNLOCK();
> + 		return (OMAPLFB_ERROR_GENERIC);
> + 	}
> +
> +@@ -961,13 +964,13 @@ static OMAPLFB_ERROR
> OMAPLFBBlankOrUnblankDisplay(OMAPLFB_DEVINFO *psDevInfo, IM
> + 	* notification.
> + 	*/
> +
> +-	OMAPLFB_CONSOLE_LOCK();
> + 	psDevInfo->psLINFBInfo->flags |= FBINFO_MISC_USEREVENT;
> + 	res = fb_blank(psDevInfo->psLINFBInfo, bBlank ? 1 : 0);
> + 	psDevInfo->psLINFBInfo->flags &= ~FBINFO_MISC_USEREVENT;
> +
> +-	OMAPLFB_CONSOLE_UNLOCK();
> + 	unlock_fb_info(psDevInfo->psLINFBInfo);
> ++	OMAPLFB_CONSOLE_UNLOCK();
> ++
> + 	if (res != 0 && res != -EINVAL)
> + 	{
> + 		printk(KERN_ERR DRIVER_PREFIX
> +--
> +1.9.1
> +
> 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 0000000..b9c004f
> --- /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,44 @@
> +From 21e14daefe16351320e01392f188cf473f67702f Mon Sep 17 00:00:00
> 2001
> +From: Darren Etheridge <detheridge at ti.com>
> +Date: Tue, 29 Jul 2014 15:54:14 -0500
> +Subject: [PATCH 4/4] SGX: linux: make it building against
> +ti-linux-3.14.y
> +
> +The fbdev drivers moved into their own directory under drivers/video.
> +All of the omap2 dss stuff moved there as well so update the Makefile
> +to point to the right place.
> +
> +Signed-off-by: Darren Etheridge <detheridge at ti.com>
> +---
> + GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/Kbuild | 2 +-
> +GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/Kbuild | 2 +-
> + 2 files changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/Kbuild
> +b/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/Kbuild
> +index 1ae2359..7c2a39d 100755
> +--- a/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/Kbuild
> ++++ b/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/Kbuild
> +@@ -14,7 +14,7 @@ EXTRA_CFLAGS =	-DLINUX \
> + 		-I$(PVR_BUILD_DIR)/include4 \
> + 		-I$(PVR_BUILD_DIR)/services4/include \
> + 		-I$(PVR_BUILD_DIR)/services4/system/$(PVR_SYSTEM) \
> +-		-I$(KERNELDIR)/drivers/video/omap2 \
> ++		-I$(KERNELDIR)/drivers/video/fbdev/omap2 \
> + 		-I$(PVR_BUILD_DIR)/services4/system/include \
> + 		$(SYS_CFLAGS.1) \
> +
> +diff --git a/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/Kbuild
> +b/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/Kbuild
> +index 1ae2359..7c2a39d 100755
> +--- a/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/Kbuild
> ++++ b/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/Kbuild
> +@@ -14,7 +14,7 @@ EXTRA_CFLAGS =	-DLINUX \
> + 		-I$(PVR_BUILD_DIR)/include4 \
> + 		-I$(PVR_BUILD_DIR)/services4/include \
> + 		-I$(PVR_BUILD_DIR)/services4/system/$(PVR_SYSTEM) \
> +-		-I$(KERNELDIR)/drivers/video/omap2 \
> ++		-I$(KERNELDIR)/drivers/video/fbdev/omap2 \
> + 		-I$(PVR_BUILD_DIR)/services4/system/include \
> + 		$(SYS_CFLAGS.1) \
> +
> +--
> +1.9.1
> +
> 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 40bf8c0..0b1c06f 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"
> 
>  inherit module
> 
> -MACHINE_KERNEL_PR_append = "a"
> +MACHINE_KERNEL_PR_append = "b"
>  PR = "${MACHINE_KERNEL_PR}"
> 
>  BINFILE_HARDFP = "Graphics_SDK_setuplinux_hardfp_${SGXPV}.bin"
> @@ -33,6 +33,11 @@ BINFILE := "${BINFILE_HARDFP}"
> 
>  SRC_URI = "http://software-
> dl.ti.com/dsps/dsps_public_sw/gfxsdk/${SGXPV}/exports/${BINFILE}"
> 
> +SRC_URI += "file://0001-PoC-GFX-SDK-Make-5_01_01_01-work-against-3.14-
> LTS.patch;striplevel=2 \
> +            file://0002-SGX-linux-use-platform-data-to-provide-reset-
> info.patch;striplevel=2 \
> +            file://0003-SGX-displayclass-am335x-am437x-fix-mutex-deadlock-
> wa.patch;striplevel=2 \
> +            file://0004-SGX-linux-make-it-building-against-ti-linux-
> 3.14.y.patch;striplevel=2"
> +
>  SRC_URI[md5sum] := "${MD5SUM_HARDFP}"
>  SRC_URI[sha256sum] := "${SHA256SUM_HARDFP}"
> 
> --
> 2.0.2
> 
> --
> _______________________________________________
> meta-ti mailing list
> meta-ti at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-ti


More information about the meta-ti mailing list