summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnand Balagopalakrishnan2014-12-07 02:52:31 -0600
committerAnand Balagopalakrishnan2014-12-08 04:19:55 -0600
commiteabfbabc80a6d435ad8d36347cdbf077113d7848 (patch)
treea02eed15dcf532c55f9bbd166604bae6685868db
parent5d1da83d94dc896580cadf2f5aead391985304d0 (diff)
downloadomap5-sgx-ddk-linux-eabfbabc80a6d435ad8d36347cdbf077113d7848.tar.gz
omap5-sgx-ddk-linux-eabfbabc80a6d435ad8d36347cdbf077113d7848.tar.xz
omap5-sgx-ddk-linux-eabfbabc80a6d435ad8d36347cdbf077113d7848.zip
Use omap_gem APIs for accessing private data
The current code accesses the private buffer from DRM object directly. Instead, use the APIs defined in omap_gem to access the private data. Change-Id: Ibd6c0bd9c4dfe7df4926e55ca0f28b917cbc262d Signed-off-by: Anand Balagopalakrishnan <anandb@ti.com>
-rw-r--r--eurasia_km/services4/srvkm/env/linux/mmap.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/eurasia_km/services4/srvkm/env/linux/mmap.c b/eurasia_km/services4/srvkm/env/linux/mmap.c
index 7e2fb34..bab4c2a 100644
--- a/eurasia_km/services4/srvkm/env/linux/mmap.c
+++ b/eurasia_km/services4/srvkm/env/linux/mmap.c
@@ -89,6 +89,8 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
89#error "The mmap code requires PVR_SECURE_HANDLES" 89#error "The mmap code requires PVR_SECURE_HANDLES"
90#endif 90#endif
91 91
92#define SGX_DRM_MAPPER_ID (0)
93
92/* WARNING: 94/* WARNING:
93 * The mmap code has its own mutex, to prevent a possible deadlock, 95 * The mmap code has its own mutex, to prevent a possible deadlock,
94 * when using gPVRSRVLock. 96 * when using gPVRSRVLock.
@@ -1348,8 +1350,9 @@ static void
1348MMapVOpenExt(struct vm_area_struct* ps_vma) 1350MMapVOpenExt(struct vm_area_struct* ps_vma)
1349{ 1351{
1350 struct drm_gem_object *obj = ps_vma->vm_private_data; 1352 struct drm_gem_object *obj = ps_vma->vm_private_data;
1353 void *priv = omap_gem_priv(obj, SGX_DRM_MAPPER_ID);
1351 PKV_OFFSET_STRUCT psOffsetStruct = 1354 PKV_OFFSET_STRUCT psOffsetStruct =
1352 FindOffsetStructByPID(obj->driver_private, OSGetCurrentProcessIDKM()); 1355 FindOffsetStructByPID(priv, OSGetCurrentProcessIDKM());
1353 if (WARN_ON(!psOffsetStruct)) 1356 if (WARN_ON(!psOffsetStruct))
1354 return; 1357 return;
1355 LinuxLockMutex(&g_sMMapMutex); 1358 LinuxLockMutex(&g_sMMapMutex);
@@ -1361,8 +1364,9 @@ static void
1361MMapVCloseExt(struct vm_area_struct* ps_vma) 1364MMapVCloseExt(struct vm_area_struct* ps_vma)
1362{ 1365{
1363 struct drm_gem_object *obj = ps_vma->vm_private_data; 1366 struct drm_gem_object *obj = ps_vma->vm_private_data;
1367 void *priv = omap_gem_priv(obj, SGX_DRM_MAPPER_ID);
1364 PKV_OFFSET_STRUCT psOffsetStruct = 1368 PKV_OFFSET_STRUCT psOffsetStruct =
1365 FindOffsetStructByPID(obj->driver_private, OSGetCurrentProcessIDKM()); 1369 FindOffsetStructByPID(priv, OSGetCurrentProcessIDKM());
1366 if (WARN_ON(!psOffsetStruct)) 1370 if (WARN_ON(!psOffsetStruct))
1367 return; 1371 return;
1368 LinuxLockMutex(&g_sMMapMutex); 1372 LinuxLockMutex(&g_sMMapMutex);
@@ -1414,7 +1418,7 @@ PVRMMapExt(struct file* pFile, struct vm_area_struct* ps_vma)
1414 1418
1415 psOffsetStruct->ui32UserVAddr = ps_vma->vm_start; 1419 psOffsetStruct->ui32UserVAddr = ps_vma->vm_start;
1416 1420
1417 obj->driver_private = psOffsetStruct->psLinuxMemArea; 1421 omap_gem_set_priv(obj, SGX_DRM_MAPPER_ID, psOffsetStruct->psLinuxMemArea);
1418 1422
1419 1423
1420 /* Compute the flush region (if necessary) inside the mmap mutex */ 1424 /* Compute the flush region (if necessary) inside the mmap mutex */