Lines Matching defs:dev

118 int drm_getunique(struct drm_device *dev, void *data,
124 mutex_lock(&dev->master_mutex);
128 mutex_unlock(&dev->master_mutex);
133 mutex_unlock(&dev->master_mutex);
139 drm_unset_busid(struct drm_device *dev,
147 static int drm_set_busid(struct drm_device *dev, struct drm_file *file_priv)
153 drm_unset_busid(dev, master);
156 if (dev->dev && dev_is_pci(dev->dev)) {
160 ret = drm_pci_set_busid(dev, master);
162 drm_unset_busid(dev, master);
166 WARN_ON(!dev->unique);
167 master->unique = kstrdup(dev->unique, GFP_KERNEL);
169 master->unique_len = strlen(dev->unique);
188 int drm_getclient(struct drm_device *dev, void *data,
232 static int drm_getstats(struct drm_device *dev, void *data,
246 static int drm_getcap(struct drm_device *dev, void *data, struct drm_file *file_priv)
262 req->value = drm_core_check_feature(dev, DRIVER_SYNCOBJ);
265 req->value = drm_core_check_feature(dev, DRIVER_SYNCOBJ_TIMELINE);
270 if (!drm_core_check_feature(dev, DRIVER_MODESET))
275 if (dev->driver->dumb_create)
282 req->value = dev->mode_config.preferred_depth;
285 req->value = dev->mode_config.prefer_shadow;
288 req->value = dev->mode_config.async_page_flip;
292 drm_for_each_crtc(crtc, dev) {
298 if (dev->mode_config.cursor_width)
299 req->value = dev->mode_config.cursor_width;
304 if (dev->mode_config.cursor_height)
305 req->value = dev->mode_config.cursor_height;
310 req->value = !dev->mode_config.fb_modifiers_not_supported;
325 drm_setclientcap(struct drm_device *dev, void *data, struct drm_file *file_priv)
332 if (!drm_core_check_feature(dev, DRIVER_MODESET))
347 if (!drm_core_check_feature(dev, DRIVER_ATOMIC))
397 static int drm_setversion(struct drm_device *dev, void *data, struct drm_file *file_priv)
402 mutex_lock(&dev->master_mutex);
411 dev->if_version = max(if_version, dev->if_version);
417 retcode = drm_set_busid(dev, file_priv);
424 if (sv->drm_dd_major != dev->driver->major ||
426 dev->driver->minor) {
435 sv->drm_dd_major = dev->driver->major;
436 sv->drm_dd_minor = dev->driver->minor;
437 mutex_unlock(&dev->master_mutex);
444 * @dev: DRM device for the ioctl
454 int drm_noop(struct drm_device *dev, void *data,
457 drm_dbg_core(dev, "\n");
464 * @dev: DRM device for the ioctl
477 int drm_invalid_op(struct drm_device *dev, void *data,
524 int drm_version(struct drm_device *dev, void *data,
530 version->version_major = dev->driver->major;
531 version->version_minor = dev->driver->minor;
532 version->version_patchlevel = dev->driver->patchlevel;
534 dev->driver->name);
537 dev->driver->date);
540 dev->driver->desc);
756 struct drm_device *dev = drm_get_device_from_kdev(device);
760 if (dev == NULL)
767 nr < DRM_COMMAND_BASE + dev->driver->num_ioctls)
768 ioctl = &dev->driver->ioctls[nr - DRM_COMMAND_BASE];
847 struct drm_device *dev = file_priv->minor->dev;
853 if (drm_dev_is_unplugged(dev))
861 if (likely(!drm_core_check_feature(dev, DRIVER_LEGACY)) ||
863 retcode = func(dev, kdata, file_priv);
866 retcode = func(dev, kdata, file_priv);
894 struct drm_device *dev;
904 dev = file_priv->minor->dev;
906 if (drm_dev_is_unplugged(dev))
918 if (index >= dev->driver->num_ioctls)
920 index = array_index_nospec(index, dev->driver->num_ioctls);
921 ioctl = &dev->driver->ioctls[index];
938 drm_dbg_core(dev, "comm=\"%s\" pid=%d, dev=0x%lx, auth=%d, %s\n",
947 drm_dbg_core(dev, "no function\n");
976 drm_dbg_core(dev,
977 "invalid ioctl: comm=\"%s\", pid=%d, dev=0x%lx, auth=%d, cmd=0x%02x, nr=0x%02x\n",
985 drm_dbg_core(dev, "comm=\"%s\", pid=%d, ret=%d\n",
1019 drm_do_ioctl(struct drm_device *dev, int minor, u_long cmd, caddr_t data)
1029 mutex_lock(&dev->filelist_mutex);
1030 file_priv = drm_find_file_by_minor(dev, minor);
1031 mutex_unlock(&dev->filelist_mutex);
1037 DRM_DEBUG("pid=%d, cmd=0x%02lx, nr=0x%02x, dev 0x%lx, auth=%d\n",
1038 curproc->p_p->ps_pid, cmd, (u_int)DRM_IOCTL_NR(cmd), (long)&dev->dev,
1050 (nr < DRM_COMMAND_BASE + dev->driver->num_ioctls)) {
1052 ioctl = &dev->driver->ioctls[nr - DRM_COMMAND_BASE];
1085 if (likely(!drm_core_check_feature(dev, DRIVER_LEGACY)) ||
1087 retcode = func(dev, adata, file_priv);
1090 retcode = func(dev, adata, file_priv);
1102 /* drmioctl is called whenever a process performs an ioctl on /dev/drm.
1107 struct drm_device *dev = drm_get_device_from_kdev(kdev);
1110 if (dev == NULL)
1113 mtx_enter(&dev->quiesce_mtx);
1114 while (dev->quiesce)
1115 msleep_nsec(&dev->quiesce, &dev->quiesce_mtx, PZERO, "drmioc",
1117 dev->quiesce_count++;
1118 mtx_leave(&dev->quiesce_mtx);
1120 error = -drm_do_ioctl(dev, minor(kdev), cmd, data);
1124 mtx_enter(&dev->quiesce_mtx);
1125 dev->quiesce_count--;
1126 if (dev->quiesce)
1127 wakeup(&dev->quiesce_count);
1128 mtx_leave(&dev->quiesce_mtx);