From: Denys Dmytriyenko <denys@ti.com>
To: "Maupin, Chase" <chase.maupin@ti.com>
Cc: "meta-ti@yoctoproject.org" <meta-ti@yoctoproject.org>
Subject: Re: [PATCH 2/2] omap3-sgx-modules 5.01.01.01: add Darren's patches to work with 3.14 kernel
Date: Wed, 30 Jul 2014 14:43:58 -0400 [thread overview]
Message-ID: <20140730184357.GY15788@edge> (raw)
In-Reply-To: <7D46E86EC0A8354091174257B2FED1015D1863C3@DLEE11.ent.ti.com>
On Wed, Jul 30, 2014 at 06:41:42PM +0000, Maupin, Chase wrote:
> >-----Original Message-----
> >From: meta-ti-bounces@yoctoproject.org [mailto:meta-ti-
> >bounces@yoctoproject.org] On Behalf Of Cooper Jr., Franklin
> >Sent: Wednesday, July 30, 2014 1:38 PM
> >To: Denys Dmytriyenko; meta-ti@yoctoproject.org
> >Subject: Re: [meta-ti] [PATCH 2/2] omap3-sgx-modules 5.01.01.01:
> >add Darren's patches to work with 3.14 kernel
> >
> >Acked-by: Franklin Cooper Jr. <fcooper@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.
>
> Well, until the graphics SDK splits out into drivers and libraries this
> would be everything. That may not be such a big deal overall if we then
> drop the graphics SDK installer binary from the backend packaging. This is
> something we have always wanted to do, but I was hoping that with a clean
> split of libraries and drivers we could then package drivers in the
> board-support directory and libraries elsewhere that makes more sense.
+1
Any ETA on when that's coming?
> >> -----Original Message-----
> >> From: meta-ti-bounces@yoctoproject.org [mailto:meta-ti-
> >> bounces@yoctoproject.org] On Behalf Of Denys Dmytriyenko
> >> Sent: Tuesday, July 29, 2014 8:35 PM
> >> To: meta-ti@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@ti.com>
> >>
> >> Signed-off-by: Denys Dmytriyenko <denys@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@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@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@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@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@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@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@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@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@yoctoproject.org
> >> https://lists.yoctoproject.org/listinfo/meta-ti
> >--
> >_______________________________________________
> >meta-ti mailing list
> >meta-ti@yoctoproject.org
> >https://lists.yoctoproject.org/listinfo/meta-ti
> --
> _______________________________________________
> meta-ti mailing list
> meta-ti@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-ti
next prev parent reply other threads:[~2014-07-30 18:44 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-30 1:35 [PATCH 1/2] linux-ti-staging: add Darren's SGX patches to make graphics work with 3.14 Denys Dmytriyenko
2014-07-30 1:35 ` [PATCH 2/2] omap3-sgx-modules 5.01.01.01: add Darren's patches to work with 3.14 kernel Denys Dmytriyenko
2014-07-30 18:38 ` Cooper Jr., Franklin
2014-07-30 18:41 ` Maupin, Chase
2014-07-30 18:43 ` Denys Dmytriyenko [this message]
2014-07-30 19:07 ` Maupin, Chase
2014-07-31 21:33 ` [PATCH v2 " Denys Dmytriyenko
2015-04-22 21:57 ` Cody P Schafer
2015-04-22 22:15 ` Denys Dmytriyenko
2014-07-30 18:00 ` [PATCH 1/2] linux-ti-staging: add Darren's SGX patches to make graphics work with 3.14 Cooper Jr., Franklin
2014-07-30 18:29 ` Denys Dmytriyenko
2014-08-04 23:24 ` Nicolas Dechesne
2014-08-05 0:20 ` Denys Dmytriyenko
2014-08-05 2:22 ` Khem Raj
2014-08-05 2:29 ` Denys Dmytriyenko
2014-08-05 16:37 ` Nicolas Dechesne
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140730184357.GY15788@edge \
--to=denys@ti.com \
--cc=chase.maupin@ti.com \
--cc=meta-ti@yoctoproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.