omap3 sgx drivers: fix initscript, fix S in kernel recipe
authorKoen Kooi <koen@openembedded.org>
Wed, 21 Jan 2009 19:52:47 +0000 (20:52 +0100)
committerKoen Kooi <koen@openembedded.org>
Wed, 21 Jan 2009 19:52:47 +0000 (20:52 +0100)
packages/powervr-drivers/libgles-omap3/rc.pvr
packages/powervr-drivers/libgles-omap3_3.00.00.05.bb
packages/powervr-drivers/omap3-sgx-modules/0001-Compile-fixes-for-DSS2.patch [new file with mode: 0644]
packages/powervr-drivers/omap3-sgx-modules_1.3.13.1397.bb

index 7c23603..f9877e4 100755 (executable)
@@ -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
 
index 43f6a55..62c69a0 100644 (file)
@@ -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 (file)
index 0000000..7dbf4d9
--- /dev/null
@@ -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
+
index 0120827..20bce60 100644 (file)
@@ -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
 }