All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-ti][kirkstone][PATCHv3 0/3] Reanimate the corpse of SGX
@ 2023-10-17  2:29 Randolph Sapp
  2023-10-17  2:29 ` [meta-ti][kirkstone][PATCHv3 1/3] ti-sgx-ddk-*: version bump to support kirkstone Randolph Sapp
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Randolph Sapp @ 2023-10-17  2:29 UTC (permalink / raw)
  To: reatmon, denys; +Cc: meta-ti, Randolph Sapp

Third times the charm.

Brining back SGX on kirkstone (and hopefully making it easier for the community
to port to other distros).

This overhauls the SGX drivers, fixing a few bugs and setting things up to
achieve three things:

1) OpenGLES2 Acceleration under kirkstone (even if it is limited)
2) Break out a common interface to use newer versions of mesa
3) Revamp building / packaging procedures to try and match ROGUE where possible

I'll absolutely need community involvement for further testing / development as
this driver will more than likely continue to take the backseat to ROGUE in the
future. I hope the people asking about SGX on kirkstone earlier this year hear
that... :)

This revision actually tests AM654, adds a fix for Yocto's dev-so stripping
shenanigans, and enables the SGX on the ti43x platforms as well. This also fixes
the issue in v2 where the SRCREV of the ROGUE driver was adjusted accidentally.

Randolph Sapp (3):
  ti-sgx-ddk-*: version bump to support kirkstone
  mesa-pvr: bump srcrev for sgx support
  machine: include: enable sgx on tested platforms

 meta-ti-bsp/conf/machine/include/am65xx.inc   |  2 +-
 meta-ti-bsp/conf/machine/include/omap-a15.inc |  2 +-
 meta-ti-bsp/conf/machine/include/ti33x.inc    |  2 +-
 meta-ti-bsp/conf/machine/include/ti43x.inc    |  2 +-
 .../ti-sgx-ddk-km_1.17.4948957.bb             | 27 +++++-----
 .../recipes-graphics/mesa/mesa-pvr_22.3.5.bb  |  2 +-
 .../ti-sgx-ddk-um/pvrsrvkm.rules              |  1 -
 .../ti-sgx-ddk-um_1.17.4948957.bb             | 53 +++++++------------
 8 files changed, 37 insertions(+), 54 deletions(-)
 delete mode 100644 meta-ti-bsp/recipes-graphics/powervr-umlibs/ti-sgx-ddk-um/pvrsrvkm.rules

-- 
2.42.0



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

* [meta-ti][kirkstone][PATCHv3 1/3] ti-sgx-ddk-*: version bump to support kirkstone
  2023-10-17  2:29 [meta-ti][kirkstone][PATCHv3 0/3] Reanimate the corpse of SGX Randolph Sapp
@ 2023-10-17  2:29 ` Randolph Sapp
  2023-10-17  2:29 ` [meta-ti][kirkstone][PATCHv3 2/3] mesa-pvr: bump srcrev for sgx support Randolph Sapp
  2023-10-17  2:29 ` [meta-ti][kirkstone][PATCHv3 3/3] machine: include: enable sgx on tested platforms Randolph Sapp
  2 siblings, 0 replies; 4+ messages in thread
From: Randolph Sapp @ 2023-10-17  2:29 UTC (permalink / raw)
  To: reatmon, denys; +Cc: meta-ti, Randolph Sapp

From: Randolph Sapp <rs@ti.com>

Bump ti-sgx-ddk-um and ti-sgx-ddk-km to the new branch for Kirkstone and
mesa independent builds. This also sets up SGX to use the latest mesa
revision rogue uses.

Changelog:

 - IMG Support has officially ended. This repo will not be getting
   regular updates after this unless things are really broken.
 - The Mesa patches which were previously being relicensed internally
   were opened and combined with the unofficial rogue efforts on
   freedesktop.
 - Toolchains were upgraded and multiple warnings and issues were
   addressed. Hardware recoveries work now, but there are still some
   longstanding issues with SGX that remain to be addressed if further
   resources are set aside for that.
 - We moved to an lws-generic build target to avoid rebuilding external
   components. As such, these external components must be patched as
   needed. Libdrm is an example of this and the required patches can be
   found in meta-ti.

Known bugs:

 - Buffer allocations under Weston may misbehave
 - GLSL macro redefinitions will cause errors regardless of whether or
   not they are identical

