[meta-ti] [PATCH 1/2] omap3-sgx-modules: add automatic selection between softfp and hardfp binaries
Denys Dmytriyenko
denis at denix.org
Thu Sep 12 20:24:46 PDT 2013
From: Denys Dmytriyenko <denys at ti.com>
This is based on the work by Franklin Cooper, with following changes:
* Cleanup and simplify the logic
* Reduce the number of Python calls
* Expand support from Raw to X11 variant
The original description:
* The Graphics SDK includes some binaries that are prebuilt.
* These prebuilt binaries come in two versions of the Graphics SDK. By default
the prebuilt binaries are built using a softfp toolchain. A separate hardfp
Graphics SDK exist that contains binaries that are prebuilt with a hardfp
toolchain.
* Add support for both by checking to see if the toolchain used in the OE build
is using a hardfp or softfp toolchain.
Signed-off-by: Denys Dmytriyenko <denys at ti.com>
Cc: Franklin S. Cooper Jr <fcooper at ti.com>
---
.../omap3-sgx-modules-x11_4.09.00.01.bb | 18 ++++++++++++++----
.../powervr-drivers/omap3-sgx-modules_4.09.00.01.bb | 20 ++++++++++++++++----
2 files changed, 30 insertions(+), 8 deletions(-)
diff --git a/recipes-bsp/powervr-drivers/omap3-sgx-modules-x11_4.09.00.01.bb b/recipes-bsp/powervr-drivers/omap3-sgx-modules-x11_4.09.00.01.bb
index 9134e61..fd79818 100644
--- a/recipes-bsp/powervr-drivers/omap3-sgx-modules-x11_4.09.00.01.bb
+++ b/recipes-bsp/powervr-drivers/omap3-sgx-modules-x11_4.09.00.01.bb
@@ -7,19 +7,29 @@ require ../../recipes-ti/includes/ti-eula-unpack.inc
SGXPV = "4_09_00_01"
IMGPV = "1.9.2188537"
-BINFILE = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin"
inherit module
-MACHINE_KERNEL_PR_append = "b"
+MACHINE_KERNEL_PR_append = "c"
PR = "${MACHINE_KERNEL_PR}"
DEFAULT_PREFERENCE = "-1"
+# Select the corresponding hardfp/softfp filename and checksums based on tune flags
+BINFILE_SOFTFP = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin"
+MD5SUM_SOFTFP = "bd35e9d8843aff3a2aca9d41e7db1c7d"
+SHA256SUM_SOFTFP = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647"
+
+BINFILE_HARDFP = "Graphics_SDK_setuplinux_${SGXPV}_hardfp_minimal_demos.bin"
+MD5SUM_HARDFP = "c9f656dce062d1ab10afffd4dfb71b67"
+SHA256SUM_HARDFP = "dbfeba8e1298f139495816334edec1455e6b49b1e11bd1b2aa0a888e5788bb6b"
+
+BINFILE = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${BINFILE_HARDFP}', '${BINFILE_SOFTFP}', d)}"
+
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE}"
-SRC_URI[md5sum] = "bd35e9d8843aff3a2aca9d41e7db1c7d"
-SRC_URI[sha256sum] = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647"
+SRC_URI[md5sum] = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${MD5SUM_HARDFP}', '${MD5SUM_SOFTFP}', d)}"
+SRC_URI[sha256sum] = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${SHA256SUM_HARDFP}', '${SHA256SUM_SOFTFP}', d)}"
TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
diff --git a/recipes-bsp/powervr-drivers/omap3-sgx-modules_4.09.00.01.bb b/recipes-bsp/powervr-drivers/omap3-sgx-modules_4.09.00.01.bb
index 399374d..1c8718c 100644
--- a/recipes-bsp/powervr-drivers/omap3-sgx-modules_4.09.00.01.bb
+++ b/recipes-bsp/powervr-drivers/omap3-sgx-modules_4.09.00.01.bb
@@ -7,19 +7,29 @@ require ../../recipes-ti/includes/ti-eula-unpack.inc
SGXPV = "4_09_00_01"
IMGPV = "1.9.2188537"
-BINFILE = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin"
inherit module
-MACHINE_KERNEL_PR_append = "a"
+MACHINE_KERNEL_PR_append = "b"
PR = "${MACHINE_KERNEL_PR}"
DEFAULT_PREFERENCE = "-1"
+# Select the corresponding hardfp/softfp filename and checksums based on tune flags
+BINFILE_SOFTFP = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin"
+MD5SUM_SOFTFP = "bd35e9d8843aff3a2aca9d41e7db1c7d"
+SHA256SUM_SOFTFP = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647"
+
+BINFILE_HARDFP = "Graphics_SDK_setuplinux_${SGXPV}_hardfp_minimal_demos.bin"
+MD5SUM_HARDFP = "c9f656dce062d1ab10afffd4dfb71b67"
+SHA256SUM_HARDFP = "dbfeba8e1298f139495816334edec1455e6b49b1e11bd1b2aa0a888e5788bb6b"
+
+BINFILE = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${BINFILE_HARDFP}', '${BINFILE_SOFTFP}', d)}"
+
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE}"
-SRC_URI[md5sum] = "bd35e9d8843aff3a2aca9d41e7db1c7d"
-SRC_URI[sha256sum] = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647"
+SRC_URI[md5sum] = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${MD5SUM_HARDFP}', '${MD5SUM_SOFTFP}', d)}"
+SRC_URI[sha256sum] = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${SHA256SUM_HARDFP}', '${SHA256SUM_SOFTFP}', d)}"
TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
@@ -41,6 +51,8 @@ MODULESLOCATION_ti33x = "dc_ti335x_linux"
MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=0"
+MAKE_TARGETS_append_ti33x = " PM_RUNTIME=1"
+
do_install() {
mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
cp ${S}/pvrsrvkm.ko \
--
1.8.3.2
More information about the meta-ti
mailing list