aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/pvr/ion.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/pvr/ion.c')
-rw-r--r--drivers/gpu/pvr/ion.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/drivers/gpu/pvr/ion.c b/drivers/gpu/pvr/ion.c
index f897ffa..b00fdb1 100644
--- a/drivers/gpu/pvr/ion.c
+++ b/drivers/gpu/pvr/ion.c
@@ -43,10 +43,9 @@
extern struct ion_client *gpsIONClient;
-struct ion_handle *
-PVRSRVExportFDToIONHandle(int fd, struct ion_client **client)
+void PVRSRVExportFDToIONHandles(int fd, struct ion_client **client,
+ struct ion_handle *handles[2])
{
- struct ion_handle *psIONHandle = IMG_NULL;
PVRSRV_FILE_PRIVATE_DATA *psPrivateData;
PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo;
LinuxMemArea *psLinuxMemArea;
@@ -89,7 +88,8 @@ PVRSRVExportFDToIONHandle(int fd, struct ion_client **client)
goto err_fput;
}
- psIONHandle = psLinuxMemArea->uData.sIONTilerAlloc.psIONHandle;
+ handles[0] = psLinuxMemArea->uData.sIONTilerAlloc.psIONHandle[0];
+ handles[1] = psLinuxMemArea->uData.sIONTilerAlloc.psIONHandle[1];
if(client)
*client = gpsIONClient;
@@ -98,7 +98,15 @@ err_fput:
err_unlock:
/* Allow PVRSRV clients to communicate with srvkm again */
LinuxUnLockMutex(&gPVRSRVLock);
- return psIONHandle;
}
+struct ion_handle *
+PVRSRVExportFDToIONHandle(int fd, struct ion_client **client)
+{
+ struct ion_handle *psHandles[2] = { IMG_NULL, IMG_NULL };
+ PVRSRVExportFDToIONHandles(fd, client, psHandles);
+ return psHandles[0];
+}
+
+EXPORT_SYMBOL(PVRSRVExportFDToIONHandles);
EXPORT_SYMBOL(PVRSRVExportFDToIONHandle);