diff options
5 files changed, 62 insertions, 0 deletions
diff --git a/recipes/powervr-drivers/omap3-sgx-modules/0002-Compile-fixes-for-DSS2.patch b/recipes/powervr-drivers/omap3-sgx-modules/0002-Compile-fixes-for-DSS2.patch new file mode 100644 index 0000000000..c319ac57a9 --- /dev/null +++ b/recipes/powervr-drivers/omap3-sgx-modules/0002-Compile-fixes-for-DSS2.patch @@ -0,0 +1,11 @@ +--- a/services4/3rdparty/dc_omap3430_linux/omaplfb_linux.c ++++ b/services4/3rdparty/dc_omap3430_linux/omaplfb_linux.c +@@ -171,7 +171,7 @@ + #if !defined (CONFIG_OMAP2_DSS) + omap_dispc_free_irq(DISPC_IRQ_VSYNC, OMAPLFBVSyncISR, psSwapChain); + #else +- omap_dispc_unregister_isr(OMAPLFBVSyncISR); ++ omap_dispc_unregister_isr(OMAPLFBVSyncISR, psSwapChain, DISPC_IRQ_VSYNC); + #endif + return PVRSRV_OK; + } diff --git a/recipes/powervr-drivers/omap3-sgx-modules/build_es3.x_sgx.patch b/recipes/powervr-drivers/omap3-sgx-modules/build_es3.x_sgx.patch new file mode 100644 index 0000000000..93df6b3da5 --- /dev/null +++ b/recipes/powervr-drivers/omap3-sgx-modules/build_es3.x_sgx.patch @@ -0,0 +1,11 @@ +--- /tmp/Makefile 2009-05-04 01:14:25.000000000 +0530 ++++ omap3-sgx-modules-1.3.13.1607/Makefile 2009-05-04 01:14:36.000000000 +0530 +@@ -10,7 +10,7 @@ export BUILD = debug + export KBUILD_EXTRA_SYMBOLS = `pwd`/services4/srvkm/env/linux/kbuild/Module.symvers + + SGXCORE = 530 +-CORE = -DSGX530 -DSUPPORT_SGX530 -DSGX_CORE_REV=103 ++CORE = -DSGX530 -DSUPPORT_SGX530 -DSGX_CORE_REV=121 + + SUPPORT_SGX = 1 + SUPPORT_HW_RECOVERY = 1 diff --git a/recipes/powervr-drivers/omap3-sgx-modules/omap3-sgx-modules-1.3.13.1607.tar.bz2 b/recipes/powervr-drivers/omap3-sgx-modules/omap3-sgx-modules-1.3.13.1607.tar.bz2 Binary files differnew file mode 100644 index 0000000000..5c2fd6a0ab --- /dev/null +++ b/recipes/powervr-drivers/omap3-sgx-modules/omap3-sgx-modules-1.3.13.1607.tar.bz2 diff --git a/recipes/powervr-drivers/omap3-sgx-modules/rotation-dss2.patch b/recipes/powervr-drivers/omap3-sgx-modules/rotation-dss2.patch new file mode 100644 index 0000000000..ea4a6a10c6 --- /dev/null +++ b/recipes/powervr-drivers/omap3-sgx-modules/rotation-dss2.patch @@ -0,0 +1,21 @@ +--- a/services4/3rdparty/dc_omap3430_linux/omaplfb_displayclass.c 2009-01-22 17:08:25.000000000 +0530 ++++ b/services4/3rdparty/dc_omap3430_linux/omaplfb_displayclass.c 2009-04-25 16:43:22.000000000 +0530 +@@ -1014,8 +1014,16 @@ + psPVRFBInfo->sSysAddr.uiAddr = psLINFBInfo->fix.smem_start; + psPVRFBInfo->sCPUVAddr = psLINFBInfo->screen_base; + +- psPVRFBInfo->ui32Width = psLINFBInfo->var.xres; +- psPVRFBInfo->ui32Height = psLINFBInfo->var.yres; ++ if ((psLINFBInfo->var.rotate == FB_ROTATE_CW) ++ || (psLINFBInfo->var.rotate == FB_ROTATE_CCW) ) { ++ ++ psPVRFBInfo->ui32Width = psLINFBInfo->var.yres; ++ psPVRFBInfo->ui32Height = psLINFBInfo->var.xres; ++ ++ } else { ++ psPVRFBInfo->ui32Width = psLINFBInfo->var.xres; ++ psPVRFBInfo->ui32Height = psLINFBInfo->var.yres; ++ } + psPVRFBInfo->ui32ByteStride = psLINFBInfo->fix.line_length; + psPVRFBInfo->ui32FBSize = FBSize; + psPVRFBInfo->ui32BufferSize = psPVRFBInfo->ui32Height * psPVRFBInfo->ui32ByteStride; diff --git a/recipes/powervr-drivers/omap3-sgx-modules_1.3.13.1607.bb b/recipes/powervr-drivers/omap3-sgx-modules_1.3.13.1607.bb new file mode 100644 index 0000000000..8e4d2a25bd --- /dev/null +++ b/recipes/powervr-drivers/omap3-sgx-modules_1.3.13.1607.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs" +LICENSE = "GPLv2" + +inherit module + +SRC_URI = "file://omap3-sgx-modules-${PV}.tar.bz2 \ + file://0002-Compile-fixes-for-DSS2.patch;patch=1 \ + file://rotation-dss2.patch;patch=1 \ + file://build_es3.x_sgx.patch;patch=1 \ +" + +PVRBUILD = "release" + +MAKE_TARGETS = " BUILD=${PVRBUILD}" + +do_install() { + mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr + cp ${S}/pvrsrvkm.ko ${S}/services4/3rdparty/dc_omap3430_linux/omaplfb.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr +} |