• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/sys/dev/drm2/

Lines Matching refs:file_priv

290 static void drm_master_release(struct drm_device *dev, struct drm_file *file_priv)
293 if (drm_i_have_hw_lock(dev, file_priv)) {
295 file_priv, _DRM_LOCKING_CONTEXT(file_priv->master->lock.hw_lock->lock));
296 drm_lock_free(&file_priv->master->lock,
297 _DRM_LOCKING_CONTEXT(file_priv->master->lock.hw_lock->lock));
301 static void drm_events_release(struct drm_file *file_priv)
303 struct drm_device *dev = file_priv->minor->dev;
312 if (v->base.file_priv == file_priv) {
319 list_for_each_entry_safe(e, et, &file_priv->event_list, link)
329 * \param file_priv DRM file private.
339 struct drm_file *file_priv = data;
340 struct drm_device *dev = file_priv->minor->dev;
347 dev->driver->preclose(dev, file_priv);
355 (long)file_priv->minor->device,
358 /* Release any auth tokens that might point to this file_priv,
360 if (file_priv->magic)
361 (void) drm_remove_magic(file_priv->master, file_priv->magic);
364 if (file_priv->minor->master)
365 drm_master_release(dev, file_priv);
368 drm_core_reclaim_buffers(dev, file_priv);
370 drm_events_release(file_priv);
372 seldrain(&file_priv->event_poll);
375 drm_fb_release(file_priv);
378 drm_gem_release(dev, file_priv);
386 if (pos->tag == file_priv &&
405 if (file_priv->is_master) {
406 struct drm_master *master = file_priv->master;
409 if ((temp->master == file_priv->master) &&
410 (temp != file_priv))
423 master->lock.file_priv = NULL;
427 if (file_priv->minor->master == file_priv->master) {
430 dev->driver->master_drop(dev, file_priv, true);
431 drm_master_put(&file_priv->minor->master);
436 drm_master_put(&file_priv->master);
437 file_priv->is_master = 0;
438 list_del(&file_priv->lhead);
442 dev->driver->postclose(dev, file_priv);
446 drm_prime_destroy_file_private(&file_priv->prime);
449 free(file_priv, DRM_MEM_FILES);
471 drm_dequeue_event(struct drm_file *file_priv, struct uio *uio,
481 if (list_empty(&file_priv->event_list))
483 e = list_first_entry(&file_priv->event_list,
488 file_priv->event_space += e->event->length;
501 struct drm_file *file_priv;
506 error = devfs_get_cdevpriv((void **)&file_priv);
514 while (list_empty(&file_priv->event_list)) {
519 error = msleep(&file_priv->event_space, &dev->event_lock,
525 while (drm_dequeue_event(file_priv, uio, &e)) {
546 struct drm_file *file_priv;
549 file_priv = e->file_priv;
550 dev = file_priv->minor->dev;
553 wakeup(&file_priv->event_space);
554 selwakeup(&file_priv->event_poll);
560 struct drm_file *file_priv;
564 error = devfs_get_cdevpriv((void **)&file_priv);
575 if (list_empty(&file_priv->event_list)) {
577 selrecord(td, &file_priv->event_poll);