Lines Matching defs:lock

190     DRM_CONTAINS_LOCK   = 0x0020, /**< SHM page that contains lock */
205 * hardware lock with the hardware quiescent
209 DRM_DMA_WHILE_LOCKED = 0x02, /**< Dispatch while lock held */
278 volatile unsigned int lock;
364 #define __drm_dummy_lock(lock) (*(__volatile__ unsigned int *)lock)
366 #define DRM_LOCK_HELD 0x80000000U /**< Hardware lock is held */
367 #define DRM_LOCK_CONT 0x40000000U /**< Hardware lock is contended */
372 #define DRM_CAS(lock,old,new,__ret) \
376 "lock ; cmpxchg %4,%1\n\t" \
379 "=m" (__drm_dummy_lock(lock)), \
387 #define DRM_CAS(lock, old, new, ret) \
404 "=m"(__drm_dummy_lock(lock)), \
412 #define DRM_CAS(lock,old,new,__ret) \
418 __lock = (volatile unsigned int *)lock; \
438 #define DRM_CAS(lock,old,new,__ret) \
442 __result = _InterlockedCompareExchange_acq(&__drm_dummy_lock(lock), (new), __old);\
444 /* __ret = (__sync_val_compare_and_swap(&__drm_dummy_lock(lock), \
450 #define DRM_CAS(lock,old,new,__ret) \
458 : "=r" (__result), "=m" (__drm_dummy_lock(lock)) \
468 #define DRM_CAS(lock,old,new,__ret) \
480 : "r"(lock), "r"(new), "r"(old) \
494 #define DRM_CAS(lock,old,new,__ret) \
503 : "r" (lock), "r" (old), "r" (new) \
511 #define DRM_CAS(lock,old,new,ret) do { ret=1; } while (0) /* FAST LOCK FAILS */
522 #define DRM_LIGHT_LOCK(fd,lock,context) \
525 DRM_CAS(lock,context,DRM_LOCK_HELD|context,__ret); \
531 #define DRM_LIGHT_LOCK_COUNT(fd,lock,context,count) \
534 DRM_CAS(lock,context,DRM_LOCK_HELD|context,__ret); \
539 #define DRM_LOCK(fd,lock,context,flags) \
542 else DRM_LIGHT_LOCK(fd,lock,context); \
545 #define DRM_UNLOCK(fd,lock,context) \
548 DRM_CAS(lock,DRM_LOCK_HELD|context,context,__ret); \
558 if (__ret) while ((spin)->lock); \
567 cur = (*spin).lock; \
578 if (__ret) for (;__i < count && (spin)->lock; __i++); \
585 if ((*spin).lock == val) { /* else server stole lock */ \