Lines Matching +full:master +full:- +full:stats

55 	struct drm_master *master = file_priv->master;  in drm_getunique()  local
57 if (u->unique_len >= master->unique_len) { in drm_getunique()
58 if (copy_to_user(u->unique, master->unique, master->unique_len)) in drm_getunique()
59 return -EFAULT; in drm_getunique()
61 u->unique_len = master->unique_len; in drm_getunique()
68 struct drm_master *master) in drm_unset_busid() argument
71 free(master->unique, DRM_MEM_DRIVER); in drm_unset_busid()
72 master->unique = NULL; in drm_unset_busid()
73 master->unique_len = 0; in drm_unset_busid()
74 master->unique_size = 0; in drm_unset_busid()
95 struct drm_master *master = file_priv->master; in drm_setunique() local
98 if (master->unique_len || master->unique) in drm_setunique()
99 return -EBUSY; in drm_setunique()
101 if (!u->unique_len || u->unique_len > 1024) in drm_setunique()
102 return -EINVAL; in drm_setunique()
104 if (!dev->driver->bus->set_unique) in drm_setunique()
105 return -EINVAL; in drm_setunique()
107 ret = dev->driver->bus->set_unique(dev, master, u); in drm_setunique()
114 drm_unset_busid(dev, master); in drm_setunique()
120 struct drm_master *master = file_priv->master; in drm_set_busid() local
123 if (master->unique != NULL) in drm_set_busid()
124 drm_unset_busid(dev, master); in drm_set_busid()
126 ret = dev->driver->bus->set_busid(dev, master); in drm_set_busid()
131 drm_unset_busid(dev, master); in drm_set_busid()
157 idx = map->offset; in drm_getmap()
159 return -EINVAL; in drm_getmap()
163 list_for_each(list, &dev->maplist) { in drm_getmap()
170 if (!r_list || !r_list->map) { in drm_getmap()
172 return -EINVAL; in drm_getmap()
175 map->offset = r_list->map->offset; in drm_getmap()
176 map->size = r_list->map->size; in drm_getmap()
177 map->type = r_list->map->type; in drm_getmap()
178 map->flags = r_list->map->flags; in drm_getmap()
179 map->handle = (void *)(unsigned long) r_list->user_token; in drm_getmap()
180 map->mtrr = r_list->map->mtrr; in drm_getmap()
207 idx = client->idx; in drm_getclient()
211 list_for_each_entry(pt, &dev->filelist, lhead) { in drm_getclient()
213 client->auth = pt->authenticated; in drm_getclient()
214 client->pid = pt->pid; in drm_getclient()
215 client->uid = pt->uid; in drm_getclient()
216 client->magic = pt->magic; in drm_getclient()
217 client->iocs = pt->ioctl_count; in drm_getclient()
225 return -EINVAL; in drm_getclient()
241 struct drm_stats *stats = data; in drm_getstats() local
244 memset(stats, 0, sizeof(*stats)); in drm_getstats()
246 for (i = 0; i < dev->counters; i++) { in drm_getstats()
247 if (dev->types[i] == _DRM_STAT_LOCK) in drm_getstats()
248 stats->data[i].value = in drm_getstats()
249 (file_priv->master->lock.hw_lock ? file_priv->master->lock.hw_lock->lock : 0); in drm_getstats()
251 stats->data[i].value = atomic_read(&dev->counts[i]); in drm_getstats()
252 stats->data[i].type = dev->types[i]; in drm_getstats()
255 stats->count = dev->counters; in drm_getstats()
267 req->value = 0; in drm_getcap()
268 switch (req->capability) { in drm_getcap()
270 if (dev->driver->dumb_create) in drm_getcap()
271 req->value = 1; in drm_getcap()
274 req->value = 1; in drm_getcap()
277 req->value = dev->mode_config.preferred_depth; in drm_getcap()
280 req->value = dev->mode_config.prefer_shadow; in drm_getcap()
283 req->value |= false /* XXXKIB dev->driver->prime_fd_to_handle */ ? DRM_PRIME_CAP_IMPORT : 0; in drm_getcap()
284 req->value |= false /* XXXKIB dev->driver->prime_handle_to_fd */ ? DRM_PRIME_CAP_EXPORT : 0; in drm_getcap()
287 req->value = drm_timestamp_monotonic; in drm_getcap()
290 return -EINVAL; in drm_getcap()
311 if (sv->drm_di_major != -1) { in drm_setversion()
312 if (sv->drm_di_major != DRM_IF_MAJOR || in drm_setversion()
313 sv->drm_di_minor < 0 || sv->drm_di_minor > DRM_IF_MINOR) { in drm_setversion()
314 retcode = -EINVAL; in drm_setversion()
317 if_version = DRM_IF_VERSION(sv->drm_di_major, in drm_setversion()
318 sv->drm_di_minor); in drm_setversion()
319 dev->if_version = max(if_version, dev->if_version); in drm_setversion()
320 if (sv->drm_di_minor >= 1) { in drm_setversion()
331 if (sv->drm_dd_major != -1) { in drm_setversion()
332 if (sv->drm_dd_major != dev->driver->major || in drm_setversion()
333 sv->drm_dd_minor < 0 || sv->drm_dd_minor > in drm_setversion()
334 dev->driver->minor) { in drm_setversion()
335 retcode = -EINVAL; in drm_setversion()
339 if (dev->driver->set_version) in drm_setversion()
340 dev->driver->set_version(dev, sv); in drm_setversion()
344 sv->drm_di_major = DRM_IF_MAJOR; in drm_setversion()
345 sv->drm_di_minor = DRM_IF_MINOR; in drm_setversion()
346 sv->drm_dd_major = dev->driver->major; in drm_setversion()
347 sv->drm_dd_minor = dev->driver->minor; in drm_setversion()
352 /** No-op ioctl. */