Signed-off-by: Randolph Sapp <rs@ti.com>
---
 .../ti-sgx-ddk-km_1.17.4948957.bb             | 27 +++++-----
 .../ti-sgx-ddk-um/pvrsrvkm.rules              |  1 -
 .../ti-sgx-ddk-um_1.17.4948957.bb             | 53 +++++++------------
 3 files changed, 32 insertions(+), 49 deletions(-)
 delete mode 100644 meta-ti-bsp/recipes-graphics/powervr-umlibs/ti-sgx-ddk-um/pvrsrvkm.rules

diff --git a/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-sgx-ddk-km_1.17.4948957.bb b/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-sgx-ddk-km_1.17.4948957.bb
index bf4fa98a..ca28ae76 100644
--- a/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-sgx-ddk-km_1.17.4948957.bb
+++ b/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-sgx-ddk-km_1.17.4948957.bb
@@ -1,7 +1,7 @@
 DESCRIPTION =  "Kernel drivers for the PowerVR SGX chipset found in the TI SoCs"
 HOMEPAGE = "https://git.ti.com/graphics/omap5-sgx-ddk-linux"
 LICENSE = "MIT | GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://eurasia_km/README;beginline=13;endline=22;md5=74506d9b8e5edbce66c2747c50fcef12"
+LIC_FILES_CHKSUM = "file://GPL-COPYING;md5=60422928ba677faaa13d6ab5f5baaa1e"
 
 inherit module
 
@@ -16,33 +16,30 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 DEPENDS = "virtual/kernel"
 
-BRANCH = "ti-img-sgx/${PV}/k5.10"
+BRANCH = "${PV}/mesa/k6.1"
 
 SRC_URI = "git://git.ti.com/git/graphics/omap5-sgx-ddk-linux.git;protocol=https;branch=${BRANCH}"
 
 S = "${WORKDIR}/git"
 
-SRCREV = "eda7780bfd5277e16913c9bc0b0e6892b4e79063"
+SRCREV = "2cb2c9609b7740cb2c348e669a96f26e1cc858da"
 
-TARGET_PRODUCT:omap-a15 = "jacinto6evm"
-TARGET_PRODUCT:ti33x = "ti335x"
-TARGET_PRODUCT:ti43x = "ti437x"
-TARGET_PRODUCT:am65xx = "ti654x"
+TARGET_PRODUCT:omap-a15 = "ti572x_linux"
+TARGET_PRODUCT:ti33x = "ti335x_linux"
+TARGET_PRODUCT:ti43x = "ti437x_linux"
+TARGET_PRODUCT:am65xx = "ti654x_linux"
 PVR_BUILD = "release"
-PVR_WS = "nulldrmws"
+PVR_WS = "lws-generic"
 
-EXTRA_OEMAKE += 'KERNELDIR="${STAGING_KERNEL_DIR}" BUILD=${PVR_BUILD} TARGET_PRODUCT=${TARGET_PRODUCT} WINDOW_SYSTEM=${PVR_WS}'
-
-do_compile:prepend() {
-    cd ${S}/eurasia_km/eurasiacon/build/linux2/omap_linux
-}
+EXTRA_OEMAKE += 'KERNELDIR="${STAGING_KERNEL_DIR}" BUILD=${PVR_BUILD} \
+WINDOW_SYSTEM=${PVR_WS} PVR_BUILD_DIR=${TARGET_PRODUCT}'
 
 do_install() {
-    make -C ${STAGING_KERNEL_DIR} M=${B}/eurasia_km/eurasiacon/binary_omap_linux_${PVR_WS}_${PVR_BUILD}/target_armhf/kbuild INSTALL_MOD_PATH=${D}${root_prefix} PREFIX=${STAGING_DIR_HOST} modules_install
+    make -C ${STAGING_KERNEL_DIR} M=${B}/eurasiacon/binary_${TARGET_PRODUCT}_${PVR_WS}_${PVR_BUILD}/target_armhf/kbuild INSTALL_MOD_PATH=${D}${root_prefix} PREFIX=${STAGING_DIR_HOST} modules_install
 }
 
 do_install:am65xx() {
-    make -C ${STAGING_KERNEL_DIR} M=${B}/eurasia_km/eurasiacon/binary_omap_linux_${PVR_WS}_${PVR_BUILD}/target_aarch64/kbuild INSTALL_MOD_PATH=${D}${root_prefix} PREFIX=${STAGING_DIR_HOST} modules_install
+    make -C ${STAGING_KERNEL_DIR} M=${B}/eurasiacon/binary_${TARGET_PRODUCT}_${PVR_WS}_${PVR_BUILD}/target_aarch64/kbuild INSTALL_MOD_PATH=${D}${root_prefix} PREFIX=${STAGING_DIR_HOST} modules_install
 }
 
 RRECOMMENDS:${PN} += "ti-sgx-ddk-um"
