diff options
Diffstat (limited to 'drivers/gpu/pvr/ion.c')
-rw-r--r-- | drivers/gpu/pvr/ion.c | 18 |
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); |