Lines Matching refs:dev

67 			    lockdep_is_held(&fpriv->minor->dev->master_mutex));  in drm_is_current_master_locked()
69 return fpriv->is_master && drm_lease_owner(fpriv->master) == fpriv->minor->dev->master; in drm_is_current_master_locked()
94 int drm_getmagic(struct drm_device *dev, void *data, struct drm_file *file_priv) in drm_getmagic() argument
99 mutex_lock(&dev->master_mutex); in drm_getmagic()
107 mutex_unlock(&dev->master_mutex); in drm_getmagic()
109 drm_dbg_core(dev, "%u\n", auth->magic); in drm_getmagic()
114 int drm_authmagic(struct drm_device *dev, void *data, in drm_authmagic() argument
120 drm_dbg_core(dev, "%u\n", auth->magic); in drm_authmagic()
122 mutex_lock(&dev->master_mutex); in drm_authmagic()
128 mutex_unlock(&dev->master_mutex); in drm_authmagic()
133 struct drm_master *drm_master_create(struct drm_device *dev) in drm_master_create() argument
144 master->dev = dev; in drm_master_create()
155 static void drm_set_master(struct drm_device *dev, struct drm_file *fpriv, in drm_set_master() argument
158 dev->master = drm_master_get(fpriv->master); in drm_set_master()
159 if (dev->driver->master_set) in drm_set_master()
160 dev->driver->master_set(dev, fpriv, new_master); in drm_set_master()
165 static int drm_new_set_master(struct drm_device *dev, struct drm_file *fpriv) in drm_new_set_master() argument
170 lockdep_assert_held_once(&dev->master_mutex); in drm_new_set_master()
174 new_master = drm_master_create(dev); in drm_new_set_master()
184 drm_set_master(dev, fpriv, true); in drm_new_set_master()
236 drm_master_check_perm(struct drm_device *dev, struct drm_file *file_priv) in drm_master_check_perm() argument
248 int drm_setmaster_ioctl(struct drm_device *dev, void *data, in drm_setmaster_ioctl() argument
253 mutex_lock(&dev->master_mutex); in drm_setmaster_ioctl()
255 ret = drm_master_check_perm(dev, file_priv); in drm_setmaster_ioctl()
262 if (dev->master) { in drm_setmaster_ioctl()
273 ret = drm_new_set_master(dev, file_priv); in drm_setmaster_ioctl()
278 drm_dbg_lease(dev, in drm_setmaster_ioctl()
285 drm_set_master(dev, file_priv, false); in drm_setmaster_ioctl()
287 mutex_unlock(&dev->master_mutex); in drm_setmaster_ioctl()
291 static void drm_drop_master(struct drm_device *dev, in drm_drop_master() argument
294 if (dev->driver->master_drop) in drm_drop_master()
295 dev->driver->master_drop(dev, fpriv); in drm_drop_master()
296 drm_master_put(&dev->master); in drm_drop_master()
299 int drm_dropmaster_ioctl(struct drm_device *dev, void *data, in drm_dropmaster_ioctl() argument
304 mutex_lock(&dev->master_mutex); in drm_dropmaster_ioctl()
306 ret = drm_master_check_perm(dev, file_priv); in drm_dropmaster_ioctl()
315 if (!dev->master) { in drm_dropmaster_ioctl()
321 drm_dbg_lease(dev, in drm_dropmaster_ioctl()
328 drm_drop_master(dev, file_priv); in drm_dropmaster_ioctl()
330 mutex_unlock(&dev->master_mutex); in drm_dropmaster_ioctl()
336 struct drm_device *dev = file_priv->minor->dev; in drm_master_open() local
342 mutex_lock(&dev->master_mutex); in drm_master_open()
343 if (!dev->master) { in drm_master_open()
344 ret = drm_new_set_master(dev, file_priv); in drm_master_open()
347 file_priv->master = drm_master_get(dev->master); in drm_master_open()
350 mutex_unlock(&dev->master_mutex); in drm_master_open()
357 struct drm_device *dev = file_priv->minor->dev; in drm_master_release() local
360 mutex_lock(&dev->master_mutex); in drm_master_release()
368 drm_legacy_lock_master_cleanup(dev, master); in drm_master_release()
370 if (dev->master == file_priv->master) in drm_master_release()
371 drm_drop_master(dev, file_priv); in drm_master_release()
373 if (drm_core_check_feature(dev, DRIVER_MODESET) && file_priv->is_master) { in drm_master_release()
383 mutex_unlock(&dev->master_mutex); in drm_master_release()
427 struct drm_device *dev = master->dev; in drm_master_destroy() local
429 if (drm_core_check_feature(dev, DRIVER_MODESET)) in drm_master_destroy()
432 drm_legacy_master_rmmaps(dev, master); in drm_master_destroy()
456 bool drm_master_internal_acquire(struct drm_device *dev) in drm_master_internal_acquire() argument
458 mutex_lock(&dev->master_mutex); in drm_master_internal_acquire()
459 if (dev->master) { in drm_master_internal_acquire()
460 mutex_unlock(&dev->master_mutex); in drm_master_internal_acquire()
469 void drm_master_internal_release(struct drm_device *dev) in drm_master_internal_release() argument
471 mutex_unlock(&dev->master_mutex); in drm_master_internal_release()