remove PrivGem 06/148406/1
authorJunkyeong Kim <jk0430.kim@samsung.com>
Fri, 8 Sep 2017 01:34:55 +0000 (10:34 +0900)
committerJunkyeong Kim <jk0430.kim@samsung.com>
Fri, 8 Sep 2017 01:35:01 +0000 (10:35 +0900)
Change-Id: Ib5eee25d70427fa9910af2bab500878bac4da0cd
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
src/tbm_bufmgr_vc4.c

index 9b5782f..632302f 100644 (file)
@@ -201,11 +201,6 @@ union _tbm_bo_cache_state {
 typedef struct _tbm_bufmgr_vc4 *tbm_bufmgr_vc4;
 typedef struct _tbm_bo_vc4 *tbm_bo_vc4;
 
-typedef struct _vc4_private {
-       int ref_count;
-       struct _tbm_bo_vc4 *bo_priv;
-} PrivGem;
-
 /* tbm buffor object for vc4 */
 struct _tbm_bo_vc4 {
        int fd;
@@ -222,8 +217,6 @@ struct _tbm_bo_vc4 {
 
        unsigned int flags_tbm; /*not used now*//*currently no values for the flags,but it may be used in future extension*/
 
-       PrivGem *private;
-
        pthread_mutex_t mutex;
        struct dma_buf_fence dma_fence[DMA_FENCE_LIST_MAX];
        int device;
@@ -1016,20 +1009,9 @@ tbm_vc4_bo_alloc(tbm_bo bo, int size, int flags)
                bo_vc4->dmabuf = arg.fd;
        }
 
-       /* add bo to hash */
-       PrivGem *privGem = calloc(1, sizeof(PrivGem));
-
-       if (!privGem) {
-               TBM_VC4_ERROR("fail to calloc privGem\n");
-               free(bo_vc4);
-               return 0;
-       }
-
-       privGem->ref_count = 1;
-       privGem->bo_priv = bo_vc4;
-
+   /* add bo to hash */
        if (drmHashInsert(bufmgr_vc4->hashBos, bo_vc4->name,
-                         (void *)privGem) < 0) {
+                         (void *)bo_vc4) < 0) {
                TBM_VC4_ERROR("Cannot insert bo to Hash(%d)\n", bo_vc4->name);
        }
 
@@ -1077,18 +1059,12 @@ tbm_vc4_bo_free(tbm_bo bo)
        }
 
        /* delete bo from hash */
-       PrivGem *privGem = NULL;
        int ret;
 
        ret = drmHashLookup(bufmgr_vc4->hashBos, bo_vc4->name,
-                            (void **)&privGem);
+                            (void **)&bo_vc4);
        if (ret == 0) {
-               privGem->ref_count--;
-               if (privGem->ref_count == 0) {
-                       drmHashDelete(bufmgr_vc4->hashBos, bo_vc4->name);
-                       free(privGem);
-                       privGem = NULL;
-               }
+               drmHashDelete(bufmgr_vc4->hashBos, bo_vc4->name);
        } else {
                TBM_VC4_ERROR("Cannot find bo to Hash(%d), ret=%d\n",
                        bo_vc4->name, ret);
@@ -1117,15 +1093,14 @@ tbm_vc4_bo_import(tbm_bo bo, unsigned int key)
 
        tbm_bufmgr_vc4 bufmgr_vc4;
        tbm_bo_vc4 bo_vc4;
-       PrivGem *privGem = NULL;
        int ret;
 
        bufmgr_vc4 = (tbm_bufmgr_vc4)tbm_backend_get_bufmgr_priv(bo);
        VC4_RETURN_VAL_IF_FAIL(bufmgr_vc4 != NULL, 0);
 
-       ret = drmHashLookup(bufmgr_vc4->hashBos, key, (void **)&privGem);
+       ret = drmHashLookup(bufmgr_vc4->hashBos, key, (void **)&bo_vc4);
        if (ret == 0)
-               return privGem->bo_priv;
+               return bo_vc4;
 
        struct drm_gem_open arg = {0, };
 
@@ -1166,20 +1141,8 @@ tbm_vc4_bo_import(tbm_bo bo, unsigned int key)
        }
 
        /* add bo to hash */
-       privGem = NULL;
-
-       privGem = calloc(1, sizeof(PrivGem));
-       if (!privGem) {
-               TBM_VC4_ERROR("fail to calloc privGem\n");
-               free(bo_vc4);
-               return 0;
-       }
-
-       privGem->ref_count = 1;
-       privGem->bo_priv = bo_vc4;
-
        if (drmHashInsert(bufmgr_vc4->hashBos, bo_vc4->name,
-                          (void *)privGem) < 0) {
+                          (void *)bo_vc4) < 0) {
                TBM_VC4_ERROR("Cannot insert bo to Hash(%d)\n", bo_vc4->name);
        }
 
@@ -1200,7 +1163,6 @@ tbm_vc4_bo_import_fd(tbm_bo bo, tbm_fd key)
 
        tbm_bufmgr_vc4 bufmgr_vc4;
        tbm_bo_vc4 bo_vc4;
-       PrivGem *privGem = NULL;
        unsigned int name;
        int ret;
 
@@ -1227,10 +1189,10 @@ tbm_vc4_bo_import_fd(tbm_bo bo, tbm_fd key)
                return 0;
        }
 
-       ret = drmHashLookup(bufmgr_vc4->hashBos, name, (void **)&privGem);
+       ret = drmHashLookup(bufmgr_vc4->hashBos, name, (void **)&bo_vc4);
        if (ret == 0) {
-               if (gem == privGem->bo_priv->gem)
-                       return privGem->bo_priv;
+               if (gem == bo_vc4->gem)
+                       return bo_vc4;
        }
 
        unsigned int real_size = -1;
@@ -1282,20 +1244,8 @@ tbm_vc4_bo_import_fd(tbm_bo bo, tbm_fd key)
        }
 
        /* add bo to hash */
-       privGem = NULL;
-
-       privGem = calloc(1, sizeof(PrivGem));
-       if (!privGem) {
-               TBM_VC4_ERROR("fail to calloc privGem\n");
-               free(bo_vc4);
-               return 0;
-       }
-
-       privGem->ref_count = 1;
-       privGem->bo_priv = bo_vc4;
-
        if (drmHashInsert(bufmgr_vc4->hashBos, bo_vc4->name,
-                          (void *)privGem) < 0) {
+                          (void *)bo_vc4) < 0) {
                TBM_VC4_ERROR("bo:%p Cannot insert bo to Hash(%d) from gem:%d, fd:%d\n",
                               bo, bo_vc4->name, gem, key);
        }