Lines Matching refs:dev
45 struct etna_device *dev = calloc(sizeof(*dev), 1);
47 if (!dev)
50 atomic_set(&dev->refcnt, 1);
51 dev->fd = fd;
52 dev->handle_table = drmHashCreate();
53 dev->name_table = drmHashCreate();
54 etna_bo_cache_init(&dev->bo_cache);
56 return dev;
64 struct etna_device *dev = etna_device_new(dup_fd);
66 if (dev)
67 dev->closefd = 1;
71 return dev;
74 drm_public struct etna_device *etna_device_ref(struct etna_device *dev)
76 atomic_inc(&dev->refcnt);
78 return dev;
81 static void etna_device_del_impl(struct etna_device *dev)
83 etna_bo_cache_cleanup(&dev->bo_cache, 0);
84 drmHashDestroy(dev->handle_table);
85 drmHashDestroy(dev->name_table);
87 if (dev->closefd)
88 close(dev->fd);
90 free(dev);
93 drm_private void etna_device_del_locked(struct etna_device *dev)
95 if (!atomic_dec_and_test(&dev->refcnt))
98 etna_device_del_impl(dev);
101 drm_public void etna_device_del(struct etna_device *dev)
103 if (!atomic_dec_and_test(&dev->refcnt))
107 etna_device_del_impl(dev);
111 drm_public int etna_device_fd(struct etna_device *dev)
113 return dev->fd;