Lines Matching refs:file_priv

298 	struct drm_file *file_priv = filp->private_data;  in drm_master_release()  local
300 if (drm_legacy_i_have_hw_lock(dev, file_priv)) { in drm_master_release()
302 filp, _DRM_LOCKING_CONTEXT(file_priv->master->lock.hw_lock->lock)); in drm_master_release()
303 drm_legacy_lock_free(&file_priv->master->lock, in drm_master_release()
304 _DRM_LOCKING_CONTEXT(file_priv->master->lock.hw_lock->lock)); in drm_master_release()
308 static void drm_events_release(struct drm_file *file_priv) in drm_events_release() argument
310 struct drm_device *dev = file_priv->minor->dev; in drm_events_release()
319 if (v->base.file_priv == file_priv) { in drm_events_release()
326 list_for_each_entry_safe(e, et, &file_priv->event_list, link) { in drm_events_release()
401 struct drm_file *file_priv = filp->private_data; in drm_release() local
402 struct drm_minor *minor = file_priv->minor; in drm_release()
411 list_del(&file_priv->lhead); in drm_release()
412 if (file_priv->magic) in drm_release()
413 idr_remove(&file_priv->master->magic_map, file_priv->magic); in drm_release()
417 dev->driver->preclose(dev, file_priv); in drm_release()
425 (long)old_encode_dev(file_priv->minor->kdev->devt), in drm_release()
429 if (file_priv->minor->master) in drm_release()
433 drm_legacy_reclaim_buffers(dev, file_priv); in drm_release()
435 drm_events_release(file_priv); in drm_release()
438 drm_fb_release(file_priv); in drm_release()
439 drm_property_destroy_user_blobs(dev, file_priv); in drm_release()
443 drm_gem_release(dev, file_priv); in drm_release()
445 drm_legacy_ctxbitmap_flush(dev, file_priv); in drm_release()
449 if (file_priv->is_master) { in drm_release()
450 struct drm_master *master = file_priv->master; in drm_release()
461 master->lock.file_priv = NULL; in drm_release()
466 if (file_priv->minor->master == file_priv->master) { in drm_release()
469 dev->driver->master_drop(dev, file_priv, true); in drm_release()
470 drm_master_put(&file_priv->minor->master); in drm_release()
475 if (file_priv->master) in drm_release()
476 drm_master_put(&file_priv->master); in drm_release()
477 file_priv->is_master = 0; in drm_release()
481 dev->driver->postclose(dev, file_priv); in drm_release()
485 drm_prime_destroy_file_private(&file_priv->prime); in drm_release()
487 WARN_ON(!list_empty(&file_priv->event_list)); in drm_release()
489 put_pid(file_priv->pid); in drm_release()
490 kfree(file_priv); in drm_release()
512 struct drm_file *file_priv = filp->private_data; in drm_read() local
513 struct drm_device *dev = file_priv->minor->dev; in drm_read()
521 if (list_empty(&file_priv->event_list)) { in drm_read()
531 ret = wait_event_interruptible(file_priv->event_wait, in drm_read()
532 !list_empty(&file_priv->event_list)); in drm_read()
541 e = list_first_entry(&file_priv->event_list, in drm_read()
553 file_priv->event_space += e->event->length; in drm_read()
567 struct drm_file *file_priv = filp->private_data; in drm_poll() local
570 poll_wait(filp, &file_priv->event_wait, wait); in drm_poll()
572 if (!list_empty(&file_priv->event_list)) in drm_poll()