Lines Matching refs:file_priv
64 int drm_getmagic(struct drm_device *dev, void *data, struct drm_file *file_priv) in drm_getmagic() argument
70 if (!file_priv->magic) { in drm_getmagic()
71 ret = idr_alloc(&file_priv->master->magic_map, file_priv, in drm_getmagic()
74 file_priv->magic = ret; in drm_getmagic()
76 auth->magic = file_priv->magic; in drm_getmagic()
85 struct drm_file *file_priv) in drm_authmagic() argument
93 file = idr_find(&file_priv->master->magic_map, auth->magic); in drm_authmagic()
96 idr_replace(&file_priv->master->magic_map, NULL, auth->magic); in drm_authmagic()
204 drm_master_check_perm(struct drm_device *dev, struct drm_file *file_priv) in drm_master_check_perm() argument
206 if (file_priv->pid == task_pid(current) && file_priv->was_master) in drm_master_check_perm()
216 struct drm_file *file_priv) in drm_setmaster_ioctl() argument
222 ret = drm_master_check_perm(dev, file_priv); in drm_setmaster_ioctl()
226 if (drm_is_current_master(file_priv)) in drm_setmaster_ioctl()
234 if (!file_priv->master) { in drm_setmaster_ioctl()
239 if (!file_priv->is_master) { in drm_setmaster_ioctl()
240 ret = drm_new_set_master(dev, file_priv); in drm_setmaster_ioctl()
244 if (file_priv->master->lessor != NULL) { in drm_setmaster_ioctl()
245 DRM_DEBUG_LEASE("Attempt to set lessee %d as master\n", file_priv->master->lessee_id); in drm_setmaster_ioctl()
250 drm_set_master(dev, file_priv, false); in drm_setmaster_ioctl()
265 struct drm_file *file_priv) in drm_dropmaster_ioctl() argument
271 ret = drm_master_check_perm(dev, file_priv); in drm_dropmaster_ioctl()
275 if (!drm_is_current_master(file_priv)) { in drm_dropmaster_ioctl()
285 if (file_priv->master->lessor != NULL) { in drm_dropmaster_ioctl()
286 DRM_DEBUG_LEASE("Attempt to drop lessee %d as master\n", file_priv->master->lessee_id); in drm_dropmaster_ioctl()
291 drm_drop_master(dev, file_priv); in drm_dropmaster_ioctl()
297 int drm_master_open(struct drm_file *file_priv) in drm_master_open() argument
299 struct drm_device *dev = file_priv->minor->dev; in drm_master_open()
306 ret = drm_new_set_master(dev, file_priv); in drm_master_open()
308 file_priv->master = drm_master_get(dev->master); in drm_master_open()
314 void drm_master_release(struct drm_file *file_priv) in drm_master_release() argument
316 struct drm_device *dev = file_priv->minor->dev; in drm_master_release()
317 struct drm_master *master = file_priv->master; in drm_master_release()
320 if (file_priv->magic) in drm_master_release()
321 idr_remove(&file_priv->master->magic_map, file_priv->magic); in drm_master_release()
323 if (!drm_is_current_master(file_priv)) in drm_master_release()
328 if (dev->master == file_priv->master) in drm_master_release()
329 drm_drop_master(dev, file_priv); in drm_master_release()
331 if (drm_core_check_feature(dev, DRIVER_MODESET) && file_priv->is_master) { in drm_master_release()
339 if (file_priv->master) in drm_master_release()
340 drm_master_put(&file_priv->master); in drm_master_release()