diff --git a/meta-ti-bsp/recipes-graphics/powervr-umlibs/ti-sgx-ddk-um/pvrsrvkm.rules b/meta-ti-bsp/recipes-graphics/powervr-umlibs/ti-sgx-ddk-um/pvrsrvkm.rules
deleted file mode 100644
index e49fd9b8..00000000
--- a/meta-ti-bsp/recipes-graphics/powervr-umlibs/ti-sgx-ddk-um/pvrsrvkm.rules
+++ /dev/null
@@ -1 +0,0 @@
-SUBSYSTEM=="platform", ACTION=="bind", ENV{DRIVER}=="pvrsrvkm", RUN+="/usr/bin/pvrsrvctl --start --no-module"
diff --git a/meta-ti-bsp/recipes-graphics/powervr-umlibs/ti-sgx-ddk-um_1.17.4948957.bb b/meta-ti-bsp/recipes-graphics/powervr-umlibs/ti-sgx-ddk-um_1.17.4948957.bb
index 755cc4f5..d2565318 100644
--- a/meta-ti-bsp/recipes-graphics/powervr-umlibs/ti-sgx-ddk-um_1.17.4948957.bb
+++ b/meta-ti-bsp/recipes-graphics/powervr-umlibs/ti-sgx-ddk-um_1.17.4948957.bb
@@ -1,38 +1,35 @@
 DESCRIPTION = "Userspace libraries for PowerVR SGX chipset on TI SoCs"
 HOMEPAGE = "https://git.ti.com/graphics/omap5-sgx-ddk-um-linux"
 LICENSE = "TI-TSPA"
-LIC_FILES_CHKSUM = "file://TI-Linux-Graphics-DDK-UM-Manifest.doc;md5=b17390502bc89535c86cfbbae961a2a8"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7232b98c1c58f99e3baa03de5207e76f"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 COMPATIBLE_MACHINE = "ti33x|ti43x|omap-a15|am65xx"
 
 PR = "r38"
 
-BRANCH = "ti-img-sgx/kirkstone-mesa/${PV}"
+BRANCH = "${PV}/mesa/glibc-2.35"
 
 SRC_URI = " \
     git://git.ti.com/git/graphics/omap5-sgx-ddk-um-linux.git;protocol=https;branch=${BRANCH} \
-    file://pvrsrvkm.rules \
 "
-SRCREV = "bbae7217051341f515515ec190e165119102f45a"
-
-TARGET_PRODUCT:ti33x = "ti335x"
-TARGET_PRODUCT:ti43x = "ti437x"
-TARGET_PRODUCT:omap-a15 = "ti572x"
-TARGET_PRODUCT:am65xx = "ti654x"
+SRCREV = "70364424dd496833fad5b243c9e6cc8b077f04ac"
 
 INITSCRIPT_NAME = "rc.pvr"
 INITSCRIPT_PARAMS = "defaults 8"
 
 PACKAGECONFIG ??= "udev"
-PACKAGECONFIG[udev] = ",,,udev"
+PACKAGECONFIG[udev] = "UDEV=true,,,udev"
+
+def use_sysvinit(d):
+    return d.getVar('VIRTUAL-RUNTIME_init_manager') == 'sysvinit'
 
-def use_initscript(d):
-    sysvinit = bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d)
-    udev = bb.utils.contains('PACKAGECONFIG', 'udev', True, False, d)
-    return sysvinit and not udev
+inherit ${@oe.utils.ifelse(use_sysvinit(d), 'update-rc.d', '')}
 
-inherit ${@oe.utils.ifelse(use_initscript(d), 'update-rc.d', '')}
+TARGET_PRODUCT:ti33x = "ti335x_linux"
+TARGET_PRODUCT:ti43x = "ti437x_linux"
+TARGET_PRODUCT:omap-a15 = "ti572x_linux"
+TARGET_PRODUCT:am65xx = "ti654x_linux"
 
 RDEPENDS:${PN} += "libdrm"
 
@@ -40,24 +37,10 @@ RRECOMMENDS:${PN} += "ti-sgx-ddk-km"
 
 S = "${WORKDIR}/git"
 
