aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/pvr/osfunc.c
diff options
context:
space:
mode:
authorImagination Technologies Ltd <gpl-support@imgtec.com>2011-06-29 18:40:33 +0100
committerRebecca Schultz Zavin <rebecca@android.com>2011-07-11 17:03:15 -0700
commitaf50f0bd0d46b8bf131849d34306f62090d8b9f9 (patch)
tree845a365ca2bf12771b2e8080a545b4165181d87f /drivers/gpu/pvr/osfunc.c
parent6d3f70d2cd5c4739b0cea3a439507721079ecbab (diff)
downloadkernel_samsung_tuna-af50f0bd0d46b8bf131849d34306f62090d8b9f9.zip
kernel_samsung_tuna-af50f0bd0d46b8bf131849d34306f62090d8b9f9.tar.gz
kernel_samsung_tuna-af50f0bd0d46b8bf131849d34306f62090d8b9f9.tar.bz2
gpu: pvr: Update to DDK 1.8.18.737
Diffstat (limited to 'drivers/gpu/pvr/osfunc.c')
-rw-r--r--drivers/gpu/pvr/osfunc.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/drivers/gpu/pvr/osfunc.c b/drivers/gpu/pvr/osfunc.c
index f0c6838..d14e73d 100644
--- a/drivers/gpu/pvr/osfunc.c
+++ b/drivers/gpu/pvr/osfunc.c
@@ -183,6 +183,21 @@ OSAllocPages_Impl(IMG_UINT32 ui32AllocFlags,
}
#endif
+ if(ui32AllocFlags & PVRSRV_MEM_ION)
+ {
+
+ BUG_ON((ui32AllocFlags & PVRSRV_HAP_MAPTYPE_MASK) != PVRSRV_HAP_SINGLE_PROCESS);
+
+ psLinuxMemArea = NewIONLinuxMemArea(ui32Size, ui32AllocFlags);
+ if(!psLinuxMemArea)
+ {
+ return PVRSRV_ERROR_OUT_OF_MEMORY;
+ }
+
+ PVRMMapRegisterArea(psLinuxMemArea);
+ goto ExitSkipSwitch;
+ }
+
switch(ui32AllocFlags & PVRSRV_HAP_MAPTYPE_MASK)
{
case PVRSRV_HAP_KERNEL_ONLY:
@@ -197,7 +212,6 @@ OSAllocPages_Impl(IMG_UINT32 ui32AllocFlags,
case PVRSRV_HAP_SINGLE_PROCESS:
{
-
psLinuxMemArea = NewAllocPagesLinuxMemArea(ui32Size, ui32AllocFlags);
if(!psLinuxMemArea)
{
@@ -229,6 +243,7 @@ OSAllocPages_Impl(IMG_UINT32 ui32AllocFlags,
return PVRSRV_ERROR_INVALID_PARAMS;
}
+ExitSkipSwitch:
*ppvCpuVAddr = LinuxMemAreaToCpuVAddr(psLinuxMemArea);
*phOSMemHandle = psLinuxMemArea;
@@ -2876,6 +2891,8 @@ IMG_BOOL CheckExecuteCacheOp(IMG_HANDLE hOSMemHandle,
break;
}
+ case LINUX_MEM_AREA_ION:
+
case LINUX_MEM_AREA_ALLOC_PAGES:
{
pvMinVAddr = FindMMapBaseVAddr(psMMapOffsetStructList,