Lines Matching refs:file_priv
69 int drm_getmagic(struct drm_device *dev, void *data, struct drm_file *file_priv)
76 if (!file_priv->magic) {
77 ret = idr_alloc(&file_priv->master->magic_map, file_priv,
80 file_priv->magic = ret;
82 auth->magic = file_priv->magic;
92 struct drm_file *file_priv)
100 file = idr_find(&file_priv->master->magic_map, auth->magic);
103 idr_replace(&file_priv->master->magic_map, NULL, auth->magic);
190 struct drm_file *file_priv)
195 if (drm_is_current_master(file_priv))
203 if (!file_priv->master) {
208 if (!file_priv->is_master) {
209 ret = drm_new_set_master(dev, file_priv);
213 if (file_priv->master->lessor != NULL) {
214 DRM_DEBUG_LEASE("Attempt to set lessee %d as master\n", file_priv->master->lessee_id);
219 ret = drm_set_master(dev, file_priv, false);
234 struct drm_file *file_priv)
239 if (!drm_is_current_master(file_priv))
245 if (file_priv->master->lessor != NULL) {
246 DRM_DEBUG_LEASE("Attempt to drop lessee %d as master\n", file_priv->master->lessee_id);
252 drm_drop_master(dev, file_priv);
258 int drm_master_open(struct drm_file *file_priv)
260 struct drm_device *dev = file_priv->minor->dev;
267 ret = drm_new_set_master(dev, file_priv);
269 file_priv->master = drm_master_get(dev->master);
275 void drm_master_release(struct drm_file *file_priv)
277 struct drm_device *dev = file_priv->minor->dev;
278 struct drm_master *master = file_priv->master;
281 if (file_priv->magic)
282 idr_remove(&file_priv->master->magic_map, file_priv->magic);
284 if (!drm_is_current_master(file_priv))
289 if (dev->master == file_priv->master)
290 drm_drop_master(dev, file_priv);
292 if (drm_core_check_feature(dev, DRIVER_MODESET) && file_priv->is_master) {
300 if (file_priv->master)
301 drm_master_put(&file_priv->master);