All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2][for-comments] libgles-omap3: Add updated Graphics SDK
@ 2012-10-10  4:28 Franklin S. Cooper Jr
  2012-10-10  4:28 ` [PATCH 2/2][for-comments] omap3-sgx-modules: Add v4.08.00.01 of the SGX modules Franklin S. Cooper Jr
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Franklin S. Cooper Jr @ 2012-10-10  4:28 UTC (permalink / raw)
  To: meta-ti

* Add version v4.08.00.01 of the Graphics SDK.
* Add X11 support via DRI/DRM Xorg driver
* Replace pvrsrvinit with pvrsrvctl (Imagination Technologies based change)

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
---
 .../libgles/libgles-omap3-4.08.00.01/rc.pvr        |  124 ++++++++++++++++++
 .../libgles/libgles-omap3-4.08.00.01/rc_dri.pvr    |  136 ++++++++++++++++++++
 .../libgles/libgles-omap3_4.08.00.01.bb            |   74 +++++++++++
 3 files changed, 334 insertions(+), 0 deletions(-)
 create mode 100755 recipes-graphics/libgles/libgles-omap3-4.08.00.01/rc.pvr
 create mode 100755 recipes-graphics/libgles/libgles-omap3-4.08.00.01/rc_dri.pvr
 create mode 100644 recipes-graphics/libgles/libgles-omap3_4.08.00.01.bb

diff --git a/recipes-graphics/libgles/libgles-omap3-4.08.00.01/rc.pvr b/recipes-graphics/libgles/libgles-omap3-4.08.00.01/rc.pvr
new file mode 100755
index 0000000..7b5cefa
--- /dev/null
+++ b/recipes-graphics/libgles/libgles-omap3-4.08.00.01/rc.pvr
@@ -0,0 +1,124 @@
+#!/bin/sh
+PATH=$PATH:/usr/sbin
+
+# Check if an fb device is available.  If not then just go ahead and
+# exit because we have no display.
+fbset > /dev/null 2>&1
+if [ "$?" == "1" ]
+then
+    # looks like there is no display, so let's exit
+    exit 0
+fi
+
+BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
+YRES="$(fbset | grep geom | awk '{print $3}')"
+
+CPUTYPE="$(cputype)"
+
+if [ "$1" = "" ]; then
+	echo PVR-INIT: Please use start, stop, or restart.
+	exit 1
+fi
+
+if [ "$1" = "stop" -o  "$1" = "restart" ]; then
+	echo Stopping PVR
+	rmmod bufferclass_ti
+	rmmod omaplfb 2>/dev/null
+	rmmod pvrsrvkm 2>/dev/null
+fi
+
+if [ "$1" = "stop" ]; then
+	exit 0
+fi
+
+# Set RGBA ordering to something the drivers like
+if [ "$BITSPERPIXEL" = "32" ] ; then
+	fbset -rgba 8/16,8/8,8/0,8/24
+fi
+
+# Try to enable triple buffering when there's enough VRAM
+fbset -vyres $(expr $YRES \* 3)
+
+sgxprepare () {
+	echo Starting PVR
+	insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
+
+    if [ "$?" != "0" ]
+    then
+        echo "Could not find pvrsrvkm driver"
+        exit 1
+    fi
+
+	modprobe omaplfb
+	modprobe bufferclass_ti
+
+	pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
+        bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
+
+	if [ -e /dev/pvrsrvkm ] ; then
+		rm -f /dev/pvrsrvkm
+	fi
+
+	mknod /dev/pvrsrvkm c $pvr_maj 0
+	chmod 666 /dev/pvrsrvkm
+
+	touch /etc/powervr-esrev
+
+	SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
+}
+
+sgxfinish () {
+	# Fix up a bug in opkg
+	if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
+		cd /usr/lib
+		ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
+	fi
+
+	if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
+		echo -n "Starting SGX fixup for"
+		echo " ES${ES_REVISION}.x"
+		cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
+		cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
+		echo "${ES_REVISION}" > /etc/powervr-esrev
+	fi
+
+	if ! /usr/bin/pvrsrvctl --start --no-module; then return; fi 
+}
+
+case $CPUTYPE in
+"OMAP3530")
+	sgxprepare
+
+	devmem2 0x48004B48 w 0x2 > /dev/null
+	devmem2 0x48004B10 w 0x1 > /dev/null
+	devmem2 0x48004B00 w 0x2 > /dev/null
+
+	ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
+
+	sgxfinish
+	;;
+"TI33XX")
+	sgxprepare
+
+	devmem2 0x44e01104 w 0x0 > /dev/null
+	devmem2 0x44e00904 w 0x2 > /dev/null
+
+	ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
+
+	sgxfinish
+	;;
+"TI816x")
+	sgxprepare
+
+	devmem2 0x48180F04 w 0x0 > /dev/null
+	devmem2 0x48180900 w 0x2 > /dev/null
+	devmem2 0x48180920 w 0x2 > /dev/null
+
+	ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
+
+	sgxfinish
+	;;
+*)
+	echo No SGX hardware, not starting PVR
+	;;
+esac
diff --git a/recipes-graphics/libgles/libgles-omap3-4.08.00.01/rc_dri.pvr b/recipes-graphics/libgles/libgles-omap3-4.08.00.01/rc_dri.pvr
new file mode 100755
index 0000000..dd1e942
--- /dev/null
+++ b/recipes-graphics/libgles/libgles-omap3-4.08.00.01/rc_dri.pvr
@@ -0,0 +1,136 @@
+#!/bin/sh
+PATH=$PATH:/usr/sbin
+
+# Check if an fb device is available.  If not then just go ahead and
+# exit because we have no display.
+fbset > /dev/null 2>&1
+if [ "$?" == "1" ]
+then
+    # looks like there is no display, so let's exit
+    exit 0
+fi
+
+BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
+YRES="$(fbset | grep geom | awk '{print $3}')"
+
+CPUTYPE="$(cputype)"
+
+if [ "$1" = "" ]; then
+	echo PVR-INIT: Please use start, stop, or restart.
+	exit 1
+fi
+
+if [ "$1" = "stop" -o  "$1" = "restart" ]; then
+	echo Stopping PVR
+
+	# Stop the X Server.
+	#
+	[ -f /tmp/.X0-lock ] && read XPID < /tmp/.X0-lock && [ -n "$XPID" ] && kill $XPID && while [ -e /proc/$XPID ] ; do sleep 1; done
+
+	rmmod bufferclass_ti
+	rmmod pvrsrvkm 2>/dev/null
+    rmmod drm 2>/dev/null
+fi
+
+if [ "$1" = "stop" ]; then
+	exit 0
+fi
+
+# Set RGBA ordering to something the drivers like
+if [ "$BITSPERPIXEL" = "32" ] ; then
+	fbset -rgba 8/16,8/8,8/0,8/24
+fi
+
+# Try to enable triple buffering when there's enough VRAM
+fbset -vyres $(expr $YRES \* 3)
+
+sgxprepare () {
+	echo Starting PVR
+
+	# Start the X Server. 
+	# The X Server will load the PVR Services module.
+	#
+	/usr/local/XSGX/bin/X -verbose -config /usr/local/XSGX/etc/xorg.conf &
+
+	modprobe drm
+
+	insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
+
+    if [ "$?" != "0" ]
+    then
+        echo "Could not find pvrsrvkm driver"
+        exit 1
+    fi
+
+	modprobe bufferclass_ti
+
+	pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
+        bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
+
+	if [ -e /dev/pvrsrvkm ] ; then
+		rm -f /dev/pvrsrvkm
+	fi
+
+	mknod /dev/pvrsrvkm c $pvr_maj 0
+	chmod 666 /dev/pvrsrvkm
+
+	touch /etc/powervr-esrev
+
+	SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
+}
+
+sgxfinish () {
+	# Fix up a bug in opkg
+	if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
+		cd /usr/lib
+		ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
+	fi
+
+	if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
+		echo -n "Starting SGX fixup for"
+		echo " ES${ES_REVISION}.x"
+		cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
+		cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
+		echo "${ES_REVISION}" > /etc/powervr-esrev
+	fi
+
+	if ! /usr/bin/pvrsrvctl --start --no-module; then return; fi 
+}
+
+case $CPUTYPE in
+"OMAP3530")
+	sgxprepare
+
+	devmem2 0x48004B48 w 0x2 > /dev/null
+	devmem2 0x48004B10 w 0x1 > /dev/null
+	devmem2 0x48004B00 w 0x2 > /dev/null
+
+	ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
+
+	sgxfinish
+	;;
+"TI33XX")
+	sgxprepare
+
+	devmem2 0x44e01104 w 0x0 > /dev/null
+	devmem2 0x44e00904 w 0x2 > /dev/null
+
+	ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
+
+	sgxfinish
+	;;
+"TI816x")
+	sgxprepare
+
+	devmem2 0x48180F04 w 0x0 > /dev/null
+	devmem2 0x48180900 w 0x2 > /dev/null
+	devmem2 0x48180920 w 0x2 > /dev/null
+
+	ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
+
+	sgxfinish
+	;;
+*)
+	echo No SGX hardware, not starting PVR
+	;;
+esac
diff --git a/recipes-graphics/libgles/libgles-omap3_4.08.00.01.bb b/recipes-graphics/libgles/libgles-omap3_4.08.00.01.bb
new file mode 100644
index 0000000..5a82e68
--- /dev/null
+++ b/recipes-graphics/libgles/libgles-omap3_4.08.00.01.bb
@@ -0,0 +1,74 @@
+require libgles-omap3.inc
+
+DEFAULT_PREFERENCE = "-1"
+
+BINLOCATION_omap3  = "${S}/gfx_rel_es3.x"
+BINLOCATION_ti816x = "${S}/gfx_rel_es6.x"
+BINLOCATION_ti814x = "${S}/gfx_rel_es6.x"
+BINLOCATION_ti33x = "${S}/gfx_rel_es8.x"
+
+PLATFORM = "LinuxARMV7"
+PVR_INIT = "pvrsrvctl"
+
+# download required binary distribution from:
+# http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/latest/index_FDS.html
+# see libgles-omap3.inc for detailed installation instructions
+gedit 
+SGXPV = "4_08_00_01"
+IMGPV = "1.7.867897"
+BINFILE = "Graphics_SDK_setuplinux_${SGXPV}.bin"
+TI_BIN_UNPK_WDEXT := "/Graphics_SDK_${SGXPV}"
+SRC_URI = "<ti-internal-url>/Graphics_SDK_setuplinux_4_08_00_01.bin \
+           file://cputype \
+           file://rc.pvr \
+           file://rc_dri.pvr \
+           file://sample.desktop \
+           file://99-bufferclass.rules  \
+"
+
+SRC_URI[md5sum] = "95b8f02923d6ea52ea104fa3d93ce1f0"
+SRC_URI[sha256sum] = "1db2d46ec3c6a97db146357841e02a95a15be658c2297dc571e6e61b32238561"
+
+S = "${WORKDIR}/Graphics_SDK_${SGXPV}"
+
+LIBGLESWINDOWSYSTEM ?= "${@base_contains('DISTRO_FEATURES', 'x11',"libpvrPVR2D_DRIWSEGL.so" ,"libpvrPVR2D_FRONTWSEGL.so.1", d)}"
+
+do_configure_append() {
+
+	# Change PVR server's user mode library to point to DRI
+	for drifile in $(find ${S} -name "libsrv_um_dri.so"); do
+	if [ "$drifile" != "" ]
+	then
+		dir=$(dirname ${drifile})
+		if [ "$SUPPORT_XORG" = "1" ]
+		then
+		    mv ${dir}/libsrv_um_dri.so ${dir}/libsrv_um.so
+		else
+		    rm -rf ${dir}/libsrv_um_dri.so
+		fi
+	fi
+
+	done
+}
+
+do_install_append() {
+
+    # In this version of the graphics SDK the following directories do not exist:
+    #    /GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/Include/pvr2d.h (doesn't exist)
+    #    /GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/Include/GLES/egltypes.h (doesn't exist)
+    # Therefore, need to copy these files manually at the only location that they do exist
+    cp -pPr ${S}/include/pvr2d/*.h ${D}${includedir} || true
+    cp -pPr ${S}/include/OGLES/GLES ${D}${includedir}/ || true
+
+    rm ${D}${sysconfdir}/init.d/pvr-init
+
+    if [ "$SUPPORT_XORG" = "1" ]; then
+	    cp -pP ${WORKDIR}/rc_dri.pvr ${D}${sysconfdir}/init.d/pvr-init
+	else
+	    cp -pP ${WORKDIR}/rc.pvr ${D}${sysconfdir}/init.d/pvr-init
+	fi
+
+}
+
+RRECOMMENDS_${PN}-x11demos = "${PN}-driwsegl"
+RRECOMMENDS_${PN}-x11trainingcourses = "${PN}-driwsegl"
-- 
1.7.0.4



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/2][for-comments] omap3-sgx-modules: Add v4.08.00.01 of the SGX modules
  2012-10-10  4:28 [PATCH 1/2][for-comments] libgles-omap3: Add updated Graphics SDK Franklin S. Cooper Jr
@ 2012-10-10  4:28 ` Franklin S. Cooper Jr
  2012-10-10 15:55   ` Maupin, Chase
  2012-10-10  4:39 ` [PATCH 1/2][for-comments] libgles-omap3: Add updated Graphics SDK Cooper Jr., Franklin
  2012-10-10 15:48 ` Maupin, Chase
  2 siblings, 1 reply; 10+ messages in thread
From: Franklin S. Cooper Jr @ 2012-10-10  4:28 UTC (permalink / raw)
  To: meta-ti

* Add version 4.08.00.01 of the SGX modules.

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
---
 .../omap3-sgx-modules_4.08.00.01.bb                |   55 ++++++++++++++++++++
 1 files changed, 55 insertions(+), 0 deletions(-)
 create mode 100644 recipes-bsp/powervr-drivers/omap3-sgx-modules_4.08.00.01.bb

diff --git a/recipes-bsp/powervr-drivers/omap3-sgx-modules_4.08.00.01.bb b/recipes-bsp/powervr-drivers/omap3-sgx-modules_4.08.00.01.bb
new file mode 100644
index 0000000..f45934f
--- /dev/null
+++ b/recipes-bsp/powervr-drivers/omap3-sgx-modules_4.08.00.01.bb
@@ -0,0 +1,55 @@
+DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ea5743acf520dd81ca172e69f818a3d4"
+
+TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
+require ../../recipes-ti/includes/ti-eula-unpack.inc
+
+SGXPV = "4_08_00_01"
+IMGPV = "1.7.867897"
+BINFILE = "Graphics_SDK_setuplinux_${SGXPV}.bin"
+
+inherit module
+
+MACHINE_KERNEL_PR_append = "a"
+PR = "${MACHINE_KERNEL_PR}"
+
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "<ti-internal-url>/Graphics_SDK_setuplinux_4_08_00_01.bin"
+SRC_URI[md5sum] = "95b8f02923d6ea52ea104fa3d93ce1f0"
+SRC_URI[sha256sum] = "1db2d46ec3c6a97db146357841e02a95a15be658c2297dc571e6e61b32238561"
+
+TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
+S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
+
+PVRBUILD = "release"
+export KERNELDIR = "${STAGING_KERNEL_DIR}"
+
+INHIBIT_PACKAGE_STRIP = "1"
+
+TI_PLATFORM_omap3 = "omap3630"
+TI_PLATFORM_ti814x = "ti81xx"
+TI_PLATFORM_ti816x = "ti81xx"
+TI_PLATFORM_ti33x = "ti335x"
+
+MODULESLOCATION_omap3 = "dc_omapfb3_linux"
+MODULESLOCATION_ti814x = "dc_ti81xx_linux"
+MODULESLOCATION_ti816x = "dc_ti81xx_linux"
+MODULESLOCATION_ti33x = "dc_ti335x_linux"
+
+export SUPPORT_XORG ?= "${@base_contains('DISTRO_FEATURES', 'x11', '1', '0', d)}"
+
+MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=${SUPPORT_XORG}"
+
+do_install() {
+    mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
+    cp  ${S}/pvrsrvkm.ko \
+        ${S}/services4/3rdparty/${MODULESLOCATION}/omaplfb.ko  \
+        ${S}/services4/3rdparty/bufferclass_ti/bufferclass_ti.ko \
+        ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
+
+	if [ "${SUPPORT_XORG}" = "1" ]; then
+	    cp ${S}/services4/3rdparty/linux_drm/drm.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
+	fi
+}
-- 
1.7.0.4



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2][for-comments] libgles-omap3: Add updated Graphics SDK
  2012-10-10  4:28 [PATCH 1/2][for-comments] libgles-omap3: Add updated Graphics SDK Franklin S. Cooper Jr
  2012-10-10  4:28 ` [PATCH 2/2][for-comments] omap3-sgx-modules: Add v4.08.00.01 of the SGX modules Franklin S. Cooper Jr
