summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2009-01-21 20:52:47 +0100
committerKoen Kooi <koen@openembedded.org>2009-01-21 20:52:47 +0100
commit69241c097a3ebf3c3797d792069eb7f71f0a2b76 (patch)
tree255b268673775f32f55bb3da74fc6a35ad0404d8
parentf18b0303e6cd2e643b2903da323af725a238ca78 (diff)
omap3 sgx drivers: fix initscript, fix S in kernel recipe
-rwxr-xr-xpackages/powervr-drivers/libgles-omap3/rc.pvr2
-rw-r--r--packages/powervr-drivers/libgles-omap3_3.00.00.05.bb2
-rw-r--r--packages/powervr-drivers/omap3-sgx-modules/0001-Compile-fixes-for-DSS2.patch96
-rw-r--r--packages/powervr-drivers/omap3-sgx-modules_1.3.13.1397.bb13
4 files changed, 107 insertions, 6 deletions
diff --git a/packages/powervr-drivers/libgles-omap3/rc.pvr b/packages/powervr-drivers/libgles-omap3/rc.pvr
index 7c23603280..f9877e4992 100755
--- a/packages/powervr-drivers/libgles-omap3/rc.pvr
+++ b/packages/powervr-drivers/libgles-omap3/rc.pvr
@@ -4,7 +4,7 @@ rmmod bc_example
rmmod omaplfb
rmmod pvrsrvkm
-insmod $(find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
+insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
modprobe -f bc_example
modprobe -f omaplfb
diff --git a/packages/powervr-drivers/libgles-omap3_3.00.00.05.bb b/packages/powervr-drivers/libgles-omap3_3.00.00.05.bb
index 43f6a55269..62c69a0ed0 100644
--- a/packages/powervr-drivers/libgles-omap3_3.00.00.05.bb
+++ b/packages/powervr-drivers/libgles-omap3_3.00.00.05.bb
@@ -2,7 +2,7 @@ require libgles-omap3.inc
# Not released yet
DEFAULT_PREFERENCE = "-1"
-PR = "r1"
+PR = "r2"
SGXPV = "3_00_00_05"
diff --git a/packages/powervr-drivers/omap3-sgx-modules/0001-Compile-fixes-for-DSS2.patch b/packages/powervr-drivers/omap3-sgx-modules/0001-Compile-fixes-for-DSS2.patch
new file mode 100644
index 0000000000..7dbf4d9e6e
--- /dev/null
+++ b/packages/powervr-drivers/omap3-sgx-modules/0001-Compile-fixes-for-DSS2.patch
@@ -0,0 +1,96 @@
+From 8b6a6bb6702ab796ab56dbbd6caa1b271ed4485b Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Fri, 9 Jan 2009 12:40:28 +0200
+Subject: [PATCH] Compile fixes for DSS2
+
+---
+ .../dc_omap3430_linux/omaplfb_displayclass.c | 6 ++++--
+ .../3rdparty/dc_omap3430_linux/omaplfb_linux.c | 14 ++++----------
+ 2 files changed, 8 insertions(+), 12 deletions(-)
+
+diff --git a/services4/3rdparty/dc_omap3430_linux/omaplfb_displayclass.c b/services4/3rdparty/dc_omap3430_linux/omaplfb_displayclass.c
+index 7b8ec37..6fde397 100755
+--- a/services4/3rdparty/dc_omap3430_linux/omaplfb_displayclass.c
++++ b/services4/3rdparty/dc_omap3430_linux/omaplfb_displayclass.c
+@@ -57,8 +57,6 @@ PVRSRV_ERROR OMAPLFBPostPower (IMG_HANDLE hDevHandle,
+ PVR_POWER_STATE eCurrentPowerState);
+ #endif
+
+-extern void omap_dispc_set_plane_base(int plane, IMG_UINT32 phys_addr);
+-
+ static PFN_DC_GET_PVRJTABLE pfnGetPVRJTable = IMG_NULL;
+
+ static OMAPLFB_DEVINFO * GetAnchorPtr(IMG_VOID)
+@@ -124,6 +122,9 @@ static void WorkHandler(
+ static PVRSRV_ERROR Flip(OMAPLFB_SWAPCHAIN *psSwapChain,
+ IMG_UINT32 aPhyAddr)
+ {
++ printk("no flipping\n");
++ return PVRSRV_OK;
++#if 0
+ if (1 /* omap2_disp_get_output_dev(OMAP2_GRAPHICS) == OMAP2_OUTPUT_LCD */)
+ {
+ omap_dispc_set_plane_base(0, aPhyAddr);
+@@ -137,6 +138,7 @@ static PVRSRV_ERROR Flip(OMAPLFB_SWAPCHAIN *psSwapChain,
+ }
+
+ return PVRSRV_ERROR_INVALID_PARAMS;
++#endif
+ }
+
+ static IMG_VOID EnableVSyncInterrupt(OMAPLFB_SWAPCHAIN *psSwapChain)
+diff --git a/services4/3rdparty/dc_omap3430_linux/omaplfb_linux.c b/services4/3rdparty/dc_omap3430_linux/omaplfb_linux.c
+index acf1631..12f3e32 100755
+--- a/services4/3rdparty/dc_omap3430_linux/omaplfb_linux.c
++++ b/services4/3rdparty/dc_omap3430_linux/omaplfb_linux.c
+@@ -37,6 +37,7 @@
+ #include <linux/slab.h>
+ #include <linux/errno.h>
+ #include <linux/interrupt.h>
++#include <mach/display.h>
+
+ #include <asm/io.h>
+
+@@ -52,10 +53,6 @@ MODULE_LICENSE("GPL");
+ MODULE_SUPPORTED_DEVICE(DRVNAME);
+
+
+-extern int omap_dispc_request_irq(unsigned long, void (*)(void *), void *);
+-extern void omap_dispc_free_irq(unsigned long, void (*)(void *), void *);
+-
+-
+ #define unref__ __attribute__ ((unused))
+
+
+@@ -101,17 +98,14 @@ PVRSRV_ERROR OMAPLFBGetLibFuncAddr (IMG_CHAR *szFunctionName, PFN_DC_GET_PVRJTAB
+ }
+
+ static void
+-OMAPLFBVSyncISR(void *arg)
++OMAPLFBVSyncISR(void *arg, u32 mask)
+ {
+ (void) OMAPLFBVSyncIHandler((OMAPLFB_SWAPCHAIN *)arg);
+ }
+
+-#define DISPC_IRQ_VSYNC 0x0002
+-
+ PVRSRV_ERROR OMAPLFBInstallVSyncISR(OMAPLFB_SWAPCHAIN *psSwapChain)
+ {
+-
+- if (omap_dispc_request_irq(DISPC_IRQ_VSYNC, OMAPLFBVSyncISR, psSwapChain) != 0)
++ if (omap_dispc_register_isr(OMAPLFBVSyncISR, psSwapChain, DISPC_IRQ_VSYNC) != 0)
+ return PVRSRV_ERROR_OUT_OF_MEMORY; /* not worth a proper mapping */
+
+ return PVRSRV_OK;
+@@ -120,7 +114,7 @@ PVRSRV_ERROR OMAPLFBInstallVSyncISR(OMAPLFB_SWAPCHAIN *psSwapChain)
+
+ PVRSRV_ERROR OMAPLFBUninstallVSyncISR (OMAPLFB_SWAPCHAIN *psSwapChain)
+ {
+- omap_dispc_free_irq(DISPC_IRQ_VSYNC, OMAPLFBVSyncISR, psSwapChain);
++ omap_dispc_unregister_isr(OMAPLFBVSyncISR);
+
+ return PVRSRV_OK;
+ }
+--
+1.5.6.3
+
diff --git a/packages/powervr-drivers/omap3-sgx-modules_1.3.13.1397.bb b/packages/powervr-drivers/omap3-sgx-modules_1.3.13.1397.bb
index 01208275ac..20bce6091c 100644
--- a/packages/powervr-drivers/omap3-sgx-modules_1.3.13.1397.bb
+++ b/packages/powervr-drivers/omap3-sgx-modules_1.3.13.1397.bb
@@ -1,17 +1,22 @@
DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs"
LICENSE = "GPLv2"
-PR = "r2"
+PR = "r3"
inherit module
-SRC_URI = "http://dominion.thruhere.net/koen/OE/omap3-sgx-modules-1.3.13.1397.tar.bz2"
-
-S = ${WORKDIR}/${PN}-${PV}/eurasiacon/build/linux/omap3430_linux/kbuild/
+SRC_URI = "http://dominion.thruhere.net/koen/OE/omap3-sgx-modules-${PV}.tar.bz2 \
+# file://0001-Compile-fixes-for-DSS2.patch;patch=1 \
+"
MAKE_TARGETS = "BUILD=debug"
+do_compile_prepend() {
+ cd ${S}/eurasiacon/build/linux/omap3430_linux/kbuild/
+}
+
do_install() {
+ cd ${S}/eurasiacon/build/linux/omap3430_linux/kbuild/
mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
cp ${WORKDIR}/${PN}-${PV}/eurasiacon/binary_omap3430_linux_debug/*.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
}