Lines Matching defs:dev
55 bool drm_dev_needs_global_mutex(struct drm_device *dev)
62 if (drm_core_check_feature(dev, DRIVER_LEGACY))
71 if (dev->driver->load || dev->driver->unload)
80 if (dev->driver->lastclose)
153 struct drm_device *dev = minor->dev;
183 if (drm_core_check_feature(dev, DRIVER_GEM))
184 drm_gem_open(dev, file);
186 if (drm_core_check_feature(dev, DRIVER_SYNCOBJ))
191 if (dev->driver->open) {
192 ret = dev->driver->open(dev, file);
201 if (drm_core_check_feature(dev, DRIVER_SYNCOBJ))
203 if (drm_core_check_feature(dev, DRIVER_GEM))
204 drm_gem_release(dev, file);
213 struct drm_device *dev = file_priv->minor->dev;
217 spin_lock_irqsave(&dev->event_lock, flags);
232 spin_unlock_irqrestore(&dev->event_lock, flags);
247 struct drm_device *dev;
252 dev = file->minor->dev;
255 drm_dbg_core(dev, "comm=\"%s\", pid=%d, dev=0x%lx, open_count=%d\n",
258 atomic_read(&dev->open_count));
260 drm_dbg_core(dev, "pid=%d, dev=0x%lx, open_count=%d\n",
261 curproc->p_p->ps_pid, (long)&dev->dev,
262 atomic_read(&dev->open_count));
266 if (drm_core_check_feature(dev, DRIVER_LEGACY) &&
267 dev->driver->preclose)
268 dev->driver->preclose(dev, file);
271 if (drm_core_check_feature(dev, DRIVER_LEGACY))
272 drm_legacy_lock_release(dev, file->filp);
274 if (drm_core_check_feature(dev, DRIVER_HAVE_DMA))
275 drm_legacy_reclaim_buffers(dev, file);
279 if (drm_core_check_feature(dev, DRIVER_MODESET)) {
281 drm_property_destroy_user_blobs(dev, file);
284 if (drm_core_check_feature(dev, DRIVER_SYNCOBJ))
287 if (drm_core_check_feature(dev, DRIVER_GEM))
288 drm_gem_release(dev, file);
290 drm_legacy_ctxbitmap_flush(dev, file);
295 if (dev->driver->postclose)
296 dev->driver->postclose(dev, file);
311 struct drm_device *dev = file_priv->minor->dev;
313 mutex_lock(&dev->filelist_mutex);
315 mutex_unlock(&dev->filelist_mutex);
341 * filp and add it into the double linked list in \p dev.
345 struct drm_device *dev = minor->dev;
353 if (dev->switch_power_state != DRM_SWITCH_POWER_ON &&
354 dev->switch_power_state != DRM_SWITCH_POWER_DYNAMIC_OFF)
357 drm_dbg_core(dev, "comm=\"%s\", pid=%d, minor=%d\n",
376 mutex_lock(&dev->filelist_mutex);
377 list_add(&priv->lhead, &dev->filelist);
378 mutex_unlock(&dev->filelist_mutex);
385 if (!dev->hose) {
390 dev->hose = pci_dev->sysdata;
393 if (!dev->hose) {
397 dev->hose = b->sysdata;
424 struct drm_device *dev;
433 dev = minor->dev;
434 if (drm_dev_needs_global_mutex(dev))
437 if (!atomic_fetch_inc(&dev->open_count))
441 filp->f_mapping = dev->anon_inode->i_mapping;
447 retcode = drm_legacy_setup(dev);
454 if (drm_dev_needs_global_mutex(dev))
460 atomic_dec(&dev->open_count);
461 if (drm_dev_needs_global_mutex(dev))
469 void drm_lastclose(struct drm_device * dev)
471 drm_dbg_core(dev, "\n");
473 if (dev->driver->lastclose)
474 dev->driver->lastclose(dev);
475 drm_dbg_core(dev, "driver lastclose completed\n");
477 if (drm_core_check_feature(dev, DRIVER_LEGACY))
478 drm_legacy_dev_reinit(dev);
480 drm_client_dev_restore(dev);
504 struct drm_device *dev = minor->dev;
506 if (drm_dev_needs_global_mutex(dev))
509 drm_dbg_core(dev, "open_count = %d\n", atomic_read(&dev->open_count));
513 if (atomic_dec_and_test(&dev->open_count))
514 drm_lastclose(dev);
516 if (drm_dev_needs_global_mutex(dev))
529 struct drm_device *dev;
552 dev = filp->minor->dev;
553 mutex_lock(&dev->filelist_mutex);
556 mutex_unlock(&dev->filelist_mutex);
585 struct drm_device *dev = minor->dev;
589 if (atomic_dec_and_mutex_lock(&dev->open_count, &drm_global_mutex)) {
590 drm_lastclose(dev);
633 struct drm_device *dev = file_priv->minor->dev;
643 spin_lock_irq(&dev->event_lock);
650 spin_unlock_irq(&dev->event_lock);
673 spin_lock_irq(&dev->event_lock);
676 spin_unlock_irq(&dev->event_lock);
733 * @dev: DRM device
755 int drm_event_reserve_init_locked(struct drm_device *dev,
775 * @dev: DRM device
797 int drm_event_reserve_init(struct drm_device *dev,
805 spin_lock_irqsave(&dev->event_lock, flags);
806 ret = drm_event_reserve_init_locked(dev, file_priv, p, e);
807 spin_unlock_irqrestore(&dev->event_lock, flags);
815 * @dev: DRM device
822 void drm_event_cancel_free(struct drm_device *dev,
827 spin_lock_irqsave(&dev->event_lock, flags);
832 spin_unlock_irqrestore(&dev->event_lock, flags);
841 static void drm_send_event_helper(struct drm_device *dev,
844 assert_spin_locked(&dev->event_lock);
877 * @dev: DRM device
891 void drm_send_event_timestamp_locked(struct drm_device *dev,
894 drm_send_event_helper(dev, e, timestamp);
900 * @dev: DRM device
912 void drm_send_event_locked(struct drm_device *dev, struct drm_pending_event *e)
914 drm_send_event_helper(dev, e, 0);
920 * @dev: DRM device
933 void drm_send_event(struct drm_device *dev, struct drm_pending_event *e)
937 spin_lock_irqsave(&dev->event_lock, irqflags);
938 drm_send_event_helper(dev, e, 0);
939 spin_unlock_irqrestore(&dev->event_lock, irqflags);
1054 struct drm_device *dev = file->minor->dev;
1057 drm_printf(&p, "drm-driver:\t%s\n", dev->driver->name);
1060 if (dev_is_pci(dev->dev)) {
1061 struct pci_dev *pdev = to_pci_dev(dev->dev);
1068 if (dev->driver->show_fdinfo)
1069 dev->driver->show_fdinfo(&p, file);
1080 * DRM minor. This mimicks userspace opening e.g. /dev/dri/card0, but without
1093 struct drm_device *dev = minor->dev;
1101 file = anon_inode_getfile("drm", dev->driver->fops, priv, flags);
1108 file->f_mapping = dev->anon_inode->i_mapping;
1110 drm_dev_get(dev);