summaryrefslogtreecommitdiff
path: root/include/linux/rtmutex.h
diff options
context:
space:
mode:
authorThomas Hellström <thomas.hellstrom@linux.intel.com>2025-10-14 12:31:49 +0300
committerThomas Hellström <thomas.hellstrom@linux.intel.com>2025-10-14 12:31:49 +0300
commit82ee50252dc891e3f3b32d923bb4f656d300b772 (patch)
treee11def3168fbcd98f8510ba1c474f285dbb7383e /include/linux/rtmutex.h
parentdd83b101a4a65c212bacc52dea3b0b7131a2e88a (diff)
parent3a8660878839faadb4f1a6dd72c3179c1df56787 (diff)
downloadlinux-82ee50252dc891e3f3b32d923bb4f656d300b772.tar.xz
Merge drm/drm-next into drm-xe-next
Backmerging to bring in 6.18-rc1. Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Diffstat (limited to 'include/linux/rtmutex.h')
-rw-r--r--include/linux/rtmutex.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/rtmutex.h b/include/linux/rtmutex.h
index fa9f1021541e..ede4c6bf6f22 100644
--- a/include/linux/rtmutex.h
+++ b/include/linux/rtmutex.h
@@ -44,6 +44,16 @@ static inline bool rt_mutex_base_is_locked(struct rt_mutex_base *lock)
return READ_ONCE(lock->owner) != NULL;
}
+#ifdef CONFIG_RT_MUTEXES
+#define RT_MUTEX_HAS_WAITERS 1UL
+
+static inline struct task_struct *rt_mutex_owner(struct rt_mutex_base *lock)
+{
+ unsigned long owner = (unsigned long) READ_ONCE(lock->owner);
+
+ return (struct task_struct *) (owner & ~RT_MUTEX_HAS_WAITERS);
+}
+#endif
extern void rt_mutex_base_init(struct rt_mutex_base *rtb);
/**