/linux/drivers/acpi/acpica/ |
H A D | exmutex.c | 45 if (obj_desc->mutex.next) { in acpi_ex_unlink_mutex() 46 (obj_desc->mutex.next)->mutex.prev = obj_desc->mutex.prev; in acpi_ex_unlink_mutex() 49 if (obj_desc->mutex.prev) { in acpi_ex_unlink_mutex() 50 (obj_desc->mutex.prev)->mutex.next = obj_desc->mutex.next; in acpi_ex_unlink_mutex() 58 (obj_desc->mutex.prev)->mutex.original_sync_level = in acpi_ex_unlink_mutex() 88 obj_desc->mutex.prev = NULL; in acpi_ex_link_mutex() 228 obj_desc->mutex.sync_level, in acpi_ex_acquire_mutex() 321 obj_desc->mutex.thread_id = 0; in acpi_ex_release_mutex_object() 496 next = obj_desc->mutex.next; in acpi_ex_release_all_mutexes() 498 obj_desc->mutex.prev = NULL; in acpi_ex_release_all_mutexes() [all …]
|
H A D | dsmethod.c | 345 obj_desc->method.mutex->mutex.sync_level)) { in acpi_ds_begin_method_execution() 360 !obj_desc->method.mutex->mutex.thread_id || in acpi_ds_begin_method_execution() 362 obj_desc->method.mutex->mutex.thread_id)) { in acpi_ds_begin_method_execution() 378 obj_desc->method.mutex->mutex. in acpi_ds_begin_method_execution() 382 obj_desc->method.mutex->mutex.thread_id = in acpi_ds_begin_method_execution() 398 obj_desc->method.mutex->mutex. in acpi_ds_begin_method_execution() 400 obj_desc->method.mutex->mutex.sync_level; in acpi_ds_begin_method_execution() 402 obj_desc->method.mutex->mutex.thread_id = in acpi_ds_begin_method_execution() 409 obj_desc->method.mutex->mutex.acquisition_depth++; in acpi_ds_begin_method_execution() 765 method_desc->method.mutex->mutex. in acpi_ds_terminate_control_method() [all …]
|
/linux/drivers/net/ethernet/netronome/nfp/nfpcore/ |
H A D | nfp_mutex.c | 143 mutex = kzalloc(sizeof(*mutex), GFP_KERNEL); in nfp_cpp_mutex_alloc() 144 if (!mutex) in nfp_cpp_mutex_alloc() 147 mutex->cpp = cpp; in nfp_cpp_mutex_alloc() 150 mutex->key = key; in nfp_cpp_mutex_alloc() 151 mutex->depth = 0; in nfp_cpp_mutex_alloc() 153 return mutex; in nfp_cpp_mutex_alloc() 162 kfree(mutex); in nfp_cpp_mutex_free() 200 mutex->target, mutex->address, mutex->key); in nfp_cpp_mutex_lock() 229 mutex->depth--; in nfp_cpp_mutex_unlock() 233 err = nfp_cpp_readl(mutex->cpp, mur, mutex->address + 4, &key); in nfp_cpp_mutex_unlock() [all …]
|
/linux/include/linux/ |
H A D | mutex.h | 40 extern void mutex_destroy(struct mutex *lock); 59 #define mutex_init(mutex) \ argument 63 __mutex_init((mutex), #mutex, &__key); \ 106 #define __mutex_init(mutex, name, key) \ argument 108 rt_mutex_base_init(&(mutex)->rtmutex); \ 109 __mutex_rt_init((mutex), name, key); \ 112 #define mutex_init(mutex) \ argument 116 __mutex_init((mutex), #mutex, &__key); \ 146 extern void mutex_lock(struct mutex *lock); 164 extern int mutex_trylock(struct mutex *lock); [all …]
|
/linux/drivers/gpu/drm/amd/pm/ |
H A D | amdgpu_dpm.c | 49 mutex_lock(&adev->pm.mutex); in amdgpu_dpm_get_sclk() 52 mutex_unlock(&adev->pm.mutex); in amdgpu_dpm_get_sclk() 65 mutex_lock(&adev->pm.mutex); in amdgpu_dpm_get_mclk() 68 mutex_unlock(&adev->pm.mutex); in amdgpu_dpm_get_mclk() 85 mutex_lock(&adev->pm.mutex); in amdgpu_dpm_set_powergating_by_smu() 108 mutex_unlock(&adev->pm.mutex); in amdgpu_dpm_set_powergating_by_smu() 118 mutex_lock(&adev->pm.mutex); in amdgpu_dpm_set_gfx_power_up_by_imu() 120 mutex_unlock(&adev->pm.mutex); in amdgpu_dpm_set_gfx_power_up_by_imu() 136 mutex_lock(&adev->pm.mutex); in amdgpu_dpm_baco_enter() 141 mutex_unlock(&adev->pm.mutex); in amdgpu_dpm_baco_enter() [all...] |
/linux/drivers/soc/mediatek/ |
H A D | mtk-mutex.c | 825 mutex[mutex->id]); in mtk_mutex_put() 827 WARN_ON(&mtx->mutex[mutex->id] != mutex); in mtk_mutex_put() 836 mutex[mutex->id]); in mtk_mutex_prepare() 844 mutex[mutex->id]); in mtk_mutex_unprepare() 858 WARN_ON(&mtx->mutex[mutex->id] != mutex); in mtk_mutex_add_comp() 915 WARN_ON(&mtx->mutex[mutex->id] != mutex); in mtk_mutex_remove_comp() 954 WARN_ON(&mtx->mutex[mutex->id] != mutex); in mtk_mutex_enable() 966 WARN_ON(&mtx->mutex[mutex->id] != mutex); in mtk_mutex_enable_by_cmdq() 984 WARN_ON(&mtx->mutex[mutex->id] != mutex); in mtk_mutex_disable() 1021 WARN_ON(&mtx->mutex[mutex->id] != mutex); in mtk_mutex_write_mod() [all …]
|
/linux/Documentation/devicetree/bindings/soc/mediatek/ |
H A D | mediatek,mutex.yaml | 7 title: Mediatek mutex 27 - mediatek,mt2701-disp-mutex 28 - mediatek,mt2712-disp-mutex 29 - mediatek,mt6795-disp-mutex 30 - mediatek,mt8167-disp-mutex 31 - mediatek,mt8173-disp-mutex 32 - mediatek,mt8183-disp-mutex 33 - mediatek,mt8186-disp-mutex 34 - mediatek,mt8186-mdp3-mutex 38 - mediatek,mt8195-vpp-mutex [all …]
|
/linux/Documentation/translations/zh_CN/locking/ |
H A D | mutex-design.rst | 4 :Original: Documentation/locking/mutex-design.rst 25 在Linux内核中,互斥锁(mutex)指的是一个特殊的加锁原语,它在共享内存系统上 36 互斥锁由“struct mutex”表示,在include/linux/mutex.h中定义,并在 37 kernel/locking/mutex.c中实现。这些锁使用一个原子变量(->owner)来跟踪 107 mutex_init(mutex); 111 void mutex_lock(struct mutex *lock); 113 int mutex_trylock(struct mutex *lock); 119 int mutex_lock_interruptible(struct mutex *lock); 127 void mutex_unlock(struct mutex *lock); 131 int mutex_is_locked(struct mutex *lock); [all …]
|
/linux/include/linux/soc/mediatek/ |
H A D | mtk-mutex.h | 71 int mtk_mutex_prepare(struct mtk_mutex *mutex); 72 void mtk_mutex_add_comp(struct mtk_mutex *mutex, 74 void mtk_mutex_enable(struct mtk_mutex *mutex); 77 void mtk_mutex_disable(struct mtk_mutex *mutex); 78 void mtk_mutex_remove_comp(struct mtk_mutex *mutex, 80 void mtk_mutex_unprepare(struct mtk_mutex *mutex); 81 void mtk_mutex_put(struct mtk_mutex *mutex); 82 void mtk_mutex_acquire(struct mtk_mutex *mutex); 83 void mtk_mutex_release(struct mtk_mutex *mutex); 84 int mtk_mutex_write_mod(struct mtk_mutex *mutex, [all …]
|
/linux/kernel/locking/ |
H A D | mutex.c | 89 bool mutex_is_locked(struct mutex *lock) in mutex_is_locked() 150 static inline bool __mutex_trylock(struct mutex *lock) in __mutex_trylock() 281 void __sched mutex_lock(struct mutex *lock) in mutex_lock() 542 void __sched mutex_unlock(struct mutex *lock) in mutex_unlock() 965 __mutex_lock_killable_slowpath(struct mutex *lock); 1006 int __sched mutex_lock_killable(struct mutex *lock) in mutex_lock_killable() 1027 void __sched mutex_lock_io(struct mutex *lock) in mutex_lock_io() 1038 __mutex_lock_slowpath(struct mutex *lock) in __mutex_lock_slowpath() 1044 __mutex_lock_killable_slowpath(struct mutex *lock) in __mutex_lock_killable_slowpath() 1050 __mutex_lock_interruptible_slowpath(struct mutex *lock) in __mutex_lock_interruptible_slowpath() [all …]
|
/linux/drivers/media/i2c/ |
H A D | tw9900.c | 83 struct mutex mutex; member 193 mutex_lock(&tw9900->mutex); in tw9900_get_fmt() 207 mutex_lock(&tw9900->mutex); in tw9900_set_fmt() 265 mutex_lock(&tw9900->mutex); in tw9900_s_stream() 279 mutex_lock(&tw9900->mutex); in tw9900_s_stream() 353 mutex_lock(&tw9900->mutex); in tw9900_s_std() 396 mutex_lock(&tw9900->mutex); in tw9900_g_std() 457 mutex_lock(&tw9900->mutex); in tw9900_querystd() 470 mutex_lock(&tw9900->mutex); in tw9900_querystd() 513 mutex_lock(&tw9900->mutex); in tw9900_g_input_status() [all …]
|
/linux/drivers/vhost/ |
H A D | test.c | 51 mutex_lock(&vq->mutex); in handle_vq() 54 mutex_unlock(&vq->mutex); in handle_vq() 93 mutex_unlock(&vq->mutex); in handle_vq() 135 mutex_lock(&vq->mutex); in vhost_test_stop_vq() 138 mutex_unlock(&vq->mutex); in vhost_test_stop_vq() 190 mutex_lock(&vq->mutex); in vhost_test_run() 252 mutex_lock(&vq->mutex); in vhost_test_set_features() 254 mutex_unlock(&vq->mutex); in vhost_test_set_features() 277 mutex_lock(&vq->mutex); in vhost_test_set_backend() 295 mutex_unlock(&vq->mutex); in vhost_test_set_backend() [all …]
|
/linux/drivers/net/wireless/realtek/rtw89/ |
H A D | mac80211.c | 62 mutex_lock(&rtwdev->mutex); in rtw89_ops_start() 64 mutex_unlock(&rtwdev->mutex); in rtw89_ops_start() 73 mutex_lock(&rtwdev->mutex); in rtw89_ops_stop() 75 mutex_unlock(&rtwdev->mutex); in rtw89_ops_stop() 85 mutex_lock(&rtwdev->mutex); in rtw89_ops_config() 103 mutex_unlock(&rtwdev->mutex); in rtw89_ops_config() 118 mutex_lock(&rtwdev->mutex); in rtw89_ops_add_interface() 184 mutex_lock(&rtwdev->mutex); in rtw89_ops_remove_interface() 231 mutex_lock(&rtwdev->mutex); in rtw89_ops_configure_filter() 427 mutex_lock(&rtwdev->mutex); in rtw89_ops_bss_info_changed() [all …]
|
/linux/Documentation/locking/ |
H A D | mutex-design.rst | 26 Mutexes are represented by 'struct mutex', defined in include/linux/mutex.h 50 one spinner can compete for the mutex. 118 The mutex user must ensure that the mutex is not destroyed while a 125 Statically define the mutex:: 129 Dynamically initialize the mutex:: 131 mutex_init(mutex); 133 Acquire the mutex, uninterruptible:: 135 void mutex_lock(struct mutex *lock); 139 Acquire the mutex, interruptible:: 149 Unlock the mutex:: [all …]
|
/linux/Documentation/devicetree/bindings/hwlock/ |
H A D | qcom-hwspinlock.yaml | 20 - qcom,sfpb-mutex 21 - qcom,tcsr-mutex 24 - qcom,apq8084-tcsr-mutex 25 - qcom,ipq6018-tcsr-mutex 26 - qcom,msm8226-tcsr-mutex 27 - qcom,msm8994-tcsr-mutex 28 - const: qcom,tcsr-mutex 31 - qcom,msm8974-tcsr-mutex 32 - const: qcom,tcsr-mutex 51 compatible = "qcom,tcsr-mutex";
|
/linux/drivers/net/wireless/realtek/rtw88/ |
H A D | mac80211.c | 58 mutex_lock(&rtwdev->mutex); in rtw_ops_start() 60 mutex_unlock(&rtwdev->mutex); in rtw_ops_start() 69 mutex_lock(&rtwdev->mutex); in rtw_ops_stop() 71 mutex_unlock(&rtwdev->mutex); in rtw_ops_stop() 82 mutex_lock(&rtwdev->mutex); in rtw_ops_config() 104 mutex_unlock(&rtwdev->mutex); in rtw_ops_config() 168 mutex_lock(&rtwdev->mutex); in rtw_ops_add_interface() 230 mutex_lock(&rtwdev->mutex); in rtw_ops_remove_interface() 277 mutex_lock(&rtwdev->mutex); in rtw_ops_configure_filter() 374 mutex_lock(&rtwdev->mutex); in rtw_ops_bss_info_changed() [all …]
|
/linux/drivers/media/dvb-core/ |
H A D | dmxdev.c | 129 mutex_unlock(&dmxdev->mutex); in dvb_dvr_open() 153 mutex_unlock(&dmxdev->mutex); in dvb_dvr_open() 196 mutex_unlock(&dmxdev->mutex); in dvb_dvr_open() 205 mutex_lock(&dmxdev->mutex); in dvb_dvr_release() 234 mutex_unlock(&dmxdev->mutex); in dvb_dvr_release() 237 mutex_unlock(&dmxdev->mutex); in dvb_dvr_release() 261 mutex_unlock(&dmxdev->mutex); in dvb_dvr_write() 833 mutex_lock(&dmxdev->mutex); in dvb_dmxdev_filter_free() 1248 mutex_lock(&dmxdev->mutex); in dvb_demux_release() 1421 mutex_init(&dmxdev->mutex); in dvb_dmxdev_init() [all …]
|
/linux/drivers/media/usb/uvc/ |
H A D | uvc_queue.c | 243 mutex_init(&queue->mutex); in uvc_queue_init() 253 mutex_lock(&queue->mutex); in uvc_queue_release() 267 mutex_lock(&queue->mutex); in uvc_request_buffers() 278 mutex_lock(&queue->mutex); in uvc_query_buffer() 290 mutex_lock(&queue->mutex); in uvc_create_buffers() 302 mutex_lock(&queue->mutex); in uvc_queue_buffer() 314 mutex_lock(&queue->mutex); in uvc_export_buffer() 326 mutex_lock(&queue->mutex); in uvc_dequeue_buffer() 337 mutex_lock(&queue->mutex); in uvc_queue_streamon() 348 mutex_lock(&queue->mutex); in uvc_queue_streamoff() [all …]
|
/linux/drivers/cpufreq/ |
H A D | cpufreq_userspace.c | 21 struct mutex mutex; member 38 mutex_lock(&userspace->mutex); in cpufreq_set() 46 mutex_unlock(&userspace->mutex); in cpufreq_set() 63 mutex_init(&userspace->mutex); in cpufreq_userspace_policy_init() 86 mutex_lock(&userspace->mutex); in cpufreq_userspace_policy_start() 89 mutex_unlock(&userspace->mutex); in cpufreq_userspace_policy_start() 99 mutex_lock(&userspace->mutex); in cpufreq_userspace_policy_stop() 102 mutex_unlock(&userspace->mutex); in cpufreq_userspace_policy_stop() 109 mutex_lock(&userspace->mutex); in cpufreq_userspace_policy_limits() 124 mutex_unlock(&userspace->mutex); in cpufreq_userspace_policy_limits()
|
/linux/drivers/mtd/chips/ |
H A D | cfi_cmdset_0020.c | 268 mutex_lock(&chip->mutex); in do_read_onechip() 447 mutex_lock(&chip->mutex); in do_write_buffer() 507 mutex_lock(&chip->mutex); in do_write_buffer() 536 mutex_lock(&chip->mutex); in do_write_buffer() 574 mutex_lock(&chip->mutex); in do_write_buffer() 749 mutex_lock(&chip->mutex); in do_erase_oneblock() 799 mutex_lock(&chip->mutex); in do_erase_oneblock() 1046 mutex_lock(&chip->mutex); in do_lock_oneblock() 1092 mutex_lock(&chip->mutex); in do_lock_oneblock() 1192 mutex_lock(&chip->mutex); in do_unlock_oneblock() [all …]
|
/linux/net/ceph/ |
H A D | auth.c | 66 mutex_init(&ac->mutex); in ceph_auth_init() 94 mutex_lock(&ac->mutex); in ceph_auth_reset() 99 mutex_unlock(&ac->mutex); in ceph_auth_reset() 128 mutex_lock(&ac->mutex); in ceph_auth_build_hello() 213 mutex_lock(&ac->mutex); in ceph_handle_auth_reply() 289 mutex_lock(&ac->mutex); in ceph_build_auth() 300 mutex_lock(&ac->mutex); in ceph_auth_is_authenticated() 315 mutex_lock(&ac->mutex); in __ceph_auth_get_authorizer() 354 mutex_lock(&ac->mutex); in ceph_auth_add_authorizer_challenge() 371 mutex_lock(&ac->mutex); in ceph_auth_verify_authorizer_reply() [all …]
|
/linux/drivers/media/cec/i2c/ |
H A D | ch7322.c | 154 struct mutex mutex; /* device access mutex */ member 243 mutex_lock(&ch7322->mutex); in ch7322_tx_done() 246 mutex_unlock(&ch7322->mutex); in ch7322_tx_done() 275 mutex_lock(&ch7322->mutex); in ch7322_rx_done() 295 mutex_lock(&ch7322->mutex); in ch7322_phys_addr() 311 mutex_lock(&ch7322->mutex); in ch7322_irq() 345 mutex_lock(&ch7322->mutex); in ch7322_cec_adap_log_addr() 359 mutex_lock(&ch7322->mutex); in ch7322_cec_adap_transmit() 479 mutex_init(&ch7322->mutex); in ch7322_probe() 543 mutex_lock(&ch7322->mutex); in ch7322_probe() [all …]
|
/linux/drivers/gpu/drm/i915/ |
H A D | intel_wakeref.h | 45 struct mutex mutex; member 60 struct lock_class_key mutex; member 142 might_lock(&wf->mutex); in intel_wakeref_might_get() 193 might_lock(&wf->mutex); in intel_wakeref_might_put() 206 __acquires(wf->mutex) in intel_wakeref_lock() 208 mutex_lock(&wf->mutex); in intel_wakeref_lock() 219 __releases(wf->mutex) in intel_wakeref_unlock() 221 mutex_unlock(&wf->mutex); in intel_wakeref_unlock() 234 mutex_lock(&wf->mutex); in intel_wakeref_unlock_wait() 235 mutex_unlock(&wf->mutex); in intel_wakeref_unlock_wait() [all …]
|
/linux/tools/perf/util/ |
H A D | mutex.h | 72 struct LOCKABLE mutex { struct 82 void mutex_init(struct mutex *mtx); 87 void mutex_init_pshared(struct mutex *mtx); 88 void mutex_destroy(struct mutex *mtx); 90 void mutex_lock(struct mutex *mtx) EXCLUSIVE_LOCK_FUNCTION(*mtx); 91 void mutex_unlock(struct mutex *mtx) UNLOCK_FUNCTION(*mtx); 93 bool mutex_trylock(struct mutex *mtx) EXCLUSIVE_TRYLOCK_FUNCTION(true, *mtx); 104 void cond_wait(struct cond *cnd, struct mutex *mtx) EXCLUSIVE_LOCKS_REQUIRED(mtx);
|
/linux/drivers/gpu/drm/ |
H A D | drm_modeset_lock.c | 153 mutex_lock(&config->mutex); in drm_modeset_lock_all() 211 mutex_unlock(&dev->mode_config.mutex); in drm_modeset_unlock_all() 230 WARN_ON(!drm_modeset_is_locked(&crtc->mutex)); in drm_warn_on_modeset_not_all_locked() 302 if (!ww_mutex_trylock(&lock->mutex, NULL)) 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() 368 ww_mutex_init(&lock->mutex, &crtc_ww_class); in drm_modeset_lock_init() 398 ww_mutex_lock(&lock->mutex, NULL); in drm_modeset_lock() 425 ww_mutex_unlock(&lock->mutex); in drm_modeset_unlock() 462 ret = drm_modeset_lock(&crtc->mutex, ctx); in drm_modeset_lock_all_ctx() [all …]
|