@ 2012-10-10  4:39 ` Cooper Jr., Franklin
  2012-10-10 15:48 ` Maupin, Chase
  2 siblings, 0 replies; 10+ messages in thread
From: Cooper Jr., Franklin @ 2012-10-10  4:39 UTC (permalink / raw)
  To: Franklin S. Cooper Jr, meta-ti

I am currently working on a recipe for the beta version of the next Graphics SDK release and I want initial feedback. Right now these recipes will not work since I need to work with our graphics team to provide an externally accessible url  to the Graphics SDK. Once I get a link, I will send a v2 patch that will allow everyone to be able to actually build these recipes. 

This version of the Graphics SDK  no longer uses pvrsrvinit but uses pvrsrvctl instead. This is why I created a new rc.pvr file that incorporates that change.

The biggest change is the switch to the DRI/DRM Xorg driver for X11 distros. This switch is something that will eventually be made but I understand there are things that need to be tweaked or fixed to ensure X11 distros will work properly with this switch. I also created a rc_dri.pvr file which has a minor tweak to use the DRI/DRM driver. The DEFAULT_PREFERENCE is currently set to -1 for this recipe and the matching omap3-sgx-modules recipe. My focus is on the Arago distribution, which is an non X11 based distro. This means I will need the community's help to insure everything is ok for X11 distros.

Feedback is appreciated and if there are any questions or concerns please let me know.

Release notes for this beta SDK release can be found here: http://processors.wiki.ti.com/index.php/RN_4_08_00_01

-----Original Message-----
From: Franklin S. Cooper Jr [mailto:fcooperjr27@gmail.com] 
Sent: Tuesday, October 09, 2012 11:28 PM
To: meta-ti@yoctoproject.org
Cc: Cooper Jr., Franklin
Subject: [PATCH 1/2][for-comments] libgles-omap3: Add updated Graphics SDK

* Add version v4.08.00.01 of the Graphics SDK.
* Add X11 support via DRI/DRM Xorg driver
* Replace pvrsrvinit with pvrsrvctl (Imagination Technologies based change)

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
---
 .../libgles/libgles-omap3-4.08.00.01/rc.pvr        |  124 ++++++++++++++++++
 .../libgles/libgles-omap3-4.08.00.01/rc_dri.pvr    |  136 ++++++++++++++++++++
 .../libgles/libgles-omap3_4.08.00.01.bb            |   74 +++++++++++
 3 files changed, 334 insertions(+), 0 deletions(-)  create mode 100755 recipes-graphics/libgles/libgles-omap3-4.08.00.01/rc.pvr
 create mode 100755 recipes-graphics/libgles/libgles-omap3-4.08.00.01/rc_dri.pvr
 create mode 100644 recipes-graphics/libgles/libgles-omap3_4.08.00.01.bb