-do_install () {
-    oe_runmake install DESTDIR=${D} TARGET_PRODUCT=${TARGET_PRODUCT}
-
-    without_sysvinit=${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'false', 'true', d)}
-    with_udev=${@bb.utils.contains('PACKAGECONFIG', 'udev', 'true', 'false', d)}
+EXTRA_OEMAKE += "DESTDIR=${D} TARGET_PRODUCT=${TARGET_PRODUCT} ${PACKAGECONFIG_CONFARGS}"
 
-    # Delete initscript if it is not needed or would conflict with the udev rules
-    if ${@oe.utils.ifelse(use_initscript(d), 'false', 'true')}; then
-        rm -rf ${D}${sysconfdir}/init.d
-        rmdir --ignore-fail-on-non-empty ${D}${sysconfdir}
-    fi
-
-    if $with_udev; then
-        install -m644 -D ${WORKDIR}/pvrsrvkm.rules \
-            ${D}${nonarch_base_libdir}/udev/rules.d/80-pvrsrvkm.rules
-    fi
-
-    chown -R root:root ${D}
+do_install() {
+    oe_runmake install
 }
 
 FILES:${PN} =  "${bindir}/*"
@@ -66,6 +49,10 @@ FILES:${PN} +=  "${includedir}/*"
 FILES:${PN} +=  "${sysconfdir}/*"
 FILES:${PN} +=  "${datadir}/*"
 FILES:${PN} += "${nonarch_base_libdir}/udev/rules.d"
+FILES:${PN} += "${nonarch_base_libdir}/systemd/system"
+
+# No debug or dev packages for this recipe
+PACKAGES = "${PN}"
 
 INSANE_SKIP:${PN} += "ldflags"
-INSANE_SKIP:${PN} += "already-stripped"
+INSANE_SKIP:${PN} += "already-stripped dev-so"
-- 
2.42.0



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

* [meta-ti][kirkstone][PATCHv3 2/3] mesa-pvr: bump srcrev for sgx support
  2023-10-17  2:29 [meta-ti][kirkstone][PATCHv3 0/3] Reanimate the corpse of SGX Randolph Sapp
  2023-10-17  2:29 ` [meta-ti][kirkstone][PATCHv3 1/3] ti-sgx-ddk-*: version bump to support kirkstone Randolph Sapp
@ 2023-10-17  2:29 ` Randolph Sapp
  2023-10-17  2:29 ` [meta-ti][kirkstone][PATCHv3 3/3] machine: include: enable sgx on tested platforms Randolph Sapp
  2 siblings, 0 replies; 4+ messages in thread
From: Randolph Sapp @ 2023-10-17  2:29 UTC (permalink / raw)
  To: reatmon, denys; +Cc: meta-ti, Randolph Sapp

From: Randolph Sapp <rs@ti.com>

Bump the SRCREV to include the required changes to build for SGX now.

Signed-off-by: Randolph Sapp <rs@ti.com>
---
 meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_22.3.5.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_22.3.5.bb b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_22.3.5.bb
index 281d6a21..857bbdf3 100644
--- a/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_22.3.5.bb
+++ b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_22.3.5.bb
@@ -23,7 +23,7 @@ SRC_URI = " \
 
 S = "${WORKDIR}/git"
 
-SRCREV = "54fd9d7dea098b6f11c2a244b0c6763dc8c5690c"
+SRCREV = "13829fd7ffa8e9e961cc8702869da55d72f99a84"
 
 PACKAGECONFIG:append = " \
     ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/gpudriver', 'ti-img-rogue-driver', 'pvr', '', d)} \
-- 
2.42.0



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

* [meta-ti][kirkstone][PATCHv3 3/3] machine: include: enable sgx on tested platforms
  2023-10-17  2:29 [meta-ti][kirkstone][PATCHv3 0/3] Reanimate the corpse of SGX Randolph Sapp
  2023-10-17  2:29 ` [meta-ti][kirkstone][PATCHv3 1/3] ti-sgx-ddk-*: version bump to support kirkstone Randolph Sapp
  2023-10-17  2:29 ` [meta-ti][kirkstone][PATCHv3 2/3] mesa-pvr: bump srcrev for sgx support Randolph Sapp
@ 2023-10-17  2:29 ` Randolph Sapp
  2 siblings, 0 replies; 4+ messages in thread
From: Randolph Sapp @ 2023-10-17  2:29 UTC (permalink / raw)
  To: reatmon, denys; +Cc: meta-ti, Randolph Sapp

