Home
last modified time | relevance | path

Searched refs:ww_ctx (Results 1 - 15 of 15) sorted by relevance

/kernel/linux/linux-6.6/kernel/locking/
H A Dww_mutex.h177 * Associate the ww_mutex @ww with the context @ww_ctx under which we acquired
181 ww_mutex_lock_acquired(struct ww_mutex *ww, struct ww_acquire_ctx *ww_ctx) in ww_mutex_lock_acquired() argument
195 DEBUG_LOCKS_WARN_ON(ww_ctx->done_acquire); in ww_mutex_lock_acquired()
197 if (ww_ctx->contending_lock) { in ww_mutex_lock_acquired()
202 DEBUG_LOCKS_WARN_ON(ww_ctx->contending_lock != ww); in ww_mutex_lock_acquired()
208 DEBUG_LOCKS_WARN_ON(ww_ctx->acquired > 0); in ww_mutex_lock_acquired()
209 ww_ctx->contending_lock = NULL; in ww_mutex_lock_acquired()
215 DEBUG_LOCKS_WARN_ON(ww_ctx->ww_class != ww->ww_class); in ww_mutex_lock_acquired()
217 ww_ctx->acquired++; in ww_mutex_lock_acquired()
218 ww->ctx = ww_ctx; in ww_mutex_lock_acquired()
277 __ww_mutex_die(struct MUTEX *lock, struct MUTEX_WAITER *waiter, struct ww_acquire_ctx *ww_ctx) __ww_mutex_die() argument
300 __ww_mutex_wound(struct MUTEX *lock, struct ww_acquire_ctx *ww_ctx, struct ww_acquire_ctx *hold_ctx) __ww_mutex_wound() argument
355 __ww_mutex_check_waiters(struct MUTEX *lock, struct ww_acquire_ctx *ww_ctx) __ww_mutex_check_waiters() argument
413 __ww_mutex_kill(struct MUTEX *lock, struct ww_acquire_ctx *ww_ctx) __ww_mutex_kill() argument
489 __ww_mutex_add_waiter(struct MUTEX_WAITER *waiter, struct MUTEX *lock, struct ww_acquire_ctx *ww_ctx) __ww_mutex_add_waiter() argument
[all...]
H A Dww_rt_mutex.c12 int ww_mutex_trylock(struct ww_mutex *lock, struct ww_acquire_ctx *ww_ctx) in ww_mutex_trylock() argument
16 if (!ww_ctx) in ww_mutex_trylock()
24 if (ww_ctx->acquired == 0) in ww_mutex_trylock()
25 ww_ctx->wounded = 0; in ww_mutex_trylock()
28 ww_mutex_set_context_fastpath(lock, ww_ctx); in ww_mutex_trylock()
29 mutex_acquire_nest(&rtm->dep_map, 0, 1, &ww_ctx->dep_map, _RET_IP_); in ww_mutex_trylock()
38 __ww_rt_mutex_lock(struct ww_mutex *lock, struct ww_acquire_ctx *ww_ctx, in __ww_rt_mutex_lock() argument
47 if (ww_ctx) { in __ww_rt_mutex_lock()
48 if (unlikely(ww_ctx == READ_ONCE(lock->ctx))) in __ww_rt_mutex_lock()
56 if (ww_ctx in __ww_rt_mutex_lock()
[all...]
H A Dmutex.c304 bool ww_mutex_spin_on_owner(struct mutex *lock, struct ww_acquire_ctx *ww_ctx, in ww_mutex_spin_on_owner() argument
322 if (ww_ctx->acquired > 0 && READ_ONCE(ww->ctx)) in ww_mutex_spin_on_owner()
353 struct ww_acquire_ctx *ww_ctx, struct mutex_waiter *waiter) in mutex_spin_on_owner()
378 if (ww_ctx && !ww_mutex_spin_on_owner(lock, ww_ctx, waiter)) { in mutex_spin_on_owner()
441 mutex_optimistic_spin(struct mutex *lock, struct ww_acquire_ctx *ww_ctx, in mutex_optimistic_spin() argument
476 if (!mutex_spin_on_owner(lock, owner, ww_ctx, waiter)) in mutex_optimistic_spin()
517 mutex_optimistic_spin(struct mutex *lock, struct ww_acquire_ctx *ww_ctx, in mutex_optimistic_spin() argument
571 struct ww_acquire_ctx *ww_ctx, const bool use_ww_ctx) in __mutex_lock_common()
578 ww_ctx in __mutex_lock_common()
352 mutex_spin_on_owner(struct mutex *lock, struct task_struct *owner, struct ww_acquire_ctx *ww_ctx, struct mutex_waiter *waiter) mutex_spin_on_owner() argument
569 __mutex_lock_common(struct mutex *lock, unsigned int state, unsigned int subclass, struct lockdep_map *nest_lock, unsigned long ip, struct ww_acquire_ctx *ww_ctx, const bool use_ww_ctx) __mutex_lock_common() argument
751 __ww_mutex_lock(struct mutex *lock, unsigned int state, unsigned int subclass, unsigned long ip, struct ww_acquire_ctx *ww_ctx) __ww_mutex_lock() argument
770 ww_mutex_trylock(struct ww_mutex *ww, struct ww_acquire_ctx *ww_ctx) ww_mutex_trylock() argument
[all...]
H A Drtmutex.c37 struct ww_acquire_ctx *ww_ctx) in __ww_mutex_add_waiter()
43 struct ww_acquire_ctx *ww_ctx) in __ww_mutex_check_waiters()
48 struct ww_acquire_ctx *ww_ctx) in ww_mutex_lock_acquired()
54 struct ww_acquire_ctx *ww_ctx) in __ww_mutex_check_kill()
444 /* NOTE: relies on waiter->ww_ctx being set before insertion */ in __waiter_less()
445 if (aw->ww_ctx) { in __waiter_less()
446 if (!bw->ww_ctx) in __waiter_less()
449 return (signed long)(aw->ww_ctx->stamp - in __waiter_less()
450 bw->ww_ctx->stamp) < 0; in __waiter_less()
769 if (IS_ENABLED(CONFIG_PREEMPT_RT) && waiter->ww_ctx in rt_mutex_adjust_prio_chain()
35 __ww_mutex_add_waiter(struct rt_mutex_waiter *waiter, struct rt_mutex *lock, struct ww_acquire_ctx *ww_ctx) __ww_mutex_add_waiter() argument
42 __ww_mutex_check_waiters(struct rt_mutex *lock, struct ww_acquire_ctx *ww_ctx) __ww_mutex_check_waiters() argument
47 ww_mutex_lock_acquired(struct ww_mutex *lock, struct ww_acquire_ctx *ww_ctx) ww_mutex_lock_acquired() argument
52 __ww_mutex_check_kill(struct rt_mutex *lock, struct rt_mutex_waiter *waiter, struct ww_acquire_ctx *ww_ctx) __ww_mutex_check_kill() argument
1180 task_blocks_on_rt_mutex(struct rt_mutex_base *lock, struct rt_mutex_waiter *waiter, struct task_struct *task, struct ww_acquire_ctx *ww_ctx, enum rtmutex_chainwalk chwalk) task_blocks_on_rt_mutex() argument
1579 rt_mutex_slowlock_block(struct rt_mutex_base *lock, struct ww_acquire_ctx *ww_ctx, unsigned int state, struct hrtimer_sleeper *timeout, struct rt_mutex_waiter *waiter) rt_mutex_slowlock_block() argument
1657 __rt_mutex_slowlock(struct rt_mutex_base *lock, struct ww_acquire_ctx *ww_ctx, unsigned int state, enum rtmutex_chainwalk chwalk, struct rt_mutex_waiter *waiter) __rt_mutex_slowlock() argument
1710 __rt_mutex_slowlock_locked(struct rt_mutex_base *lock, struct ww_acquire_ctx *ww_ctx, unsigned int state) __rt_mutex_slowlock_locked() argument
1733 rt_mutex_slowlock(struct rt_mutex_base *lock, struct ww_acquire_ctx *ww_ctx, unsigned int state) rt_mutex_slowlock() argument
[all...]
H A Dmutex.h17 struct ww_acquire_ctx *ww_ctx; member
H A Dmutex-debug.c33 waiter->ww_ctx = MUTEX_POISON_WW_CTX; in debug_mutex_lock_common()
H A Drtmutex_common.h47 * @ww_ctx: WW context pointer
58 struct ww_acquire_ctx *ww_ctx; member
/kernel/linux/linux-5.10/kernel/locking/
H A Dmutex.c312 * Associate the ww_mutex @ww with the context @ww_ctx under which we acquired
316 ww_mutex_lock_acquired(struct ww_mutex *ww, struct ww_acquire_ctx *ww_ctx) in ww_mutex_lock_acquired() argument
330 DEBUG_LOCKS_WARN_ON(ww_ctx->done_acquire); in ww_mutex_lock_acquired()
332 if (ww_ctx->contending_lock) { in ww_mutex_lock_acquired()
337 DEBUG_LOCKS_WARN_ON(ww_ctx->contending_lock != ww); in ww_mutex_lock_acquired()
343 DEBUG_LOCKS_WARN_ON(ww_ctx->acquired > 0); in ww_mutex_lock_acquired()
344 ww_ctx->contending_lock = NULL; in ww_mutex_lock_acquired()
350 DEBUG_LOCKS_WARN_ON(ww_ctx->ww_class != ww->ww_class); in ww_mutex_lock_acquired()
352 ww_ctx->acquired++; in ww_mutex_lock_acquired()
353 ww->ctx = ww_ctx; in ww_mutex_lock_acquired()
377 __ww_mutex_die(struct mutex *lock, struct mutex_waiter *waiter, struct ww_acquire_ctx *ww_ctx) __ww_mutex_die() argument
399 __ww_mutex_wound(struct mutex *lock, struct ww_acquire_ctx *ww_ctx, struct ww_acquire_ctx *hold_ctx) __ww_mutex_wound() argument
454 __ww_mutex_check_waiters(struct mutex *lock, struct ww_acquire_ctx *ww_ctx) __ww_mutex_check_waiters() argument
512 ww_mutex_spin_on_owner(struct mutex *lock, struct ww_acquire_ctx *ww_ctx, struct mutex_waiter *waiter) ww_mutex_spin_on_owner() argument
560 mutex_spin_on_owner(struct mutex *lock, struct task_struct *owner, struct ww_acquire_ctx *ww_ctx, struct mutex_waiter *waiter) mutex_spin_on_owner() argument
648 mutex_optimistic_spin(struct mutex *lock, struct ww_acquire_ctx *ww_ctx, struct mutex_waiter *waiter) mutex_optimistic_spin() argument
724 mutex_optimistic_spin(struct mutex *lock, struct ww_acquire_ctx *ww_ctx, struct mutex_waiter *waiter) mutex_optimistic_spin() argument
786 __ww_mutex_kill(struct mutex *lock, struct ww_acquire_ctx *ww_ctx) __ww_mutex_kill() argument
862 __ww_mutex_add_waiter(struct mutex_waiter *waiter, struct mutex *lock, struct ww_acquire_ctx *ww_ctx) __ww_mutex_add_waiter() argument
936 __mutex_lock_common(struct mutex *lock, long state, unsigned int subclass, struct lockdep_map *nest_lock, unsigned long ip, struct ww_acquire_ctx *ww_ctx, const bool use_ww_ctx) __mutex_lock_common() argument
1113 __ww_mutex_lock(struct mutex *lock, long state, unsigned int subclass, struct lockdep_map *nest_lock, unsigned long ip, struct ww_acquire_ctx *ww_ctx) __ww_mutex_lock() argument
[all...]
/kernel/linux/linux-5.10/drivers/gpu/drm/
H A Ddrm_modeset_lock.c121 ww_acquire_done(&ctx->ww_ctx); in drm_modeset_lock_all()
202 ww_acquire_init(&ctx->ww_ctx, &crtc_ww_class); in drm_modeset_acquire_init()
216 ww_acquire_fini(&ctx->ww_ctx); in drm_modeset_acquire_fini()
249 lockdep_assert_held(&ctx->ww_ctx); in modeset_lock()
256 ret = ww_mutex_lock_slow_interruptible(&lock->mutex, &ctx->ww_ctx); in modeset_lock()
258 ret = ww_mutex_lock_interruptible(&lock->mutex, &ctx->ww_ctx); in modeset_lock()
260 ww_mutex_lock_slow(&lock->mutex, &ctx->ww_ctx); in modeset_lock()
263 ret = ww_mutex_lock(&lock->mutex, &ctx->ww_ctx); in modeset_lock()
/kernel/linux/linux-6.6/drivers/gpu/drm/
H A Ddrm_modeset_lock.c169 ww_acquire_done(&ctx->ww_ctx); in drm_modeset_lock_all()
250 ww_acquire_init(&ctx->ww_ctx, &crtc_ww_class); in drm_modeset_acquire_init()
264 ww_acquire_fini(&ctx->ww_ctx); in drm_modeset_acquire_fini()
300 lockdep_assert_held(&ctx->ww_ctx); in modeset_lock()
307 ret = ww_mutex_lock_slow_interruptible(&lock->mutex, &ctx->ww_ctx); in modeset_lock()
309 ret = ww_mutex_lock_interruptible(&lock->mutex, &ctx->ww_ctx); in modeset_lock()
311 ww_mutex_lock_slow(&lock->mutex, &ctx->ww_ctx); in modeset_lock()
314 ret = ww_mutex_lock(&lock->mutex, &ctx->ww_ctx); in modeset_lock()
/kernel/linux/linux-5.10/drivers/regulator/
H A Dcore.c142 * @ww_ctx: w/w mutex acquire context
151 struct ww_acquire_ctx *ww_ctx) in regulator_lock_nested()
158 if (ww_ctx || !ww_mutex_trylock(&rdev->mutex)) { in regulator_lock_nested()
166 ret = ww_mutex_lock(&rdev->mutex, ww_ctx); in regulator_lock_nested()
223 * @ww_ctx: w/w mutex acquire context
229 struct ww_acquire_ctx *ww_ctx) in regulator_lock_two()
234 ww_acquire_init(ww_ctx, &regulator_ww_class); in regulator_lock_two()
237 ret = regulator_lock_nested(rdev1, ww_ctx); in regulator_lock_two()
239 ret = regulator_lock_nested(rdev2, ww_ctx); in regulator_lock_two()
253 ww_mutex_lock_slow(&rdev2->mutex, ww_ctx); in regulator_lock_two()
150 regulator_lock_nested(struct regulator_dev *rdev, struct ww_acquire_ctx *ww_ctx) regulator_lock_nested() argument
227 regulator_lock_two(struct regulator_dev *rdev1, struct regulator_dev *rdev2, struct ww_acquire_ctx *ww_ctx) regulator_lock_two() argument
282 regulator_unlock_two(struct regulator_dev *rdev1, struct regulator_dev *rdev2, struct ww_acquire_ctx *ww_ctx) regulator_unlock_two() argument
330 regulator_lock_recursive(struct regulator_dev *rdev, struct regulator_dev **new_contended_rdev, struct regulator_dev **old_contended_rdev, struct ww_acquire_ctx *ww_ctx) regulator_lock_recursive() argument
387 regulator_unlock_dependent(struct regulator_dev *rdev, struct ww_acquire_ctx *ww_ctx) regulator_unlock_dependent() argument
402 regulator_lock_dependent(struct regulator_dev *rdev, struct ww_acquire_ctx *ww_ctx) regulator_lock_dependent() argument
1903 struct ww_acquire_ctx ww_ctx; regulator_resolve_supply() local
2802 struct ww_acquire_ctx ww_ctx; regulator_enable() local
2915 struct ww_acquire_ctx ww_ctx; regulator_disable() local
2964 struct ww_acquire_ctx ww_ctx; regulator_force_disable() local
2992 struct ww_acquire_ctx ww_ctx; regulator_disable_work() local
4028 struct ww_acquire_ctx ww_ctx; regulator_set_voltage() local
4108 struct ww_acquire_ctx ww_ctx; regulator_set_suspend_voltage() local
4317 struct ww_acquire_ctx ww_ctx; regulator_get_voltage() local
5806 struct ww_acquire_ctx *ww_ctx; global() member
5846 regulator_summary_lock_all(struct ww_acquire_ctx *ww_ctx, struct regulator_dev **new_contended_rdev, struct regulator_dev **old_contended_rdev) regulator_summary_lock_all() argument
5866 regulator_summary_lock(struct ww_acquire_ctx *ww_ctx) regulator_summary_lock() argument
5896 regulator_summary_unlock(struct ww_acquire_ctx *ww_ctx) regulator_summary_unlock() argument
5918 struct ww_acquire_ctx ww_ctx; regulator_summary_show() local
[all...]
/kernel/linux/linux-6.6/drivers/regulator/
H A Dcore.c133 * @ww_ctx: w/w mutex acquire context
142 struct ww_acquire_ctx *ww_ctx) in regulator_lock_nested()
149 if (!ww_mutex_trylock(&rdev->mutex, ww_ctx)) { in regulator_lock_nested()
157 ret = ww_mutex_lock(&rdev->mutex, ww_ctx); in regulator_lock_nested()
214 * @ww_ctx: w/w mutex acquire context
220 struct ww_acquire_ctx *ww_ctx) in regulator_lock_two()
225 ww_acquire_init(ww_ctx, &regulator_ww_class); in regulator_lock_two()
228 ret = regulator_lock_nested(rdev1, ww_ctx); in regulator_lock_two()
230 ret = regulator_lock_nested(rdev2, ww_ctx); in regulator_lock_two()
241 ww_mutex_lock_slow(&contended->mutex, ww_ctx); in regulator_lock_two()
141 regulator_lock_nested(struct regulator_dev *rdev, struct ww_acquire_ctx *ww_ctx) regulator_lock_nested() argument
218 regulator_lock_two(struct regulator_dev *rdev1, struct regulator_dev *rdev2, struct ww_acquire_ctx *ww_ctx) regulator_lock_two() argument
266 regulator_unlock_two(struct regulator_dev *rdev1, struct regulator_dev *rdev2, struct ww_acquire_ctx *ww_ctx) regulator_unlock_two() argument
314 regulator_lock_recursive(struct regulator_dev *rdev, struct regulator_dev **new_contended_rdev, struct regulator_dev **old_contended_rdev, struct ww_acquire_ctx *ww_ctx) regulator_lock_recursive() argument
371 regulator_unlock_dependent(struct regulator_dev *rdev, struct ww_acquire_ctx *ww_ctx) regulator_unlock_dependent() argument
386 regulator_lock_dependent(struct regulator_dev *rdev, struct ww_acquire_ctx *ww_ctx) regulator_lock_dependent() argument
2061 struct ww_acquire_ctx ww_ctx; regulator_resolve_supply() local
2950 struct ww_acquire_ctx ww_ctx; regulator_enable() local
3060 struct ww_acquire_ctx ww_ctx; regulator_disable() local
3109 struct ww_acquire_ctx ww_ctx; regulator_force_disable() local
3137 struct ww_acquire_ctx ww_ctx; regulator_disable_work() local
4170 struct ww_acquire_ctx ww_ctx; regulator_set_voltage() local
4250 struct ww_acquire_ctx ww_ctx; regulator_set_suspend_voltage() local
4491 struct ww_acquire_ctx ww_ctx; regulator_get_voltage() local
6041 struct ww_acquire_ctx *ww_ctx; global() member
6081 regulator_summary_lock_all(struct ww_acquire_ctx *ww_ctx, struct regulator_dev **new_contended_rdev, struct regulator_dev **old_contended_rdev) regulator_summary_lock_all() argument
6101 regulator_summary_lock(struct ww_acquire_ctx *ww_ctx) regulator_summary_lock() argument
6131 regulator_summary_unlock(struct ww_acquire_ctx *ww_ctx) regulator_summary_unlock() argument
6153 struct ww_acquire_ctx ww_ctx; regulator_summary_show() local
[all...]
/kernel/linux/linux-5.10/include/drm/
H A Ddrm_modeset_lock.h33 * @ww_ctx: base acquire ctx
45 struct ww_acquire_ctx ww_ctx; member
/kernel/linux/linux-6.6/include/drm/
H A Ddrm_modeset_lock.h35 * @ww_ctx: base acquire ctx
48 struct ww_acquire_ctx ww_ctx; member
/kernel/linux/linux-5.10/include/linux/
H A Dmutex.h86 struct ww_acquire_ctx *ww_ctx; member

Completed in 15 milliseconds