Lines Matching defs:master
33 * DRM lock. Each drm master has a heavy-weight lock to provide mutual
40 * userland and kernel: the pointer at dev->master->lock->hw_lock is
80 struct drm_master *master = file->master;
104 spin_lock(&master->lock.spinlock);
106 if (master->lock.user_waiters == UINT32_MAX) {
111 master->lock.user_waiters++;
112 DRM_SPIN_WAIT_UNTIL(error, &master->lock.lock_queue,
113 &master->lock.spinlock,
114 ((master->lock.hw_lock == NULL) ||
115 drm_lock_acquire(&master->lock, lock_request->context)));
116 KASSERT(0 < master->lock.user_waiters);
117 master->lock.user_waiters--;
122 if (master->lock.hw_lock == NULL) {
135 master->lock.file_priv = file;
136 master->lock.lock_time = jiffies; /* XXX Unused? */
157 fail2: drm_lock_release(&master->lock, lock_request->context);
158 master->lock.file_priv = NULL;
159 out1: spin_unlock(&master->lock.spinlock);
172 struct drm_master *master = file->master;
186 spin_lock(&master->lock.spinlock);
189 if (!_DRM_LOCK_IS_HELD(master->lock.hw_lock->lock)) {
195 if (_DRM_LOCKING_CONTEXT(master->lock.hw_lock->lock) !=
202 if (master->lock.file_priv != file) {
208 drm_lock_release(&master->lock, lock_request->context);
211 master->lock.file_priv = NULL;
219 out1: spin_unlock(&master->lock.spinlock);
226 struct drm_master *master)
236 spin_lock(&master->lock.spinlock);
237 if (master->lock.hw_lock) {
238 if (dev->sigdata.lock == master->lock.hw_lock)
240 master->lock.hw_lock = NULL;
241 master->lock.file_priv = NULL;
242 DRM_SPIN_WAKEUP_ALL(&master->lock.lock_queue,
243 &master->lock.spinlock);
245 spin_unlock(&master->lock.spinlock);
301 struct drm_lock_data *const lock_data = &file->master->lock;
326 _DRM_LOCKING_CONTEXT(file->master->lock.hw_lock->lock));