From: Randolph Sapp <rs@ti.com>

Enable SGX Graphics on the currently tested platforms.

Signed-off-by: Randolph Sapp <rs@ti.com>
---
 meta-ti-bsp/conf/machine/include/am65xx.inc   | 2 +-
 meta-ti-bsp/conf/machine/include/omap-a15.inc | 2 +-
 meta-ti-bsp/conf/machine/include/ti33x.inc    | 2 +-
 meta-ti-bsp/conf/machine/include/ti43x.inc    | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/meta-ti-bsp/conf/machine/include/am65xx.inc b/meta-ti-bsp/conf/machine/include/am65xx.inc
index 405d82ad..2c427b88 100644
--- a/meta-ti-bsp/conf/machine/include/am65xx.inc
+++ b/meta-ti-bsp/conf/machine/include/am65xx.inc
@@ -4,7 +4,7 @@ SOC_FAMILY:append = ":am65xx"
 MACHINE_FEATURES += "screen touchscreen gpu"
 
 require conf/machine/include/mesa-pvr.inc
-PREFERRED_PROVIDER_virtual/gpudriver ?= ""
+PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-sgx-ddk-km"
 
 KERNEL_DEVICETREE_PREFIX = "ti/k3-am654"
 
diff --git a/meta-ti-bsp/conf/machine/include/omap-a15.inc b/meta-ti-bsp/conf/machine/include/omap-a15.inc
index c9d16f3c..c1eb659b 100644
--- a/meta-ti-bsp/conf/machine/include/omap-a15.inc
+++ b/meta-ti-bsp/conf/machine/include/omap-a15.inc
@@ -13,7 +13,7 @@ PREFERRED_PROVIDER_u-boot ?= "u-boot-ti-staging"
 
 # Graphics providers and variables
 require conf/machine/include/mesa-pvr.inc
-PREFERRED_PROVIDER_virtual/gpudriver ?= ""
+PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-sgx-ddk-km"
 PVR_DISPLAY_CONTROLLER_ALIAS ?= "omapdrm"
 
 KERNEL_IMAGETYPE = "zImage"
diff --git a/meta-ti-bsp/conf/machine/include/ti33x.inc b/meta-ti-bsp/conf/machine/include/ti33x.inc
index ad19798d..567cf128 100644
--- a/meta-ti-bsp/conf/machine/include/ti33x.inc
+++ b/meta-ti-bsp/conf/machine/include/ti33x.inc
@@ -14,7 +14,7 @@ PREFERRED_PROVIDER_u-boot ?= "u-boot-ti-staging"
 
 # Graphics providers and variables
 require conf/machine/include/mesa-pvr.inc
-PREFERRED_PROVIDER_virtual/gpudriver ?= ""
+PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-sgx-ddk-km"
 PVR_DISPLAY_CONTROLLER_ALIAS ?= "tilcdc"
 
 KERNEL_IMAGETYPE = "zImage"
diff --git a/meta-ti-bsp/conf/machine/include/ti43x.inc b/meta-ti-bsp/conf/machine/include/ti43x.inc
index ea5d1505..c70a8363 100644
--- a/meta-ti-bsp/conf/machine/include/ti43x.inc
+++ b/meta-ti-bsp/conf/machine/include/ti43x.inc
@@ -14,7 +14,7 @@ PREFERRED_PROVIDER_u-boot ?= "u-boot-ti-staging"
 
 # Graphics providers and variables
 require conf/machine/include/mesa-pvr.inc
-PREFERRED_PROVIDER_virtual/gpudriver ?= ""
+PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-sgx-ddk-km"
 PVR_DISPLAY_CONTROLLER_ALIAS ?= "omapdrm"
 
 KERNEL_IMAGETYPE = "zImage"
-- 
2.42.0



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

end of thread, other threads:[~2023-10-17  2:30 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-17  2:29 [meta-ti][kirkstone][PATCHv3 0/3] Reanimate the corpse of SGX Randolph Sapp
2023-10-17  2:29 ` [meta-ti][kirkstone][PATCHv3 1/3] ti-sgx-ddk-*: version bump to support kirkstone Randolph Sapp
2023-10-17  2:29 ` [meta-ti][kirkstone][PATCHv3 2/3] mesa-pvr: bump srcrev for sgx support Randolph Sapp
2023-10-17  2:29 ` [meta-ti][kirkstone][PATCHv3 3/3] machine: include: enable sgx on tested platforms Randolph Sapp

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.