Lines Matching refs:file_priv
269 struct drm_file *file_priv = filp->private_data; in drm_master_release() local
271 if (drm_legacy_i_have_hw_lock(dev, file_priv)) { in drm_master_release()
273 filp, _DRM_LOCKING_CONTEXT(file_priv->master->lock.hw_lock->lock)); in drm_master_release()
274 drm_legacy_lock_free(&file_priv->master->lock, in drm_master_release()
275 _DRM_LOCKING_CONTEXT(file_priv->master->lock.hw_lock->lock)); in drm_master_release()
279 static void drm_events_release(struct drm_file *file_priv) in drm_events_release() argument
281 struct drm_device *dev = file_priv->minor->dev; in drm_events_release()
290 if (v->base.file_priv == file_priv) { in drm_events_release()
297 list_for_each_entry_safe(e, et, &file_priv->event_list, link) { in drm_events_release()
372 struct drm_file *file_priv = filp->private_data; in drm_release() local
373 struct drm_minor *minor = file_priv->minor; in drm_release()
382 list_del(&file_priv->lhead); in drm_release()
386 dev->driver->preclose(dev, file_priv); in drm_release()
394 (long)old_encode_dev(file_priv->minor->kdev->devt), in drm_release()
399 if (file_priv->magic) in drm_release()
400 (void) drm_remove_magic(file_priv->master, file_priv->magic); in drm_release()
403 if (file_priv->minor->master) in drm_release()
407 drm_legacy_reclaim_buffers(dev, file_priv); in drm_release()
409 drm_events_release(file_priv); in drm_release()
412 drm_fb_release(file_priv); in drm_release()
415 drm_gem_release(dev, file_priv); in drm_release()
417 drm_legacy_ctxbitmap_flush(dev, file_priv); in drm_release()
421 if (file_priv->is_master) { in drm_release()
422 struct drm_master *master = file_priv->master; in drm_release()
433 master->lock.file_priv = NULL; in drm_release()
438 if (file_priv->minor->master == file_priv->master) { in drm_release()
441 dev->driver->master_drop(dev, file_priv, true); in drm_release()
442 drm_master_put(&file_priv->minor->master); in drm_release()
447 if (file_priv->master) in drm_release()
448 drm_master_put(&file_priv->master); in drm_release()
449 file_priv->is_master = 0; in drm_release()
453 dev->driver->postclose(dev, file_priv); in drm_release()
457 drm_prime_destroy_file_private(&file_priv->prime); in drm_release()
459 WARN_ON(!list_empty(&file_priv->event_list)); in drm_release()
461 put_pid(file_priv->pid); in drm_release()
462 kfree(file_priv); in drm_release()
484 struct drm_file *file_priv = filp->private_data; in drm_read() local
485 struct drm_device *dev = file_priv->minor->dev; in drm_read()
493 if (list_empty(&file_priv->event_list)) { in drm_read()
503 ret = wait_event_interruptible(file_priv->event_wait, in drm_read()
504 !list_empty(&file_priv->event_list)); in drm_read()
513 e = list_first_entry(&file_priv->event_list, in drm_read()
525 file_priv->event_space += e->event->length; in drm_read()
539 struct drm_file *file_priv = filp->private_data; in drm_poll() local
542 poll_wait(filp, &file_priv->event_wait, wait); in drm_poll()
544 if (!list_empty(&file_priv->event_list)) in drm_poll()