Lines Matching refs:dev
46 add_bucket(struct fd_device *dev, int size) in add_bucket() argument
48 unsigned int i = dev->num_buckets; in add_bucket()
50 assert(i < ARRAY_SIZE(dev->cache_bucket)); in add_bucket()
52 list_inithead(&dev->cache_bucket[i].list); in add_bucket()
53 dev->cache_bucket[i].size = size; in add_bucket()
54 dev->num_buckets++; in add_bucket()
58 init_cache_buckets(struct fd_device *dev) in init_cache_buckets() argument
70 add_bucket(dev, 4096); in init_cache_buckets()
71 add_bucket(dev, 4096 * 2); in init_cache_buckets()
72 add_bucket(dev, 4096 * 3); in init_cache_buckets()
76 add_bucket(dev, size); in init_cache_buckets()
77 add_bucket(dev, size + size * 1 / 4); in init_cache_buckets()
78 add_bucket(dev, size + size * 2 / 4); in init_cache_buckets()
79 add_bucket(dev, size + size * 3 / 4); in init_cache_buckets()
85 struct fd_device *dev; in fd_device_new() local
97 dev = msm_device_new(fd); in fd_device_new()
101 dev = kgsl_device_new(fd); in fd_device_new()
105 dev = NULL; in fd_device_new()
109 if (!dev) in fd_device_new()
112 atomic_set(&dev->refcnt, 1); in fd_device_new()
113 dev->fd = fd; in fd_device_new()
114 dev->handle_table = drmHashCreate(); in fd_device_new()
115 dev->name_table = drmHashCreate(); in fd_device_new()
116 init_cache_buckets(dev); in fd_device_new()
118 return dev; in fd_device_new()
126 struct fd_device *dev = fd_device_new(dup(fd)); in fd_device_new_dup() local
127 if (dev) in fd_device_new_dup()
128 dev->closefd = 1; in fd_device_new_dup()
129 return dev; in fd_device_new_dup()
132 struct fd_device * fd_device_ref(struct fd_device *dev) in fd_device_ref() argument
134 atomic_inc(&dev->refcnt); in fd_device_ref()
135 return dev; in fd_device_ref()
138 static void fd_device_del_impl(struct fd_device *dev) in fd_device_del_impl() argument
140 fd_cleanup_bo_cache(dev, 0); in fd_device_del_impl()
141 drmHashDestroy(dev->handle_table); in fd_device_del_impl()
142 drmHashDestroy(dev->name_table); in fd_device_del_impl()
143 if (dev->closefd) in fd_device_del_impl()
144 close(dev->fd); in fd_device_del_impl()
145 dev->funcs->destroy(dev); in fd_device_del_impl()
148 drm_private void fd_device_del_locked(struct fd_device *dev) in fd_device_del_locked() argument
150 if (!atomic_dec_and_test(&dev->refcnt)) in fd_device_del_locked()
152 fd_device_del_impl(dev); in fd_device_del_locked()
155 void fd_device_del(struct fd_device *dev) in fd_device_del() argument
157 if (!atomic_dec_and_test(&dev->refcnt)) in fd_device_del()
160 fd_device_del_impl(dev); in fd_device_del()
164 int fd_device_fd(struct fd_device *dev) in fd_device_fd() argument
166 return dev->fd; in fd_device_fd()