diff --git a/recipes-graphics/libgles/libgles-omap3-4.08.00.01/rc.pvr b/recipes-graphics/libgles/libgles-omap3-4.08.00.01/rc.pvr
new file mode 100755
index 0000000..7b5cefa
--- /dev/null
+++ b/recipes-graphics/libgles/libgles-omap3-4.08.00.01/rc.pvr
@@ -0,0 +1,124 @@
+#!/bin/sh
+PATH=$PATH:/usr/sbin
+
+# Check if an fb device is available.  If not then just go ahead and # 
+exit because we have no display.
+fbset > /dev/null 2>&1
+if [ "$?" == "1" ]
+then
+    # looks like there is no display, so let's exit
+    exit 0
+fi
+
+BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
+YRES="$(fbset | grep geom | awk '{print $3}')"
+
+CPUTYPE="$(cputype)"
+
+if [ "$1" = "" ]; then
+	echo PVR-INIT: Please use start, stop, or restart.
+	exit 1
+fi
+
+if [ "$1" = "stop" -o  "$1" = "restart" ]; then
+	echo Stopping PVR
+	rmmod bufferclass_ti
+	rmmod omaplfb 2>/dev/null
+	rmmod pvrsrvkm 2>/dev/null
+fi
+
+if [ "$1" = "stop" ]; then
+	exit 0
+fi
+
+# Set RGBA ordering to something the drivers like if [ "$BITSPERPIXEL" 
+= "32" ] ; then
+	fbset -rgba 8/16,8/8,8/0,8/24
+fi
+
+# Try to enable triple buffering when there's enough VRAM fbset -vyres 
+$(expr $YRES \* 3)
+
+sgxprepare () {
+	echo Starting PVR
+	insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
+
+    if [ "$?" != "0" ]
+    then
+        echo "Could not find pvrsrvkm driver"
+        exit 1
+    fi
+
+	modprobe omaplfb
+	modprobe bufferclass_ti
+
+	pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
+        bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
+
+	if [ -e /dev/pvrsrvkm ] ; then
+		rm -f /dev/pvrsrvkm
+	fi
+
+	mknod /dev/pvrsrvkm c $pvr_maj 0
+	chmod 666 /dev/pvrsrvkm
+
+	touch /etc/powervr-esrev
+
+	SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
+}
+
+sgxfinish () {
+	# Fix up a bug in opkg
+	if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
+		cd /usr/lib
+		ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
+	fi
+
+	if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
+		echo -n "Starting SGX fixup for"
+		echo " ES${ES_REVISION}.x"
+		cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
+		cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
+		echo "${ES_REVISION}" > /etc/powervr-esrev
+	fi
+
+	if ! /usr/bin/pvrsrvctl --start --no-module; then return; fi }
+
+case $CPUTYPE in
+"OMAP3530")
+	sgxprepare
+
+	devmem2 0x48004B48 w 0x2 > /dev/null
+	devmem2 0x48004B10 w 0x1 > /dev/null
+	devmem2 0x48004B00 w 0x2 > /dev/null
+
+	ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
+
+	sgxfinish
+	;;
+"TI33XX")
+	sgxprepare
+
+	devmem2 0x44e01104 w 0x0 > /dev/null
+	devmem2 0x44e00904 w 0x2 > /dev/null
+
+	ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
+
+	sgxfinish
+	;;
+"TI816x")
+	sgxprepare
+
+	devmem2 0x48180F04 w 0x0 > /dev/null
+	devmem2 0x48180900 w 0x2 > /dev/null
+	devmem2 0x48180920 w 0x2 > /dev/null
+
+	ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
+
+	sgxfinish
+	;;
+*)
+	echo No SGX hardware, not starting PVR
+	;;
+esac
diff --git a/recipes-graphics/libgles/libgles-omap3-4.08.00.01/rc_dri.pvr b/recipes-graphics/libgles/libgles-omap3-4.08.00.01/rc_dri.pvr
new file mode 100755
index 0000000..dd1e942
--- /dev/null
+++ b/recipes-graphics/libgles/libgles-omap3-4.08.00.01/rc_dri.pvr
@@ -0,0 +1,136 @@
+#!/bin/sh
+PATH=$PATH:/usr/sbin
+
+# Check if an fb device is available.  If not then just go ahead and # 
+exit because we have no display.
+fbset > /dev/null 2>&1
+if [ "$?" == "1" ]
+then
+    # looks like there is no display, so let's exit
+    exit 0
+fi
+
+BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
+YRES="$(fbset | grep geom | awk '{print $3}')"
+
+CPUTYPE="$(cputype)"
+
+if [ "$1" = "" ]; then
+	echo PVR-INIT: Please use start, stop, or restart.
+	exit 1
+fi
+
+if [ "$1" = "stop" -o  "$1" = "restart" ]; then
+	echo Stopping PVR
+
+	# Stop the X Server.
+	#
+	[ -f /tmp/.X0-lock ] && read XPID < /tmp/.X0-lock && [ -n "$XPID" ] && 
+kill $XPID && while [ -e /proc/$XPID ] ; do sleep 1; done
+
+	rmmod bufferclass_ti
+	rmmod pvrsrvkm 2>/dev/null
+    rmmod drm 2>/dev/null
+fi
+
+if [ "$1" = "stop" ]; then
+	exit 0
+fi
+
+# Set RGBA ordering to something the drivers like if [ "$BITSPERPIXEL" 
+= "32" ] ; then
+	fbset -rgba 8/16,8/8,8/0,8/24
+fi
+
+# Try to enable triple buffering when there's enough VRAM fbset -vyres 
+$(expr $YRES \* 3)
+
+sgxprepare () {
+	echo Starting PVR
+
+	# Start the X Server. 
+	# The X Server will load the PVR Services module.
+	#
+	/usr/local/XSGX/bin/X -verbose -config /usr/local/XSGX/etc/xorg.conf &
+
+	modprobe drm
+
+	insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
+
+    if [ "$?" != "0" ]
+    then
+        echo "Could not find pvrsrvkm driver"
+        exit 1
+    fi
+
+	modprobe bufferclass_ti
+
+	pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
+        bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
+
+	if [ -e /dev/pvrsrvkm ] ; then
+		rm -f /dev/pvrsrvkm
+	fi
+
+	mknod /dev/pvrsrvkm c $pvr_maj 0
+	chmod 666 /dev/pvrsrvkm
+
+	touch /etc/powervr-esrev
+
+	SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
+}
+
+sgxfinish () {
+	# Fix up a bug in opkg
+	if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
+		cd /usr/lib
+		ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
+	fi
+
+	if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
+		echo -n "Starting SGX fixup for"
+		echo " ES${ES_REVISION}.x"
+		cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
+		cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
+		echo "${ES_REVISION}" > /etc/powervr-esrev
+	fi
+
+	if ! /usr/bin/pvrsrvctl --start --no-module; then return; fi }
+
+case $CPUTYPE in
+"OMAP3530")
+	sgxprepare
+
+	devmem2 0x48004B48 w 0x2 > /dev/null
+	devmem2 0x48004B10 w 0x1 > /dev/null
+	devmem2 0x48004B00 w 0x2 > /dev/null
+
+	ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
+
+	sgxfinish
+	;;
+"TI33XX")
+	sgxprepare
+
+	devmem2 0x44e01104 w 0x0 > /dev/null
+	devmem2 0x44e00904 w 0x2 > /dev/null
+
+	ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
+
+	sgxfinish
+	;;
+"TI816x")
+	sgxprepare
+
+	devmem2 0x48180F04 w 0x0 > /dev/null
+	devmem2 0x48180900 w 0x2 > /dev/null
+	devmem2 0x48180920 w 0x2 > /dev/null
+
+	ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
+
+	sgxfinish
+	;;
+*)
+	echo No SGX hardware, not starting PVR
+	;;
+esac
diff --git a/recipes-graphics/libgles/libgles-omap3_4.08.00.01.bb b/recipes-graphics/libgles/libgles-omap3_4.08.00.01.bb
new file mode 100644
index 0000000..5a82e68
--- /dev/null
+++ b/recipes-graphics/libgles/libgles-omap3_4.08.00.01.bb
@@ -0,0 +1,74 @@
+require libgles-omap3.inc
+
+DEFAULT_PREFERENCE = "-1"
+
+BINLOCATION_omap3  = "${S}/gfx_rel_es3.x"
+BINLOCATION_ti816x = "${S}/gfx_rel_es6.x"
+BINLOCATION_ti814x = "${S}/gfx_rel_es6.x"
+BINLOCATION_ti33x = "${S}/gfx_rel_es8.x"
+
+PLATFORM = "LinuxARMV7"
+PVR_INIT = "pvrsrvctl"
+
+# download required binary distribution from:
+# 
+http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxs
+dk/latest/index_FDS.html # see libgles-omap3.inc for detailed 
+installation instructions gedit SGXPV = "4_08_00_01"
+IMGPV = "1.7.867897"
+BINFILE = "Graphics_SDK_setuplinux_${SGXPV}.bin"
+TI_BIN_UNPK_WDEXT := "/Graphics_SDK_${SGXPV}"
+SRC_URI = "<ti-internal-url>/Graphics_SDK_setuplinux_4_08_00_01.bin \
+           file://cputype \
+           file://rc.pvr \
+           file://rc_dri.pvr \
+           file://sample.desktop \
+           file://99-bufferclass.rules  \ "
+
+SRC_URI[md5sum] = "95b8f02923d6ea52ea104fa3d93ce1f0"
+SRC_URI[sha256sum] = "1db2d46ec3c6a97db146357841e02a95a15be658c2297dc571e6e61b32238561"
+
+S = "${WORKDIR}/Graphics_SDK_${SGXPV}"
+
+LIBGLESWINDOWSYSTEM ?= "${@base_contains('DISTRO_FEATURES', 'x11',"libpvrPVR2D_DRIWSEGL.so" ,"libpvrPVR2D_FRONTWSEGL.so.1", d)}"
+
+do_configure_append() {
+
+	# Change PVR server's user mode library to point to DRI
+	for drifile in $(find ${S} -name "libsrv_um_dri.so"); do
+	if [ "$drifile" != "" ]
+	then
+		dir=$(dirname ${drifile})
+		if [ "$SUPPORT_XORG" = "1" ]
+		then
+		    mv ${dir}/libsrv_um_dri.so ${dir}/libsrv_um.so
+		else
+		    rm -rf ${dir}/libsrv_um_dri.so
+		fi
+	fi
+
+	done
+}
+
+do_install_append() {
+
+    # In this version of the graphics SDK the following directories do not exist:
+    #    /GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/Include/pvr2d.h (doesn't exist)
+    #    /GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/Include/GLES/egltypes.h (doesn't exist)
+    # Therefore, need to copy these files manually at the only location that they do exist
+    cp -pPr ${S}/include/pvr2d/*.h ${D}${includedir} || true
+    cp -pPr ${S}/include/OGLES/GLES ${D}${includedir}/ || true
+
+    rm ${D}${sysconfdir}/init.d/pvr-init
+
+    if [ "$SUPPORT_XORG" = "1" ]; then
+	    cp -pP ${WORKDIR}/rc_dri.pvr ${D}${sysconfdir}/init.d/pvr-init
+	else
+	    cp -pP ${WORKDIR}/rc.pvr ${D}${sysconfdir}/init.d/pvr-init
+	fi
+
+}
+
+RRECOMMENDS_${PN}-x11demos = "${PN}-driwsegl"
+RRECOMMENDS_${PN}-x11trainingcourses = "${PN}-driwsegl"
--
1.7.0.4



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2][for-comments] libgles-omap3: Add updated Graphics SDK
  2012-10-10  4:28 [PATCH 1/2][for-comments] libgles-omap3: Add updated Graphics SDK Franklin S. Cooper Jr
  2012-10-10  4:28 ` [PATCH 2/2][for-comments] omap3-sgx-modules: Add v4.08.00.01 of the SGX modules Franklin S. Cooper Jr
  2012-10-10  4:39 ` [PATCH 1/2][for-comments] libgles-omap3: Add updated Graphics SDK Cooper Jr., Franklin
@ 2012-10-10 15:48 ` Maupin, Chase
  2012-10-10 15:52   ` Denys Dmytriyenko
  2 siblings, 1 reply; 10+ messages in thread
From: Maupin, Chase @ 2012-10-10 15:48 UTC (permalink / raw)
  To: Franklin S. Cooper Jr, meta-ti

> -----Original Message-----
> From: meta-ti-bounces@yoctoproject.org [mailto:meta-ti-
> bounces@yoctoproject.org] On Behalf Of Franklin S. Cooper Jr
> Sent: Tuesday, October 09, 2012 11:28 PM
> To: meta-ti@yoctoproject.org
> Subject: [meta-ti] [PATCH 1/2][for-comments] libgles-omap3: Add
> updated Graphics SDK
> 
> * Add version v4.08.00.01 of the Graphics SDK.
> * Add X11 support via DRI/DRM Xorg driver
> * Replace pvrsrvinit with pvrsrvctl (Imagination Technologies
> based change)
> 
> Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
> ---
>  .../libgles/libgles-omap3-4.08.00.01/rc.pvr        |  124
> ++++++++++++++++++
>  .../libgles/libgles-omap3-4.08.00.01/rc_dri.pvr    |  136
> ++++++++++++++++++++
>  .../libgles/libgles-omap3_4.08.00.01.bb            |   74
> +++++++++++
>  3 files changed, 334 insertions(+), 0 deletions(-)
>  create mode 100755 recipes-graphics/libgles/libgles-omap3-
> 4.08.00.01/rc.pvr
>  create mode 100755 recipes-graphics/libgles/libgles-omap3-
> 4.08.00.01/rc_dri.pvr
>  create mode 100644 recipes-graphics/libgles/libgles-
> omap3_4.08.00.01.bb
> 
> diff --git a/recipes-graphics/libgles/libgles-omap3-
> 4.08.00.01/rc.pvr b/recipes-graphics/libgles/libgles-omap3-
> 4.08.00.01/rc.pvr
> new file mode 100755
> index 0000000..7b5cefa
> --- /dev/null
> +++ b/recipes-graphics/libgles/libgles-omap3-4.08.00.01/rc.pvr
> @@ -0,0 +1,124 @@

Can you use --find-copies-harder to find similar files?

> +#!/bin/sh
> +PATH=$PATH:/usr/sbin
> +
> +# Check if an fb device is available.  If not then just go ahead
> and
> +# exit because we have no display.
> +fbset > /dev/null 2>&1
> +if [ "$?" == "1" ]
> +then
> +    # looks like there is no display, so let's exit
> +    exit 0
> +fi
> +
> +BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
> +YRES="$(fbset | grep geom | awk '{print $3}')"
> +
> +CPUTYPE="$(cputype)"
> +
> +if [ "$1" = "" ]; then
> +	echo PVR-INIT: Please use start, stop, or restart.
> +	exit 1
> +fi
> +
> +if [ "$1" = "stop" -o  "$1" = "restart" ]; then
> +	echo Stopping PVR
> +	rmmod bufferclass_ti
> +	rmmod omaplfb 2>/dev/null
> +	rmmod pvrsrvkm 2>/dev/null
> +fi
> +
> +if [ "$1" = "stop" ]; then
> +	exit 0
> +fi
> +
> +# Set RGBA ordering to something the drivers like
> +if [ "$BITSPERPIXEL" = "32" ] ; then
> +	fbset -rgba 8/16,8/8,8/0,8/24
> +fi
> +
> +# Try to enable triple buffering when there's enough VRAM
> +fbset -vyres $(expr $YRES \* 3)
> +
> +sgxprepare () {
> +	echo Starting PVR
> +	insmod $(busybox find /lib/modules/$(uname -r) -name
> "pvrsrvkm.ko")
> +
> +    if [ "$?" != "0" ]
> +    then
> +        echo "Could not find pvrsrvkm driver"
> +        exit 1
> +    fi
> +
> +	modprobe omaplfb
> +	modprobe bufferclass_ti
> +
> +	pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
> +        bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
> +
> +	if [ -e /dev/pvrsrvkm ] ; then
> +		rm -f /dev/pvrsrvkm
> +	fi
> +
> +	mknod /dev/pvrsrvkm c $pvr_maj 0
> +	chmod 666 /dev/pvrsrvkm
> +
> +	touch /etc/powervr-esrev
> +
> +	SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
> +}
> +
> +sgxfinish () {
> +	# Fix up a bug in opkg
> +	if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink
> /usr/lib/libsrv_um.so.1) ] ; then
> +		cd /usr/lib
> +		ln -sf $(readlink /usr/lib/libsrv_um.so.1)
> libsrv_um.so
> +	fi
> +
> +	if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
> +		echo -n "Starting SGX fixup for"
> +		echo " ES${ES_REVISION}.x"
> +		cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
> +		cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
> +		echo "${ES_REVISION}" > /etc/powervr-esrev
> +	fi
> +
> +	if ! /usr/bin/pvrsrvctl --start --no-module; then return;
> fi
> +}
> +
> +case $CPUTYPE in
> +"OMAP3530")
> +	sgxprepare
> +
> +	devmem2 0x48004B48 w 0x2 > /dev/null
> +	devmem2 0x48004B10 w 0x1 > /dev/null
> +	devmem2 0x48004B00 w 0x2 > /dev/null
> +
> +	ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5:
> -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': '
> '{print $2}')"
> +
> +	sgxfinish
> +	;;
> +"TI33XX")
> +	sgxprepare
> +
> +	devmem2 0x44e01104 w 0x0 > /dev/null
> +	devmem2 0x44e00904 w 0x2 > /dev/null
> +
> +	ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8:
> | tail -n1 | awk -F': ' '{print $2}')"
> +
> +	sgxfinish
> +	;;
> +"TI816x")
> +	sgxprepare
> +
> +	devmem2 0x48180F04 w 0x0 > /dev/null
> +	devmem2 0x48180900 w 0x2 > /dev/null
> +	devmem2 0x48180920 w 0x2 > /dev/null
> +
> +	ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6:
> -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': '
> '{print $2}')"
> +
> +	sgxfinish
> +	;;
> +*)
> +	echo No SGX hardware, not starting PVR
> +	;;
> +esac
> diff --git a/recipes-graphics/libgles/libgles-omap3-
> 4.08.00.01/rc_dri.pvr b/recipes-graphics/libgles/libgles-omap3-
> 4.08.00.01/rc_dri.pvr
> new file mode 100755
> index 0000000..dd1e942
> --- /dev/null
> +++ b/recipes-graphics/libgles/libgles-omap3-
> 4.08.00.01/rc_dri.pvr
> @@ -0,0 +1,136 @@
> +#!/bin/sh
> +PATH=$PATH:/usr/sbin
> +
> +# Check if an fb device is available.  If not then just go ahead
> and
> +# exit because we have no display.
> +fbset > /dev/null 2>&1
> +if [ "$?" == "1" ]
> +then
> +    # looks like there is no display, so let's exit
> +    exit 0
> +fi
> +
> +BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
> +YRES="$(fbset | grep geom | awk '{print $3}')"
> +
> +CPUTYPE="$(cputype)"
> +
> +if [ "$1" = "" ]; then
> +	echo PVR-INIT: Please use start, stop, or restart.
> +	exit 1
> +fi
> +
> +if [ "$1" = "stop" -o  "$1" = "restart" ]; then
> +	echo Stopping PVR
> +
> +	# Stop the X Server.
> +	#
> +	[ -f /tmp/.X0-lock ] && read XPID < /tmp/.X0-lock && [ -n
> "$XPID" ] && kill $XPID && while [ -e /proc/$XPID ] ; do sleep 1;
> done
> +
> +	rmmod bufferclass_ti
> +	rmmod pvrsrvkm 2>/dev/null
> +    rmmod drm 2>/dev/null
> +fi
> +
> +if [ "$1" = "stop" ]; then
> +	exit 0
> +fi
> +
> +# Set RGBA ordering to something the drivers like
> +if [ "$BITSPERPIXEL" = "32" ] ; then
> +	fbset -rgba 8/16,8/8,8/0,8/24
> +fi
> +
> +# Try to enable triple buffering when there's enough VRAM
> +fbset -vyres $(expr $YRES \* 3)
> +
> +sgxprepare () {
> +	echo Starting PVR
> +
> +	# Start the X Server.
> +	# The X Server will load the PVR Services module.
> +	#
> +	/usr/local/XSGX/bin/X -verbose -config
> /usr/local/XSGX/etc/xorg.conf &
> +
> +	modprobe drm
> +
> +	insmod $(busybox find /lib/modules/$(uname -r) -name
> "pvrsrvkm.ko")
> +
> +    if [ "$?" != "0" ]
> +    then
> +        echo "Could not find pvrsrvkm driver"
> +        exit 1
> +    fi
> +
> +	modprobe bufferclass_ti
> +
> +	pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
> +        bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
> +
> +	if [ -e /dev/pvrsrvkm ] ; then
> +		rm -f /dev/pvrsrvkm
> +	fi
> +
> +	mknod /dev/pvrsrvkm c $pvr_maj 0
> +	chmod 666 /dev/pvrsrvkm
> +
> +	touch /etc/powervr-esrev
> +
> +	SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
> +}
> +
> +sgxfinish () {
> +	# Fix up a bug in opkg
> +	if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink
> /usr/lib/libsrv_um.so.1) ] ; then
> +		cd /usr/lib
> +		ln -sf $(readlink /usr/lib/libsrv_um.so.1)
> libsrv_um.so
> +	fi
> +
> +	if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
> +		echo -n "Starting SGX fixup for"
> +		echo " ES${ES_REVISION}.x"
> +		cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
> +		cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
> +		echo "${ES_REVISION}" > /etc/powervr-esrev
> +	fi
> +
> +	if ! /usr/bin/pvrsrvctl --start --no-module; then return;
> fi
> +}
> +
> +case $CPUTYPE in
> +"OMAP3530")
> +	sgxprepare
> +
> +	devmem2 0x48004B48 w 0x2 > /dev/null
> +	devmem2 0x48004B10 w 0x1 > /dev/null
> +	devmem2 0x48004B00 w 0x2 > /dev/null
> +
> +	ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5:
> -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': '
> '{print $2}')"
> +
> +	sgxfinish
> +	;;
> +"TI33XX")
> +	sgxprepare
> +
> +	devmem2 0x44e01104 w 0x0 > /dev/null
> +	devmem2 0x44e00904 w 0x2 > /dev/null
> +
> +	ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8:
> | tail -n1 | awk -F': ' '{print $2}')"
> +
> +	sgxfinish
> +	;;
> +"TI816x")
> +	sgxprepare
> +
> +	devmem2 0x48180F04 w 0x0 > /dev/null
> +	devmem2 0x48180900 w 0x2 > /dev/null
> +	devmem2 0x48180920 w 0x2 > /dev/null
> +
> +	ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6:
> -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': '
> '{print $2}')"
> +
> +	sgxfinish
> +	;;
> +*)
> +	echo No SGX hardware, not starting PVR
> +	;;
> +esac
> diff --git a/recipes-graphics/libgles/libgles-omap3_4.08.00.01.bb
> b/recipes-graphics/libgles/libgles-omap3_4.08.00.01.bb
> new file mode 100644
> index 0000000..5a82e68
> --- /dev/null
> +++ b/recipes-graphics/libgles/libgles-omap3_4.08.00.01.bb
> @@ -0,0 +1,74 @@
> +require libgles-omap3.inc
> +
> +DEFAULT_PREFERENCE = "-1"
> +
> +BINLOCATION_omap3  = "${S}/gfx_rel_es3.x"
> +BINLOCATION_ti816x = "${S}/gfx_rel_es6.x"
> +BINLOCATION_ti814x = "${S}/gfx_rel_es6.x"
> +BINLOCATION_ti33x = "${S}/gfx_rel_es8.x"
> +
> +PLATFORM = "LinuxARMV7"
> +PVR_INIT = "pvrsrvctl"
> +
> +# download required binary distribution from:
> +# http://software-
> dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/latest/
> index_FDS.html
> +# see libgles-omap3.inc for detailed installation instructions
> +gedit
> +SGXPV = "4_08_00_01"
> +IMGPV = "1.7.867897"
> +BINFILE = "Graphics_SDK_setuplinux_${SGXPV}.bin"
> +TI_BIN_UNPK_WDEXT := "/Graphics_SDK_${SGXPV}"
> +SRC_URI = "<ti-internal-
> url>/Graphics_SDK_setuplinux_4_08_00_01.bin \

This URL will be updated when the graphics SDK 4.08.00.01 pushes external correct?  Go ahead and put the real external URL in place.

> +           file://cputype \
> +           file://rc.pvr \
> +           file://rc_dri.pvr \
> +           file://sample.desktop \
> +           file://99-bufferclass.rules  \
> +"
> +
> +SRC_URI[md5sum] = "95b8f02923d6ea52ea104fa3d93ce1f0"
> +SRC_URI[sha256sum] =
> "1db2d46ec3c6a97db146357841e02a95a15be658c2297dc571e6e61b32238561
> "
> +
> +S = "${WORKDIR}/Graphics_SDK_${SGXPV}"
> +
> +LIBGLESWINDOWSYSTEM ?= "${@base_contains('DISTRO_FEATURES',
> 'x11',"libpvrPVR2D_DRIWSEGL.so" ,"libpvrPVR2D_FRONTWSEGL.so.1",
> d)}"

Why not just set this in the .inc file?

> +
> +do_configure_append() {
> +
> +	# Change PVR server's user mode library to point to DRI
> +	for drifile in $(find ${S} -name "libsrv_um_dri.so"); do
> +	if [ "$drifile" != "" ]
> +	then
> +		dir=$(dirname ${drifile})
> +		if [ "$SUPPORT_XORG" = "1" ]
> +		then
> +		    mv ${dir}/libsrv_um_dri.so ${dir}/libsrv_um.so
> +		else
> +		    rm -rf ${dir}/libsrv_um_dri.so
> +		fi
> +	fi
> +
> +	done
> +}

Any reason this couldn't be done in the base .inc file?

> +
> +do_install_append() {
> +
> +    # In this version of the graphics SDK the following
> directories do not exist:
> +    #
> /GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/Include/pvr2d.h
> (doesn't exist)
> +    #
> /GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/Include/GLES/egltype
> s.h (doesn't exist)
> +    # Therefore, need to copy these files manually at the only
> location that they do exist
> +    cp -pPr ${S}/include/pvr2d/*.h ${D}${includedir} || true
> +    cp -pPr ${S}/include/OGLES/GLES ${D}${includedir}/ || true

If these are required then shouldn't the return of the copy actually be checked?  And couldn't this be put in the .inc file as well to check if these files exist and if so install them?

> +
> +    rm ${D}${sysconfdir}/init.d/pvr-init
> +
> +    if [ "$SUPPORT_XORG" = "1" ]; then
> +	    cp -pP ${WORKDIR}/rc_dri.pvr
> ${D}${sysconfdir}/init.d/pvr-init
> +	else
> +	    cp -pP ${WORKDIR}/rc.pvr ${D}${sysconfdir}/init.d/pvr-
> init
> +	fi
> +
> +}
> +
> +RRECOMMENDS_${PN}-x11demos = "${PN}-driwsegl"
> +RRECOMMENDS_${PN}-x11trainingcourses = "${PN}-driwsegl"
> --
> 1.7.0.4
> 
> _______________________________________________
> meta-ti mailing list
> meta-ti@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-ti


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2][for-comments] libgles-omap3: Add updated Graphics SDK
  2012-10-10 15:48 ` Maupin, Chase
@ 2012-10-10 15:52   ` Denys Dmytriyenko
  2012-10-10 16:01     ` Maupin, Chase
  0 siblings, 1 reply; 10+ messages in thread
From: Denys Dmytriyenko @ 2012-10-10 15:52 UTC (permalink / raw)
  To: Maupin, Chase; +Cc: meta-ti

On Wed, Oct 10, 2012 at 03:48:19PM +0000, Maupin, Chase wrote:
> > -----Original Message-----
> > From: meta-ti-bounces@yoctoproject.org [mailto:meta-ti-
> > bounces@yoctoproject.org] On Behalf Of Franklin S. Cooper Jr
> > Sent: Tuesday, October 09, 2012 11:28 PM
> > To: meta-ti@yoctoproject.org
> > Subject: [meta-ti] [PATCH 1/2][for-comments] libgles-omap3: Add
> > updated Graphics SDK
> > 
> > * Add version v4.08.00.01 of the Graphics SDK.
> > * Add X11 support via DRI/DRM Xorg driver
> > * Replace pvrsrvinit with pvrsrvctl (Imagination Technologies
> > based change)
> > 
> > Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
> > ---
> >  .../libgles/libgles-omap3-4.08.00.01/rc.pvr        |  124
> > ++++++++++++++++++
> >  .../libgles/libgles-omap3-4.08.00.01/rc_dri.pvr    |  136
> > ++++++++++++++++++++
> >  .../libgles/libgles-omap3_4.08.00.01.bb            |   74
> > +++++++++++
> >  3 files changed, 334 insertions(+), 0 deletions(-)
> >  create mode 100755 recipes-graphics/libgles/libgles-omap3-
> > 4.08.00.01/rc.pvr
> >  create mode 100755 recipes-graphics/libgles/libgles-omap3-
> > 4.08.00.01/rc_dri.pvr
> >  create mode 100644 recipes-graphics/libgles/libgles-
> > omap3_4.08.00.01.bb
> > 
> > diff --git a/recipes-graphics/libgles/libgles-omap3-
> > 4.08.00.01/rc.pvr b/recipes-graphics/libgles/libgles-omap3-
> > 4.08.00.01/rc.pvr
> > new file mode 100755
> > index 0000000..7b5cefa
> > --- /dev/null
> > +++ b/recipes-graphics/libgles/libgles-omap3-4.08.00.01/rc.pvr
> > @@ -0,0 +1,124 @@
> 
> Can you use --find-copies-harder to find similar files?
> 
> > +#!/bin/sh
> > +PATH=$PATH:/usr/sbin
> > +
> > +# Check if an fb device is available.  If not then just go ahead
> > and
> > +# exit because we have no display.
> > +fbset > /dev/null 2>&1
> > +if [ "$?" == "1" ]
> > +then
> > +    # looks like there is no display, so let's exit
> > +    exit 0
> > +fi
> > +
> > +BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
> > +YRES="$(fbset | grep geom | awk '{print $3}')"
> > +
> > +CPUTYPE="$(cputype)"
> > +
> > +if [ "$1" = "" ]; then
> > +	echo PVR-INIT: Please use start, stop, or restart.
> > +	exit 1
> > +fi
> > +
> > +if [ "$1" = "stop" -o  "$1" = "restart" ]; then
> > +	echo Stopping PVR
> > +	rmmod bufferclass_ti
> > +	rmmod omaplfb 2>/dev/null
> > +	rmmod pvrsrvkm 2>/dev/null
> > +fi
> > +
> > +if [ "$1" = "stop" ]; then
> > +	exit 0
> > +fi
> > +
> > +# Set RGBA ordering to something the drivers like
> > +if [ "$BITSPERPIXEL" = "32" ] ; then
> > +	fbset -rgba 8/16,8/8,8/0,8/24
> > +fi
> > +
> > +# Try to enable triple buffering when there's enough VRAM
> > +fbset -vyres $(expr $YRES \* 3)
> > +
> > +sgxprepare () {
> > +	echo Starting PVR
> > +	insmod $(busybox find /lib/modules/$(uname -r) -name
> > "pvrsrvkm.ko")
> > +
> > +    if [ "$?" != "0" ]
> > +    then
> > +        echo "Could not find pvrsrvkm driver"
> > +        exit 1
> > +    fi
> > +
> > +	modprobe omaplfb
> > +	modprobe bufferclass_ti
> > +
> > +	pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
> > +        bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
> > +
> > +	if [ -e /dev/pvrsrvkm ] ; then
> > +		rm -f /dev/pvrsrvkm
> > +	fi
> > +
> > +	mknod /dev/pvrsrvkm c $pvr_maj 0
> > +	chmod 666 /dev/pvrsrvkm
> > +
> > +	touch /etc/powervr-esrev
> > +
> > +	SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
> > +}
> > +
> > +sgxfinish () {
> > +	# Fix up a bug in opkg
> > +	if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink
> > /usr/lib/libsrv_um.so.1) ] ; then
> > +		cd /usr/lib
> > +		ln -sf $(readlink /usr/lib/libsrv_um.so.1)
> > libsrv_um.so
> > +	fi
> > +
> > +	if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
> > +		echo -n "Starting SGX fixup for"
> > +		echo " ES${ES_REVISION}.x"
> > +		cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
> > +		cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
> > +		echo "${ES_REVISION}" > /etc/powervr-esrev
> > +	fi
> > +
> > +	if ! /usr/bin/pvrsrvctl --start --no-module; then return;
> > fi
> > +}
> > +
> > +case $CPUTYPE in
> > +"OMAP3530")
> > +	sgxprepare
> > +
> > +	devmem2 0x48004B48 w 0x2 > /dev/null
> > +	devmem2 0x48004B10 w 0x1 > /dev/null
> > +	devmem2 0x48004B00 w 0x2 > /dev/null
> > +
> > +	ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5:
> > -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': '
> > '{print $2}')"
> > +
> > +	sgxfinish
> > +	;;
> > +"TI33XX")
> > +	sgxprepare
> > +
> > +	devmem2 0x44e01104 w 0x0 > /dev/null
> > +	devmem2 0x44e00904 w 0x2 > /dev/null
> > +
> > +	ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8:
> > | tail -n1 | awk -F': ' '{print $2}')"
> > +
> > +	sgxfinish
> > +	;;
> > +"TI816x")
> > +	sgxprepare
> > +
> > +	devmem2 0x48180F04 w 0x0 > /dev/null
> > +	devmem2 0x48180900 w 0x2 > /dev/null
> > +	devmem2 0x48180920 w 0x2 > /dev/null
> > +
> > +	ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6:
> > -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': '
> > '{print $2}')"
> > +
> > +	sgxfinish
> > +	;;
> > +*)
> > +	echo No SGX hardware, not starting PVR
> > +	;;
> > +esac
> > diff --git a/recipes-graphics/libgles/libgles-omap3-
> > 4.08.00.01/rc_dri.pvr b/recipes-graphics/libgles/libgles-omap3-
> > 4.08.00.01/rc_dri.pvr
> > new file mode 100755
> > index 0000000..dd1e942
> > --- /dev/null
> > +++ b/recipes-graphics/libgles/libgles-omap3-
> > 4.08.00.01/rc_dri.pvr
> > @@ -0,0 +1,136 @@
> > +#!/bin/sh
> > +PATH=$PATH:/usr/sbin
> > +
> > +# Check if an fb device is available.  If not then just go ahead
> > and
> > +# exit because we have no display.
> > +fbset > /dev/null 2>&1
> > +if [ "$?" == "1" ]
> > +then
> > +    # looks like there is no display, so let's exit
> > +    exit 0
> > +fi
> > +
> > +BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
> > +YRES="$(fbset | grep geom | awk '{print $3}')"
> > +
> > +CPUTYPE="$(cputype)"
> > +
> > +if [ "$1" = "" ]; then
> > +	echo PVR-INIT: Please use start, stop, or restart.
> > +	exit 1
> > +fi
> > +
> > +if [ "$1" = "stop" -o  "$1" = "restart" ]; then
> > +	echo Stopping PVR
> > +
> > +	# Stop the X Server.
> > +	#
> > +	[ -f /tmp/.X0-lock ] && read XPID < /tmp/.X0-lock && [ -n
> > "$XPID" ] && kill $XPID && while [ -e /proc/$XPID ] ; do sleep 1;
> > done
> > +
> > +	rmmod bufferclass_ti
> > +	rmmod pvrsrvkm 2>/dev/null
> > +    rmmod drm 2>/dev/null
> > +fi
> > +
> > +if [ "$1" = "stop" ]; then
> > +	exit 0
> > +fi
> > +
> > +# Set RGBA ordering to something the drivers like
> > +if [ "$BITSPERPIXEL" = "32" ] ; then
> > +	fbset -rgba 8/16,8/8,8/0,8/24
> > +fi
> > +
> > +# Try to enable triple buffering when there's enough VRAM
> > +fbset -vyres $(expr $YRES \* 3)
> > +
> > +sgxprepare () {
> > +	echo Starting PVR
> > +
> > +	# Start the X Server.
> > +	# The X Server will load the PVR Services module.
> > +	#
> > +	/usr/local/XSGX/bin/X -verbose -config
> > /usr/local/XSGX/etc/xorg.conf &
> > +
> > +	modprobe drm
> > +
> > +	insmod $(busybox find /lib/modules/$(uname -r) -name
> > "pvrsrvkm.ko")
> > +
> > +    if [ "$?" != "0" ]
> > +    then
> > +        echo "Could not find pvrsrvkm driver"
> > +        exit 1
> > +    fi
> > +
> > +	modprobe bufferclass_ti
> > +
> > +	pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
> > +        bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
> > +
> > +	if [ -e /dev/pvrsrvkm ] ; then
> > +		rm -f /dev/pvrsrvkm
> > +	fi
> > +
> > +	mknod /dev/pvrsrvkm c $pvr_maj 0
> > +	chmod 666 /dev/pvrsrvkm
> > +
> > +	touch /etc/powervr-esrev
> > +
> > +	SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
> > +}
> > +
> > +sgxfinish () {
> > +	# Fix up a bug in opkg
> > +	if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink
> > /usr/lib/libsrv_um.so.1) ] ; then
> > +		cd /usr/lib
> > +		ln -sf $(readlink /usr/lib/libsrv_um.so.1)
> > libsrv_um.so
> > +	fi
> > +
> > +	if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
> > +		echo -n "Starting SGX fixup for"
> > +		echo " ES${ES_REVISION}.x"
> > +		cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
> > +		cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
> > +		echo "${ES_REVISION}" > /etc/powervr-esrev
> > +	fi
> > +
> > +	if ! /usr/bin/pvrsrvctl --start --no-module; then return;
> > fi
> > +}
> > +
> > +case $CPUTYPE in
> > +"OMAP3530")
> > +	sgxprepare
> > +
> > +	devmem2 0x48004B48 w 0x2 > /dev/null
> > +	devmem2 0x48004B10 w 0x1 > /dev/null
> > +	devmem2 0x48004B00 w 0x2 > /dev/null
> > +
> > +	ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5:
> > -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': '
> > '{print $2}')"
> > +
> > +	sgxfinish
> > +	;;
> > +"TI33XX")
> > +	sgxprepare
> > +
> > +	devmem2 0x44e01104 w 0x0 > /dev/null
> > +	devmem2 0x44e00904 w 0x2 > /dev/null
> > +
> > +	ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8:
> > | tail -n1 | awk -F': ' '{print $2}')"
> > +
> > +	sgxfinish
> > +	;;
> > +"TI816x")
> > +	sgxprepare
> > +
> > +	devmem2 0x48180F04 w 0x0 > /dev/null
> > +	devmem2 0x48180900 w 0x2 > /dev/null
> > +	devmem2 0x48180920 w 0x2 > /dev/null
> > +
> > +	ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6:
> > -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': '
> > '{print $2}')"
> > +
> > +	sgxfinish
> > +	;;
> > +*)
> > +	echo No SGX hardware, not starting PVR
> > +	;;
> > +esac
> > diff --git a/recipes-graphics/libgles/libgles-omap3_4.08.00.01.bb
> > b/recipes-graphics/libgles/libgles-omap3_4.08.00.01.bb
> > new file mode 100644
> > index 0000000..5a82e68
> > --- /dev/null
> > +++ b/recipes-graphics/libgles/libgles-omap3_4.08.00.01.bb
> > @@ -0,0 +1,74 @@
> > +require libgles-omap3.inc
> > +
> > +DEFAULT_PREFERENCE = "-1"
> > +
> > +BINLOCATION_omap3  = "${S}/gfx_rel_es3.x"
> > +BINLOCATION_ti816x = "${S}/gfx_rel_es6.x"
> > +BINLOCATION_ti814x = "${S}/gfx_rel_es6.x"
> > +BINLOCATION_ti33x = "${S}/gfx_rel_es8.x"
> > +
> > +PLATFORM = "LinuxARMV7"
> > +PVR_INIT = "pvrsrvctl"
> > +
> > +# download required binary distribution from:
> > +# http://software-
> > dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/latest/
> > index_FDS.html
> > +# see libgles-omap3.inc for detailed installation instructions
> > +gedit
> > +SGXPV = "4_08_00_01"
> > +IMGPV = "1.7.867897"
> > +BINFILE = "Graphics_SDK_setuplinux_${SGXPV}.bin"
> > +TI_BIN_UNPK_WDEXT := "/Graphics_SDK_${SGXPV}"
> > +SRC_URI = "<ti-internal-
> > url>/Graphics_SDK_setuplinux_4_08_00_01.bin \
> 
> This URL will be updated when the graphics SDK 4.08.00.01 pushes external correct?  Go ahead and put the real external URL in place.
> 
> > +           file://cputype \
> > +           file://rc.pvr \
> > +           file://rc_dri.pvr \
> > +           file://sample.desktop \
> > +           file://99-bufferclass.rules  \
> > +"
> > +
> > +SRC_URI[md5sum] = "95b8f02923d6ea52ea104fa3d93ce1f0"
> > +SRC_URI[sha256sum] =
> > "1db2d46ec3c6a97db146357841e02a95a15be658c2297dc571e6e61b32238561
> > "
> > +
> > +S = "${WORKDIR}/Graphics_SDK_${SGXPV}"
> > +
> > +LIBGLESWINDOWSYSTEM ?= "${@base_contains('DISTRO_FEATURES',
> > 'x11',"libpvrPVR2D_DRIWSEGL.so" ,"libpvrPVR2D_FRONTWSEGL.so.1",
> > d)}"
> 
> Why not just set this in the .inc file?
> 
> > +
> > +do_configure_append() {
> > +
> > +	# Change PVR server's user mode library to point to DRI
> > +	for drifile in $(find ${S} -name "libsrv_um_dri.so"); do
> > +	if [ "$drifile" != "" ]
> > +	then
> > +		dir=$(dirname ${drifile})
> > +		if [ "$SUPPORT_XORG" = "1" ]
> > +		then
> > +		    mv ${dir}/libsrv_um_dri.so ${dir}/libsrv_um.so
> > +		else
> > +		    rm -rf ${dir}/libsrv_um_dri.so
> > +		fi
> > +	fi
> > +
> > +	done
> > +}
> 
> Any reason this couldn't be done in the base .inc file?

Per previous agreement, we wanted to add a new version w/o touching the common 
.inc file, remember? Once we get it working, we can start looking to unify it 
with older versions and abstract in the .inc file.


> > +do_install_append() {
> > +
> > +    # In this version of the graphics SDK the following
> > directories do not exist:
> > +    #
> > /GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/Include/pvr2d.h
> > (doesn't exist)
> > +    #
> > /GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/Include/GLES/egltype
> > s.h (doesn't exist)
> > +    # Therefore, need to copy these files manually at the only
> > location that they do exist
> > +    cp -pPr ${S}/include/pvr2d/*.h ${D}${includedir} || true
> > +    cp -pPr ${S}/include/OGLES/GLES ${D}${includedir}/ || true
> 
> If these are required then shouldn't the return of the copy actually be checked?  And couldn't this be put in the .inc file as well to check if these files exist and if so install them?
> 
> > +
> > +    rm ${D}${sysconfdir}/init.d/pvr-init
> > +
> > +    if [ "$SUPPORT_XORG" = "1" ]; then
> > +	    cp -pP ${WORKDIR}/rc_dri.pvr
> > ${D}${sysconfdir}/init.d/pvr-init
> > +	else
> > +	    cp -pP ${WORKDIR}/rc.pvr ${D}${sysconfdir}/init.d/pvr-
> > init
> > +	fi
> > +
> > +}
> > +
> > +RRECOMMENDS_${PN}-x11demos = "${PN}-driwsegl"
> > +RRECOMMENDS_${PN}-x11trainingcourses = "${PN}-driwsegl"
> > --
> > 1.7.0.4
> > 
> > _______________________________________________
> > 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
> 


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2][for-comments] omap3-sgx-modules: Add v4.08.00.01 of the SGX modules
  2012-10-10  4:28 ` [PATCH 2/2][for-comments] omap3-sgx-modules: Add v4.08.00.01 of the SGX modules Franklin S. Cooper Jr
@ 2012-10-10 15:55   ` Maupin, Chase
  2012-10-10 16:22     ` Cooper Jr., Franklin
  0 siblings, 1 reply; 10+ messages in thread
From: Maupin, Chase @ 2012-10-10 15:55 UTC (permalink / raw)
  To: Franklin S. Cooper Jr, meta-ti

> -----Original Message-----
> From: meta-ti-bounces@yoctoproject.org [mailto:meta-ti-
> bounces@yoctoproject.org] On Behalf Of Franklin S. Cooper Jr
> Sent: Tuesday, October 09, 2012 11:28 PM
> To: meta-ti@yoctoproject.org
> Subject: [meta-ti] [PATCH 2/2][for-comments] omap3-sgx-modules:
> Add v4.08.00.01 of the SGX modules
> 
> * Add version 4.08.00.01 of the SGX modules.
> 
> Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
> ---
>  .../omap3-sgx-modules_4.08.00.01.bb                |   55
> ++++++++++++++++++++
>  1 files changed, 55 insertions(+), 0 deletions(-)
>  create mode 100644 recipes-bsp/powervr-drivers/omap3-sgx-
> modules_4.08.00.01.bb
> 
> diff --git a/recipes-bsp/powervr-drivers/omap3-sgx-
> modules_4.08.00.01.bb b/recipes-bsp/powervr-drivers/omap3-sgx-
> modules_4.08.00.01.bb
> new file mode 100644
> index 0000000..f45934f
> --- /dev/null
> +++ b/recipes-bsp/powervr-drivers/omap3-sgx-modules_4.08.00.01.bb
> @@ -0,0 +1,55 @@
> +DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found
> in the omap3 SoCs"
> +LICENSE = "GPLv2"
> +LIC_FILES_CHKSUM =
> "file://COPYING;md5=ea5743acf520dd81ca172e69f818a3d4"
> +
> +TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
> +require ../../recipes-ti/includes/ti-eula-unpack.inc
> +
> +SGXPV = "4_08_00_01"
> +IMGPV = "1.7.867897"
> +BINFILE = "Graphics_SDK_setuplinux_${SGXPV}.bin"
> +
> +inherit module
> +
> +MACHINE_KERNEL_PR_append = "a"

As we learned the other day MACHINE_KERNEL_PR adds a dependency on the kernel.bbclass in meta-openembedded.  Should this check if MACHINE_KERNEL_PR is defined before doing the append?

> +PR = "${MACHINE_KERNEL_PR}"
> +
> +DEFAULT_PREFERENCE = "-1"
> +
> +SRC_URI = "<ti-internal-
> url>/Graphics_SDK_setuplinux_4_08_00_01.bin"
> +SRC_URI[md5sum] = "95b8f02923d6ea52ea104fa3d93ce1f0"
> +SRC_URI[sha256sum] =
> "1db2d46ec3c6a97db146357841e02a95a15be658c2297dc571e6e61b32238561
> "
> +
> +TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
> +S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
> +
> +PVRBUILD = "release"
> +export KERNELDIR = "${STAGING_KERNEL_DIR}"
> +
> +INHIBIT_PACKAGE_STRIP = "1"
> +
> +TI_PLATFORM_omap3 = "omap3630"
> +TI_PLATFORM_ti814x = "ti81xx"
> +TI_PLATFORM_ti816x = "ti81xx"
> +TI_PLATFORM_ti33x = "ti335x"
> +
> +MODULESLOCATION_omap3 = "dc_omapfb3_linux"
> +MODULESLOCATION_ti814x = "dc_ti81xx_linux"
> +MODULESLOCATION_ti816x = "dc_ti81xx_linux"
> +MODULESLOCATION_ti33x = "dc_ti335x_linux"
> +
> +export SUPPORT_XORG ?= "${@base_contains('DISTRO_FEATURES',
> 'x11', '1', '0', d)}"
> +
> +MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM}
> SUPPORT_XORG=${SUPPORT_XORG}"

What is this used for?

> +
> +do_install() {
> +    mkdir -p
> ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
> +    cp  ${S}/pvrsrvkm.ko \
> +        ${S}/services4/3rdparty/${MODULESLOCATION}/omaplfb.ko  \
> +        ${S}/services4/3rdparty/bufferclass_ti/bufferclass_ti.ko
> \
> +
> ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
> +
> +	if [ "${SUPPORT_XORG}" = "1" ]; then
> +	    cp ${S}/services4/3rdparty/linux_drm/drm.ko
> ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
> +	fi
> +}
> --
> 1.7.0.4
> 
> _______________________________________________
> meta-ti mailing list
> meta-ti@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-ti


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2][for-comments] libgles-omap3: Add updated Graphics SDK
  2012-10-10 15:52   ` Denys Dmytriyenko
@ 2012-10-10 16:01     ` Maupin, Chase
  0 siblings, 0 replies; 10+ messages in thread
From: Maupin, Chase @ 2012-10-10 16:01 UTC (permalink / raw)
  To: Denys Dmytriyenko; +Cc: meta-ti

> -----Original Message-----
> From: Denys Dmytriyenko [mailto:denis@denix.org]
> Sent: Wednesday, October 10, 2012 10:53 AM
> To: Maupin, Chase
> Cc: Franklin S. Cooper Jr; meta-ti@yoctoproject.org
> Subject: Re: [meta-ti] [PATCH 1/2][for-comments] libgles-omap3:
> Add updated Graphics SDK
> 
> On Wed, Oct 10, 2012 at 03:48:19PM +0000, Maupin, Chase wrote:
> > > -----Original Message-----
> > > From: meta-ti-bounces@yoctoproject.org [mailto:meta-ti-
> > > bounces@yoctoproject.org] On Behalf Of Franklin S. Cooper Jr
> > > Sent: Tuesday, October 09, 2012 11:28 PM
> > > To: meta-ti@yoctoproject.org
> > > Subject: [meta-ti] [PATCH 1/2][for-comments] libgles-omap3:
> Add
> > > updated Graphics SDK
> > >
> > > * Add version v4.08.00.01 of the Graphics SDK.
> > > * Add X11 support via DRI/DRM Xorg driver
> > > * Replace pvrsrvinit with pvrsrvctl (Imagination Technologies
> > > based change)
> > >
> > > Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
> > > ---
> > >  .../libgles/libgles-omap3-4.08.00.01/rc.pvr        |  124
> > > ++++++++++++++++++
> > >  .../libgles/libgles-omap3-4.08.00.01/rc_dri.pvr    |  136
> > > ++++++++++++++++++++
> > >  .../libgles/libgles-omap3_4.08.00.01.bb            |   74
> > > +++++++++++
> > >  3 files changed, 334 insertions(+), 0 deletions(-)
> > >  create mode 100755 recipes-graphics/libgles/libgles-omap3-
> > > 4.08.00.01/rc.pvr
> > >  create mode 100755 recipes-graphics/libgles/libgles-omap3-
> > > 4.08.00.01/rc_dri.pvr
> > >  create mode 100644 recipes-graphics/libgles/libgles-
> > > omap3_4.08.00.01.bb
> > >
> > > diff --git a/recipes-graphics/libgles/libgles-omap3-
> > > 4.08.00.01/rc.pvr b/recipes-graphics/libgles/libgles-omap3-
> > > 4.08.00.01/rc.pvr
> > > new file mode 100755
> > > index 0000000..7b5cefa
> > > --- /dev/null
> > > +++ b/recipes-graphics/libgles/libgles-omap3-
> 4.08.00.01/rc.pvr
> > > @@ -0,0 +1,124 @@
> >
> > Can you use --find-copies-harder to find similar files?
> >
> > > +#!/bin/sh
> > > +PATH=$PATH:/usr/sbin
> > > +
> > > +# Check if an fb device is available.  If not then just go
> ahead
> > > and
> > > +# exit because we have no display.
> > > +fbset > /dev/null 2>&1
> > > +if [ "$?" == "1" ]
> > > +then
> > > +    # looks like there is no display, so let's exit
> > > +    exit 0
> > > +fi
> > > +
> > > +BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
> > > +YRES="$(fbset | grep geom | awk '{print $3}')"
> > > +
> > > +CPUTYPE="$(cputype)"
> > > +
> > > +if [ "$1" = "" ]; then
> > > +	echo PVR-INIT: Please use start, stop, or restart.
> > > +	exit 1
> > > +fi
> > > +
> > > +if [ "$1" = "stop" -o  "$1" = "restart" ]; then
> > > +	echo Stopping PVR
> > > +	rmmod bufferclass_ti
> > > +	rmmod omaplfb 2>/dev/null
> > > +	rmmod pvrsrvkm 2>/dev/null
> > > +fi
> > > +
> > > +if [ "$1" = "stop" ]; then
> > > +	exit 0
> > > +fi
> > > +
> > > +# Set RGBA ordering to something the drivers like
> > > +if [ "$BITSPERPIXEL" = "32" ] ; then
> > > +	fbset -rgba 8/16,8/8,8/0,8/24
> > > +fi
> > > +
> > > +# Try to enable triple buffering when there's enough VRAM
> > > +fbset -vyres $(expr $YRES \* 3)
> > > +
> > > +sgxprepare () {
> > > +	echo Starting PVR
> > > +	insmod $(busybox find /lib/modules/$(uname -r) -name
> > > "pvrsrvkm.ko")
> > > +
> > > +    if [ "$?" != "0" ]
> > > +    then
> > > +        echo "Could not find pvrsrvkm driver"
> > > +        exit 1
> > > +    fi
> > > +
> > > +	modprobe omaplfb
> > > +	modprobe bufferclass_ti
> > > +
> > > +	pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
> > > +        bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
> > > +
> > > +	if [ -e /dev/pvrsrvkm ] ; then
> > > +		rm -f /dev/pvrsrvkm
> > > +	fi
> > > +
> > > +	mknod /dev/pvrsrvkm c $pvr_maj 0
> > > +	chmod 666 /dev/pvrsrvkm
> > > +
> > > +	touch /etc/powervr-esrev
> > > +
> > > +	SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
> > > +}
> > > +
> > > +sgxfinish () {
> > > +	# Fix up a bug in opkg
> > > +	if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink
> > > /usr/lib/libsrv_um.so.1) ] ; then
> > > +		cd /usr/lib
> > > +		ln -sf $(readlink /usr/lib/libsrv_um.so.1)
> > > libsrv_um.so
> > > +	fi
> > > +
> > > +	if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
> > > +		echo -n "Starting SGX fixup for"
> > > +		echo " ES${ES_REVISION}.x"
> > > +		cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
> > > +		cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
> > > +		echo "${ES_REVISION}" > /etc/powervr-esrev
> > > +	fi
> > > +
> > > +	if ! /usr/bin/pvrsrvctl --start --no-module; then return;
> > > fi
> > > +}
> > > +
> > > +case $CPUTYPE in
> > > +"OMAP3530")
> > > +	sgxprepare
> > > +
> > > +	devmem2 0x48004B48 w 0x2 > /dev/null
> > > +	devmem2 0x48004B10 w 0x1 > /dev/null
> > > +	devmem2 0x48004B00 w 0x2 > /dev/null
> > > +
> > > +	ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5:
> > > -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': '
> > > '{print $2}')"
> > > +
> > > +	sgxfinish
> > > +	;;
> > > +"TI33XX")
> > > +	sgxprepare
> > > +
> > > +	devmem2 0x44e01104 w 0x0 > /dev/null
> > > +	devmem2 0x44e00904 w 0x2 > /dev/null
> > > +
> > > +	ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8:
> > > | tail -n1 | awk -F': ' '{print $2}')"
> > > +
> > > +	sgxfinish
> > > +	;;
> > > +"TI816x")
> > > +	sgxprepare
> > > +
> > > +	devmem2 0x48180F04 w 0x0 > /dev/null
> > > +	devmem2 0x48180900 w 0x2 > /dev/null
> > > +	devmem2 0x48180920 w 0x2 > /dev/null
> > > +
> > > +	ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6:
> > > -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': '
> > > '{print $2}')"
> > > +
> > > +	sgxfinish
> > > +	;;
> > > +*)
> > > +	echo No SGX hardware, not starting PVR
> > > +	;;
> > > +esac
> > > diff --git a/recipes-graphics/libgles/libgles-omap3-
> > > 4.08.00.01/rc_dri.pvr b/recipes-graphics/libgles/libgles-
> omap3-
> > > 4.08.00.01/rc_dri.pvr
> > > new file mode 100755
> > > index 0000000..dd1e942
> > > --- /dev/null
> > > +++ b/recipes-graphics/libgles/libgles-omap3-
> > > 4.08.00.01/rc_dri.pvr
> > > @@ -0,0 +1,136 @@
> > > +#!/bin/sh
> > > +PATH=$PATH:/usr/sbin
> > > +
> > > +# Check if an fb device is available.  If not then just go
> ahead
> > > and
> > > +# exit because we have no display.
> > > +fbset > /dev/null 2>&1
> > > +if [ "$?" == "1" ]
> > > +then
> > > +    # looks like there is no display, so let's exit
> > > +    exit 0
> > > +fi
> > > +
> > > +BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
> > > +YRES="$(fbset | grep geom | awk '{print $3}')"
> > > +
> > > +CPUTYPE="$(cputype)"
> > > +
> > > +if [ "$1" = "" ]; then
> > > +	echo PVR-INIT: Please use start, stop, or restart.
> > > +	exit 1
> > > +fi
> > > +
> > > +if [ "$1" = "stop" -o  "$1" = "restart" ]; then
> > > +	echo Stopping PVR
> > > +
> > > +	# Stop the X Server.
> > > +	#
> > > +	[ -f /tmp/.X0-lock ] && read XPID < /tmp/.X0-lock && [ -n
> > > "$XPID" ] && kill $XPID && while [ -e /proc/$XPID ] ; do
> sleep 1;
> > > done
> > > +
> > > +	rmmod bufferclass_ti
> > > +	rmmod pvrsrvkm 2>/dev/null
> > > +    rmmod drm 2>/dev/null
> > > +fi
> > > +
> > > +if [ "$1" = "stop" ]; then
> > > +	exit 0
> > > +fi
> > > +
> > > +# Set RGBA ordering to something the drivers like
> > > +if [ "$BITSPERPIXEL" = "32" ] ; then
> > > +	fbset -rgba 8/16,8/8,8/0,8/24
> > > +fi
> > > +
> > > +# Try to enable triple buffering when there's enough VRAM
> > > +fbset -vyres $(expr $YRES \* 3)
> > > +
> > > +sgxprepare () {
> > > +	echo Starting PVR
> > > +
> > > +	# Start the X Server.
> > > +	# The X Server will load the PVR Services module.
> > > +	#
> > > +	/usr/local/XSGX/bin/X -verbose -config
> > > /usr/local/XSGX/etc/xorg.conf &
> > > +
> > > +	modprobe drm
> > > +
> > > +	insmod $(busybox find /lib/modules/$(uname -r) -name
> > > "pvrsrvkm.ko")
> > > +
> > > +    if [ "$?" != "0" ]
> > > +    then
> > > +        echo "Could not find pvrsrvkm driver"
> > > +        exit 1
> > > +    fi
> > > +
> > > +	modprobe bufferclass_ti
> > > +
> > > +	pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
> > > +        bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
> > > +
> > > +	if [ -e /dev/pvrsrvkm ] ; then
> > > +		rm -f /dev/pvrsrvkm
> > > +	fi
> > > +
> > > +	mknod /dev/pvrsrvkm c $pvr_maj 0
> > > +	chmod 666 /dev/pvrsrvkm
> > > +
> > > +	touch /etc/powervr-esrev
> > > +
> > > +	SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
> > > +}
> > > +
> > > +sgxfinish () {
> > > +	# Fix up a bug in opkg
> > > +	if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink
> > > /usr/lib/libsrv_um.so.1) ] ; then
> > > +		cd /usr/lib
> > > +		ln -sf $(readlink /usr/lib/libsrv_um.so.1)
> > > libsrv_um.so
> > > +	fi
> > > +
> > > +	if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
> > > +		echo -n "Starting SGX fixup for"
> > > +		echo " ES${ES_REVISION}.x"
> > > +		cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
> > > +		cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
> > > +		echo "${ES_REVISION}" > /etc/powervr-esrev
> > > +	fi
> > > +
> > > +	if ! /usr/bin/pvrsrvctl --start --no-module; then return;
> > > fi
> > > +}
> > > +
> > > +case $CPUTYPE in
> > > +"OMAP3530")
> > > +	sgxprepare
> > > +
> > > +	devmem2 0x48004B48 w 0x2 > /dev/null
> > > +	devmem2 0x48004B10 w 0x1 > /dev/null
> > > +	devmem2 0x48004B00 w 0x2 > /dev/null
> > > +
> > > +	ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5:
> > > -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': '
> > > '{print $2}')"
> > > +
> > > +	sgxfinish
> > > +	;;
> > > +"TI33XX")
> > > +	sgxprepare
> > > +
> > > +	devmem2 0x44e01104 w 0x0 > /dev/null
> > > +	devmem2 0x44e00904 w 0x2 > /dev/null
> > > +
> > > +	ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8:
> > > | tail -n1 | awk -F': ' '{print $2}')"
> > > +
> > > +	sgxfinish
> > > +	;;
> > > +"TI816x")
> > > +	sgxprepare
> > > +
> > > +	devmem2 0x48180F04 w 0x0 > /dev/null
> > > +	devmem2 0x48180900 w 0x2 > /dev/null
> > > +	devmem2 0x48180920 w 0x2 > /dev/null
> > > +
> > > +	ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6:
> > > -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': '
> > > '{print $2}')"
> > > +
> > > +	sgxfinish
> > > +	;;
> > > +*)
> > > +	echo No SGX hardware, not starting PVR
> > > +	;;
> > > +esac
> > > diff --git a/recipes-graphics/libgles/libgles-
> omap3_4.08.00.01.bb
> > > b/recipes-graphics/libgles/libgles-omap3_4.08.00.01.bb
> > > new file mode 100644
> > > index 0000000..5a82e68
> > > --- /dev/null
> > > +++ b/recipes-graphics/libgles/libgles-omap3_4.08.00.01.bb
> > > @@ -0,0 +1,74 @@
> > > +require libgles-omap3.inc
> > > +
> > > +DEFAULT_PREFERENCE = "-1"
> > > +
> > > +BINLOCATION_omap3  = "${S}/gfx_rel_es3.x"
> > > +BINLOCATION_ti816x = "${S}/gfx_rel_es6.x"
> > > +BINLOCATION_ti814x = "${S}/gfx_rel_es6.x"
> > > +BINLOCATION_ti33x = "${S}/gfx_rel_es8.x"
> > > +
> > > +PLATFORM = "LinuxARMV7"
> > > +PVR_INIT = "pvrsrvctl"
> > > +
> > > +# download required binary distribution from:
> > > +# http://software-
> > >
> dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/latest/
> > > index_FDS.html
> > > +# see libgles-omap3.inc for detailed installation
> instructions
> > > +gedit
> > > +SGXPV = "4_08_00_01"
> > > +IMGPV = "1.7.867897"
> > > +BINFILE = "Graphics_SDK_setuplinux_${SGXPV}.bin"
> > > +TI_BIN_UNPK_WDEXT := "/Graphics_SDK_${SGXPV}"
> > > +SRC_URI = "<ti-internal-
> > > url>/Graphics_SDK_setuplinux_4_08_00_01.bin \
> >
> > This URL will be updated when the graphics SDK 4.08.00.01
> pushes external correct?  Go ahead and put the real external URL
> in place.
> >
> > > +           file://cputype \
> > > +           file://rc.pvr \
> > > +           file://rc_dri.pvr \
> > > +           file://sample.desktop \
> > > +           file://99-bufferclass.rules  \
> > > +"
> > > +
> > > +SRC_URI[md5sum] = "95b8f02923d6ea52ea104fa3d93ce1f0"
> > > +SRC_URI[sha256sum] =
> > >
> "1db2d46ec3c6a97db146357841e02a95a15be658c2297dc571e6e61b32238561
> > > "
> > > +
> > > +S = "${WORKDIR}/Graphics_SDK_${SGXPV}"
> > > +
> > > +LIBGLESWINDOWSYSTEM ?= "${@base_contains('DISTRO_FEATURES',
> > > 'x11',"libpvrPVR2D_DRIWSEGL.so"
> ,"libpvrPVR2D_FRONTWSEGL.so.1",
> > > d)}"
> >
> > Why not just set this in the .inc file?
> >
> > > +
> > > +do_configure_append() {
> > > +
> > > +	# Change PVR server's user mode library to point to DRI
> > > +	for drifile in $(find ${S} -name "libsrv_um_dri.so"); do
> > > +	if [ "$drifile" != "" ]
> > > +	then
> > > +		dir=$(dirname ${drifile})
> > > +		if [ "$SUPPORT_XORG" = "1" ]
> > > +		then
> > > +		    mv ${dir}/libsrv_um_dri.so ${dir}/libsrv_um.so
> > > +		else
> > > +		    rm -rf ${dir}/libsrv_um_dri.so
> > > +		fi
> > > +	fi
> > > +
> > > +	done
> > > +}
> >
> > Any reason this couldn't be done in the base .inc file?
> 
> Per previous agreement, we wanted to add a new version w/o
> touching the common
> .inc file, remember? Once we get it working, we can start looking
> to unify it
> with older versions and abstract in the .inc file.

OK.  I thought we weren't going to "break" the common .inc file since the previous patch is touching it to make it work better with new SDKs.  So my question was whether this can be handled in a transparent fashion and avoid the append.  I'm guessing this would need to change to not mv or rm libsrv_um_dri since the PRIVATE_LIBS uses that.

> 
> 
> > > +do_install_append() {
> > > +
> > > +    # In this version of the graphics SDK the following
> > > directories do not exist:
> > > +    #
> > > /GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/Include/pvr2d.h
> > > (doesn't exist)
> > > +    #
> > >
> /GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/Include/GLES/egltype
> > > s.h (doesn't exist)
> > > +    # Therefore, need to copy these files manually at the
> only
> > > location that they do exist
> > > +    cp -pPr ${S}/include/pvr2d/*.h ${D}${includedir} || true
> > > +    cp -pPr ${S}/include/OGLES/GLES ${D}${includedir}/ ||
> true
> >
> > If these are required then shouldn't the return of the copy
> actually be checked?  And couldn't this be put in the .inc file
> as well to check if these files exist and if so install them?
> >
> > > +
> > > +    rm ${D}${sysconfdir}/init.d/pvr-init
> > > +
> > > +    if [ "$SUPPORT_XORG" = "1" ]; then
> > > +	    cp -pP ${WORKDIR}/rc_dri.pvr
> > > ${D}${sysconfdir}/init.d/pvr-init
> > > +	else
> > > +	    cp -pP ${WORKDIR}/rc.pvr ${D}${sysconfdir}/init.d/pvr-
> > > init
> > > +	fi
> > > +
> > > +}
> > > +
> > > +RRECOMMENDS_${PN}-x11demos = "${PN}-driwsegl"
> > > +RRECOMMENDS_${PN}-x11trainingcourses = "${PN}-driwsegl"
> > > --
> > > 1.7.0.4
> > >
> > > _______________________________________________
> > > 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
> >


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2][for-comments] omap3-sgx-modules: Add v4.08.00.01 of the SGX modules
  2012-10-10 15:55   ` Maupin, Chase
@ 2012-10-10 16:22     ` Cooper Jr., Franklin
  2012-10-10 19:29       ` Maupin, Chase
  0 siblings, 1 reply; 10+ messages in thread
From: Cooper Jr., Franklin @ 2012-10-10 16:22 UTC (permalink / raw)
  To: Maupin, Chase, Franklin S. Cooper Jr, meta-ti


________________________________________
From: meta-ti-bounces@yoctoproject.org [meta-ti-bounces@yoctoproject.org] on behalf of Maupin, Chase
Sent: Wednesday, October 10, 2012 10:55 AM
To: Franklin S. Cooper Jr; meta-ti@yoctoproject.org
Subject: Re: [meta-ti] [PATCH 2/2][for-comments] omap3-sgx-modules:     Add     v4.08.00.01 of the SGX modules

> -----Original Message-----
> From: meta-ti-bounces@yoctoproject.org [mailto:meta-ti-
> bounces@yoctoproject.org] On Behalf Of Franklin S. Cooper Jr
> Sent: Tuesday, October 09, 2012 11:28 PM
> To: meta-ti@yoctoproject.org
> Subject: [meta-ti] [PATCH 2/2][for-comments] omap3-sgx-modules:
> Add v4.08.00.01 of the SGX modules
>
> * Add version 4.08.00.01 of the SGX modules.
>
> Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
> ---
>  .../omap3-sgx-modules_4.08.00.01.bb                |   55
> ++++++++++++++++++++
>  1 files changed, 55 insertions(+), 0 deletions(-)
>  create mode 100644 recipes-bsp/powervr-drivers/omap3-sgx-
> modules_4.08.00.01.bb
>
> diff --git a/recipes-bsp/powervr-drivers/omap3-sgx-
> modules_4.08.00.01.bb b/recipes-bsp/powervr-drivers/omap3-sgx-
> modules_4.08.00.01.bb
> new file mode 100644
> index 0000000..f45934f
> --- /dev/null
> +++ b/recipes-bsp/powervr-drivers/omap3-sgx-modules_4.08.00.01.bb
> @@ -0,0 +1,55 @@
> +DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found
> in the omap3 SoCs"
> +LICENSE = "GPLv2"
> +LIC_FILES_CHKSUM =
> "file://COPYING;md5=ea5743acf520dd81ca172e69f818a3d4"
> +
> +TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
> +require ../../recipes-ti/includes/ti-eula-unpack.inc
> +
> +SGXPV = "4_08_00_01"
> +IMGPV = "1.7.867897"
> +BINFILE = "Graphics_SDK_setuplinux_${SGXPV}.bin"
> +
> +inherit module
> +
> +MACHINE_KERNEL_PR_append = "a"

As we learned the other day MACHINE_KERNEL_PR adds a dependency on the kernel.bbclass in meta-openembedded.  Should this check if MACHINE_KERNEL_PR is defined before doing the append?

Franklin: MACHINE_KERNEL_PR is used by 25+ include files,patches and machine files within meta-ti as of today. With that being said your change does make sense. I can add that to v2

> +PR = "${MACHINE_KERNEL_PR}"
> +
> +DEFAULT_PREFERENCE = "-1"
> +
> +SRC_URI = "<ti-internal-
> url>/Graphics_SDK_setuplinux_4_08_00_01.bin"
> +SRC_URI[md5sum] = "95b8f02923d6ea52ea104fa3d93ce1f0"
> +SRC_URI[sha256sum] =
> "1db2d46ec3c6a97db146357841e02a95a15be658c2297dc571e6e61b32238561
> "
> +
> +TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
> +S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
> +
> +PVRBUILD = "release"
> +export KERNELDIR = "${STAGING_KERNEL_DIR}"
> +
> +INHIBIT_PACKAGE_STRIP = "1"
> +
> +TI_PLATFORM_omap3 = "omap3630"
> +TI_PLATFORM_ti814x = "ti81xx"
> +TI_PLATFORM_ti816x = "ti81xx"
> +TI_PLATFORM_ti33x = "ti335x"
> +
> +MODULESLOCATION_omap3 = "dc_omapfb3_linux"
> +MODULESLOCATION_ti814x = "dc_ti81xx_linux"
> +MODULESLOCATION_ti816x = "dc_ti81xx_linux"
> +MODULESLOCATION_ti33x = "dc_ti335x_linux"
> +
> +export SUPPORT_XORG ?= "${@base_contains('DISTRO_FEATURES',
> 'x11', '1', '0', d)}"
> +
> +MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM}
> SUPPORT_XORG=${SUPPORT_XORG}"

What is this used for?

> +
> +do_install() {
> +    mkdir -p
> ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
> +    cp  ${S}/pvrsrvkm.ko \
> +        ${S}/services4/3rdparty/${MODULESLOCATION}/omaplfb.ko  \
> +        ${S}/services4/3rdparty/bufferclass_ti/bufferclass_ti.ko
> \
> +
> ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
> +
> +     if [ "${SUPPORT_XORG}" = "1" ]; then
> +         cp ${S}/services4/3rdparty/linux_drm/drm.ko
> ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
> +     fi
> +}
> --
> 1.7.0.4
>
> _______________________________________________
> 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


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2][for-comments] omap3-sgx-modules: Add v4.08.00.01 of the SGX modules
  2012-10-10 16:22     ` Cooper Jr., Franklin
@ 2012-10-10 19:29       ` Maupin, Chase
  2012-10-10 22:16         ` Denys Dmytriyenko
  0 siblings, 1 reply; 10+ messages in thread
From: Maupin, Chase @ 2012-10-10 19:29 UTC (permalink / raw)
  To: Cooper Jr., Franklin, Franklin S. Cooper Jr, meta-ti

> -----Original Message-----
> From: Cooper Jr., Franklin
> Sent: Wednesday, October 10, 2012 11:23 AM
> To: Maupin, Chase; Franklin S. Cooper Jr; meta-
> ti@yoctoproject.org
> Subject: RE: [meta-ti] [PATCH 2/2][for-comments] omap3-sgx-
> modules: Add v4.08.00.01 of the SGX modules
> 
> 
> ________________________________________
> From: meta-ti-bounces@yoctoproject.org [meta-ti-
> bounces@yoctoproject.org] on behalf of Maupin, Chase
> Sent: Wednesday, October 10, 2012 10:55 AM
> To: Franklin S. Cooper Jr; meta-ti@yoctoproject.org
> Subject: Re: [meta-ti] [PATCH 2/2][for-comments] omap3-sgx-
> modules:     Add     v4.08.00.01 of the SGX modules
> 
> > -----Original Message-----
> > From: meta-ti-bounces@yoctoproject.org [mailto:meta-ti-
> > bounces@yoctoproject.org] On Behalf Of Franklin S. Cooper Jr
> > Sent: Tuesday, October 09, 2012 11:28 PM
> > To: meta-ti@yoctoproject.org
> > Subject: [meta-ti] [PATCH 2/2][for-comments] omap3-sgx-modules:
> > Add v4.08.00.01 of the SGX modules
> >
> > * Add version 4.08.00.01 of the SGX modules.
> >
> > Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
> > ---
> >  .../omap3-sgx-modules_4.08.00.01.bb                |   55
> > ++++++++++++++++++++
> >  1 files changed, 55 insertions(+), 0 deletions(-)
> >  create mode 100644 recipes-bsp/powervr-drivers/omap3-sgx-
> > modules_4.08.00.01.bb
> >
> > diff --git a/recipes-bsp/powervr-drivers/omap3-sgx-
> > modules_4.08.00.01.bb b/recipes-bsp/powervr-drivers/omap3-sgx-
> > modules_4.08.00.01.bb
> > new file mode 100644
> > index 0000000..f45934f
> > --- /dev/null
> > +++ b/recipes-bsp/powervr-drivers/omap3-sgx-
> modules_4.08.00.01.bb
> > @@ -0,0 +1,55 @@
> > +DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset
> found
> > in the omap3 SoCs"
> > +LICENSE = "GPLv2"
> > +LIC_FILES_CHKSUM =
> > "file://COPYING;md5=ea5743acf520dd81ca172e69f818a3d4"
> > +
> > +TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
> > +require ../../recipes-ti/includes/ti-eula-unpack.inc
> > +
> > +SGXPV = "4_08_00_01"
> > +IMGPV = "1.7.867897"
> > +BINFILE = "Graphics_SDK_setuplinux_${SGXPV}.bin"
> > +
> > +inherit module
> > +
> > +MACHINE_KERNEL_PR_append = "a"
> 
> As we learned the other day MACHINE_KERNEL_PR adds a dependency
> on the kernel.bbclass in meta-openembedded.  Should this check if
> MACHINE_KERNEL_PR is defined before doing the append?
> 
> Franklin: MACHINE_KERNEL_PR is used by 25+ include files,patches
> and machine files within meta-ti as of today. With that being
> said your change does make sense. I can add that to v2

Denys,

As I asked before, what should we do about MACHINE_KERNEL_PR in general for meta-ti?  I know we want to move away from meta-oe dependencies, so should we be trying to add MACHINE_KERNEL_PR to oe-core?  I see a patch for this was submitted back in 2011 but not picked up (http://lists.linuxtogo.org/pipermail/openembedded-core/2011-September/010193.html).  There was a lot of discussion but still no conclusion.  There was talk about the autoPR making this unneeded, but I think people skipped the issue of recipes that should be re-built when the kernel changes.

So for now should we leave this alone but take the question back to oe-core about why not to use this feature?

> 
> > +PR = "${MACHINE_KERNEL_PR}"
> > +
> > +DEFAULT_PREFERENCE = "-1"
> > +
> > +SRC_URI = "<ti-internal-
> > url>/Graphics_SDK_setuplinux_4_08_00_01.bin"
> > +SRC_URI[md5sum] = "95b8f02923d6ea52ea104fa3d93ce1f0"
> > +SRC_URI[sha256sum] =
> >
> "1db2d46ec3c6a97db146357841e02a95a15be658c2297dc571e6e61b32238561
> > "
> > +
> > +TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
> > +S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
> > +
> > +PVRBUILD = "release"
> > +export KERNELDIR = "${STAGING_KERNEL_DIR}"
> > +
> > +INHIBIT_PACKAGE_STRIP = "1"
> > +
> > +TI_PLATFORM_omap3 = "omap3630"
> > +TI_PLATFORM_ti814x = "ti81xx"
> > +TI_PLATFORM_ti816x = "ti81xx"
> > +TI_PLATFORM_ti33x = "ti335x"
> > +
> > +MODULESLOCATION_omap3 = "dc_omapfb3_linux"
> > +MODULESLOCATION_ti814x = "dc_ti81xx_linux"
> > +MODULESLOCATION_ti816x = "dc_ti81xx_linux"
> > +MODULESLOCATION_ti33x = "dc_ti335x_linux"
> > +
> > +export SUPPORT_XORG ?= "${@base_contains('DISTRO_FEATURES',
> > 'x11', '1', '0', d)}"
> > +
> > +MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM}
> > SUPPORT_XORG=${SUPPORT_XORG}"
> 
> What is this used for?
> 
> > +
> > +do_install() {
> > +    mkdir -p
> > ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
> > +    cp  ${S}/pvrsrvkm.ko \
> > +        ${S}/services4/3rdparty/${MODULESLOCATION}/omaplfb.ko
> \
> > +
> ${S}/services4/3rdparty/bufferclass_ti/bufferclass_ti.ko
> > \
> > +
> > ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
> > +
> > +     if [ "${SUPPORT_XORG}" = "1" ]; then
> > +         cp ${S}/services4/3rdparty/linux_drm/drm.ko
> > ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
> > +     fi
> > +}
> > --
> > 1.7.0.4
> >
> > _______________________________________________
> > 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


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2][for-comments] omap3-sgx-modules: Add v4.08.00.01 of the SGX modules
  2012-10-10 19:29       ` Maupin, Chase
@ 2012-10-10 22:16         ` Denys Dmytriyenko
  0 siblings, 0 replies; 10+ messages in thread
From: Denys Dmytriyenko @ 2012-10-10 22:16 UTC (permalink / raw)
  To: Maupin, Chase; +Cc: meta-ti

On Wed, Oct 10, 2012 at 07:29:23PM +0000, Maupin, Chase wrote:
> > > +++ b/recipes-bsp/powervr-drivers/omap3-sgx-
> > modules_4.08.00.01.bb
> > > @@ -0,0 +1,55 @@
> > > +DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset
> > found
> > > in the omap3 SoCs"
> > > +LICENSE = "GPLv2"
> > > +LIC_FILES_CHKSUM =
> > > "file://COPYING;md5=ea5743acf520dd81ca172e69f818a3d4"
> > > +
> > > +TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
> > > +require ../../recipes-ti/includes/ti-eula-unpack.inc
> > > +
> > > +SGXPV = "4_08_00_01"
> > > +IMGPV = "1.7.867897"
> > > +BINFILE = "Graphics_SDK_setuplinux_${SGXPV}.bin"
> > > +
> > > +inherit module
> > > +
> > > +MACHINE_KERNEL_PR_append = "a"
> > 
> > As we learned the other day MACHINE_KERNEL_PR adds a dependency
> > on the kernel.bbclass in meta-openembedded.  Should this check if
> > MACHINE_KERNEL_PR is defined before doing the append?
> > 
> > Franklin: MACHINE_KERNEL_PR is used by 25+ include files,patches
> > and machine files within meta-ti as of today. With that being
> > said your change does make sense. I can add that to v2
> 
> Denys,
> 
> As I asked before, what should we do about MACHINE_KERNEL_PR in general for 
> meta-ti?  I know we want to move away from meta-oe dependencies, so should 
> we be trying to add MACHINE_KERNEL_PR to oe-core?  I see a patch for this 
> was submitted back in 2011 but not picked up 
> (http://lists.linuxtogo.org/pipermail/openembedded-core/2011-September/010193.html).  
> There was a lot of discussion but still no conclusion.  There was talk about 
> the autoPR making this unneeded, but I think people skipped the issue of 
> recipes that should be re-built when the kernel changes. 

Well, PR service didn't get finished in time and is now scheduled for 1.4 
release...

But, since MACHINE_KERNEL_PR got moved to its own class[1], it should be 
slightly easier to "push" its acceptance to oe-core, as it is now "optional". 
BSP layers that want to use it, would need to inherit such class, while 
everyone else will not be bothered by it. As a matter of fact, meta-smartphone 
BSP layer already uses it this way, so can we. Although for now it's still 
only available from meta-oe, not oe-core... And not in denzil, due to the 
block on other kernel.bbclass patches pending...

[1] http://cgit.openembedded.org/meta-openembedded/commit/?id=d94c80615c39f707373978b4df5df423d9781051

> So for now should we leave this alone but take the question back to oe-core 
> about why not to use this feature?

For now, leave it alone, as it doesn't break things much, it just gets ignored 
when used w/o meta-oe layer in the stack...

-- 
Denys


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2012-10-10 22:16 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-10  4:28 [PATCH 1/2][for-comments] libgles-omap3: Add updated Graphics SDK Franklin S. Cooper Jr
2012-10-10  4:28 ` [PATCH 2/2][for-comments] omap3-sgx-modules: Add v4.08.00.01 of the SGX modules Franklin S. Cooper Jr
2012-10-10 15:55   ` Maupin, Chase
2012-10-10 16:22     ` Cooper Jr., Franklin
2012-10-10 19:29       ` Maupin, Chase
2012-10-10 22:16         ` Denys Dmytriyenko
2012-10-10  4:39 ` [PATCH 1/2][for-comments] libgles-omap3: Add updated Graphics SDK Cooper Jr., Franklin
2012-10-10 15:48 ` Maupin, Chase
2012-10-10 15:52   ` Denys Dmytriyenko
2012-10-10 16:01     ` Maupin, Chase

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.