/linux-6.6.21/include/linux/ |
D | completion.h | 26 struct completion { struct 32 static inline void complete_acquire(struct completion *x) {} in complete_acquire() argument 33 static inline void complete_release(struct completion *x) {} in complete_release() 53 struct completion work = COMPLETION_INITIALIZER(work) 69 struct completion work = COMPLETION_INITIALIZER_ONSTACK(work) 71 struct completion work = COMPLETION_INITIALIZER_ONSTACK_MAP(work, map) 84 static inline void init_completion(struct completion *x) in init_completion() 97 static inline void reinit_completion(struct completion *x) in reinit_completion() 102 extern void wait_for_completion(struct completion *); 103 extern void wait_for_completion_io(struct completion *); [all …]
|
/linux-6.6.21/Documentation/translations/zh_CN/scheduler/ |
D | completion.rst | 3 :Original: Documentation/scheduler/completion.rst 26 调用和completion()来代替。 33 事件被简化为 ``struct completion`` 中的一个简单标志,被恰如其名地称为‘done’。 35 由于完成与调度有关,代码可以在kernel/sched/completion.c中找到。 43 - 'struct completion' 同步对象的初始化 51 要使用完成API,你需要#include <linux/completion.h>并创建一个静态或动态的 52 ``struct completion`` 类型的变量,它只有两个字段:: 54 struct completion { 134 void wait_for_completion(struct completion *done) 140 struct completion setup_done; [all …]
|
/linux-6.6.21/kernel/sched/ |
D | completion.c | 16 static void complete_with_flags(struct completion *x, int wake_flags) in complete_with_flags() 28 void complete_on_current_cpu(struct completion *x) in complete_on_current_cpu() 45 void complete(struct completion *x) in complete() 67 void complete_all(struct completion *x) in complete_all() 81 do_wait_for_common(struct completion *x, in do_wait_for_common() 108 __wait_for_common(struct completion *x, in __wait_for_common() 125 wait_for_common(struct completion *x, long timeout, int state) in wait_for_common() 131 wait_for_common_io(struct completion *x, long timeout, int state) in wait_for_common_io() 146 void __sched wait_for_completion(struct completion *x) in wait_for_completion() 165 wait_for_completion_timeout(struct completion *x, unsigned long timeout) in wait_for_completion_timeout() [all …]
|
/linux-6.6.21/sound/soc/codecs/ |
D | cs42l43.h | 53 struct completion pll_ready; 59 struct completion hp_startup; 60 struct completion hp_shutdown; 61 struct completion spkr_shutdown; 62 struct completion spkl_shutdown; 63 struct completion spkr_startup; 64 struct completion spkl_startup; 84 struct completion type_detect; 85 struct completion load_detect;
|
/linux-6.6.21/Documentation/scheduler/ |
D | completion.rst | 2 Completions - "wait for completion" barrier APIs 27 is reduced to a simple flag in 'struct completion', appropriately called "done". 30 kernel/sched/completion.c. 38 - the initialization of the 'struct completion' synchronization object 45 to have marked a completion as 'done' before another thread checks whether 48 To use completions you need to #include <linux/completion.h> and 49 create a static or dynamic variable of type 'struct completion', 52 struct completion { 58 the ->done completion flag for indicating whether it's completed or not. 67 Good, intuitive naming (as always) helps code readability. Naming a completion [all …]
|
/linux-6.6.21/drivers/net/wwan/iosm/ |
D | iosm_ipc_task_queue.c | 28 if (args->completion) in ipc_task_queue_handler() 29 complete(args->completion); in ipc_task_queue_handler() 42 args->completion = NULL; in ipc_task_queue_handler() 64 if (args->completion) in ipc_task_queue_cleanup() 65 complete(args->completion); in ipc_task_queue_cleanup() 85 struct completion completion; in ipc_task_queue_add_task() local 90 init_completion(&completion); in ipc_task_queue_add_task() 111 ipc_task->args[pos].completion = wait ? &completion : NULL; in ipc_task_queue_add_task() 130 wait_for_completion(&completion); in ipc_task_queue_add_task()
|
/linux-6.6.21/drivers/scsi/aic94xx/ |
D | aic94xx_tmf.c | 67 complete(ascb->completion); in asd_clear_nexus_tasklet_complete() 78 complete(ascb->completion); in asd_clear_nexus_timedout() 85 DECLARE_COMPLETION_ONSTACK(completion); \ 94 ascb->completion = &completion; \ 106 wait_for_completion(&completion); \ 252 complete(ascb->completion); in asd_tmf_timedout() 320 complete(ascb->completion); in asd_tmf_tasklet_complete() 329 DECLARE_COMPLETION_ONSTACK(completion); in asd_clear_nexus() 332 tascb->completion = &completion; in asd_clear_nexus() 339 leftover = wait_for_completion_timeout(&completion, in asd_clear_nexus() [all …]
|
/linux-6.6.21/arch/powerpc/sysdev/ |
D | pmi.c | 34 struct completion *completion; member 53 if (type & PMI_ACK && !data->completion) { in pmi_irq_handler() 59 if (data->completion && !(type & PMI_ACK)) { in pmi_irq_handler() 79 complete(data->completion); in pmi_irq_handler() 209 DECLARE_COMPLETION_ONSTACK(completion); in pmi_send_message() 219 data->completion = &completion; in pmi_send_message() 230 wait_for_completion_interruptible_timeout(data->completion, in pmi_send_message() 233 data->completion = NULL; in pmi_send_message()
|
/linux-6.6.21/drivers/staging/rts5208/ |
D | rtsx.h | 96 struct completion cmnd_ready; /* to sleep thread on */ 97 struct completion control_exit; /* control thread exit */ 98 struct completion polling_exit; /* polling thread exit */ 99 struct completion notify; /* thread begin/end */ 100 struct completion scanning_done; /* wait for scan thread */ 112 struct completion *done;
|
/linux-6.6.21/drivers/char/hw_random/ |
D | timeriomem-rng.c | 39 struct completion completion; member 61 wait_for_completion(&priv->completion); in timeriomem_rng_read() 85 reinit_completion(&priv->completion); in timeriomem_rng_read() 98 complete(&priv->completion); in timeriomem_rng_trigger() 154 init_completion(&priv->completion); in timeriomem_rng_probe() 163 complete(&priv->completion); in timeriomem_rng_probe()
|
/linux-6.6.21/Documentation/driver-api/usb/ |
D | URB.rst | 36 - Each URB has a completion handler, which is called after the action 38 context-pointer for passing information to the completion handler. 42 data to an endpoint while your driver handles completion of another. 60 // (IN) all urbs need completion routines 61 void *context; // context for completion routine 62 usb_complete_t complete; // pointer to completion routine 64 // (OUT) status after each completion 110 returned to you in a completion callback. It will automatically be 122 length, the completion handler, and its context. Take a look at the some 156 never look at that value except in your completion callback. [all …]
|
/linux-6.6.21/drivers/rpmsg/ |
D | qcom_glink_ssr.c | 55 struct completion completion; member 93 complete(&ssr->completion); in qcom_glink_ssr_callback() 108 reinit_completion(&ssr->completion); in qcom_glink_ssr_notifier_call() 120 ret = wait_for_completion_timeout(&ssr->completion, HZ); in qcom_glink_ssr_notifier_call() 135 init_completion(&ssr->completion); in qcom_glink_ssr_probe()
|
/linux-6.6.21/drivers/s390/char/ |
D | sclp_ftp.c | 39 struct completion *completion = data; in sclp_ftp_txcb() local 45 complete(completion); in sclp_ftp_txcb() 90 struct completion completion; in sclp_ftp_et7() local 131 req->callback_data = &completion; in sclp_ftp_et7() 133 init_completion(&completion); in sclp_ftp_et7() 140 wait_for_completion(&completion); in sclp_ftp_et7()
|
D | sclp_pci.c | 105 struct completion *completion = data; in sclp_pci_callback() local 107 complete(completion); in sclp_pci_callback() 132 DECLARE_COMPLETION_ONSTACK(completion); in sclp_pci_report() 158 req.callback_data = &completion; in sclp_pci_report() 179 wait_for_completion(&completion); in sclp_pci_report()
|
/linux-6.6.21/drivers/staging/vc04_services/interface/vchiq_arm/ |
D | vchiq_arm.h | 38 struct completion insert_event; 39 struct completion remove_event; 40 struct completion close_event; 55 struct completion insert_event; 56 struct completion remove_event;
|
D | vchiq_core.h | 233 struct completion remove_event; 234 struct completion bulk_remove_event; 255 struct completion msg_queue_pop; 256 struct completion msg_queue_push; 270 struct completion quota_event; 349 struct completion connect; 424 struct completion slot_available_event; 426 struct completion slot_remove_event; 429 struct completion data_quota_event; 448 struct completion event;
|
/linux-6.6.21/Documentation/admin-guide/blockdev/drbd/ |
D | disk-states-8.dot | 11 Consistent -> Failed [ label = "io completion error" ] 12 Outdated -> Failed [ label = "io completion error" ] 13 UpToDate -> Failed [ label = "io completion error" ] 14 Inconsistent -> Failed [ label = "io completion error" ]
|
/linux-6.6.21/Documentation/arch/sparc/oradax/ |
D | oracle-dax.rst | 41 pointer to a "completion area", which is a 128 byte memory block that 43 interrupt is generated upon completion; the completion area must be 46 processor until the completion status has been updated by the 52 completion of a request and resumption of execution of the requesting 85 call, and gets results (if any) via read(). The completion areas are 96 requests. The completion area buffer is also allocated, and this is 97 large enough to contain the completion areas for many concurrent 116 requests. Since no interrupt is generated upon the completion of a 142 completion area to use, and may be set via lseek() or using the 157 The mmap() function provides access to the completion area allocated [all …]
|
/linux-6.6.21/drivers/net/ethernet/brocade/bna/ |
D | bnad.h | 119 struct completion comp; 124 struct completion ioc_comp; 125 struct completion ucast_comp; 126 struct completion mcast_comp; 127 struct completion tx_comp; 128 struct completion rx_comp; 129 struct completion stats_comp; 130 struct completion enet_comp; 131 struct completion mtu_comp;
|
/linux-6.6.21/drivers/net/wireless/ath/ath11k/ |
D | core.h | 607 struct completion started; 608 struct completion completed; 609 struct completion on_channel; 661 struct completion peer_assoc_done; 662 struct completion peer_delete_done; 665 struct completion install_key_done; 668 struct completion vdev_setup_done; 669 struct completion vdev_delete_done; 697 struct completion bss_survey_done; 705 struct completion target_suspend; [all …]
|
/linux-6.6.21/drivers/net/wireless/ath/ath12k/ |
D | core.h | 462 struct completion started; 463 struct completion completed; 464 struct completion on_channel; 517 struct completion peer_assoc_done; 518 struct completion peer_delete_done; 521 struct completion install_key_done; 524 struct completion vdev_setup_done; 525 struct completion vdev_delete_done; 553 struct completion bss_survey_done; 663 struct completion fw_ready; [all …]
|
/linux-6.6.21/drivers/scsi/pm8001/ |
D | pm8001_sas.c | 165 DECLARE_COMPLETION_ONSTACK(completion); in pm8001_phy_control() 169 pm8001_ha->phy[phy_id].enable_completion = &completion; in pm8001_phy_control() 194 wait_for_completion(&completion); in pm8001_phy_control() 202 wait_for_completion(&completion); in pm8001_phy_control() 210 wait_for_completion(&completion); in pm8001_phy_control() 280 DECLARE_COMPLETION_ONSTACK(completion); in pm8001_scan_start() 286 pm8001_ha->phy[i].enable_completion = &completion; in pm8001_scan_start() 288 wait_for_completion(&completion); in pm8001_scan_start() 641 DECLARE_COMPLETION_ONSTACK(completion); in pm8001_dev_found_notify() 654 pm8001_device->dcompletion = &completion; in pm8001_dev_found_notify() [all …]
|
/linux-6.6.21/drivers/iio/adc/ |
D | intel_mrfld_adc.c | 57 struct completion completion; member 67 complete(&adc->completion); in mrfld_adc_thread_isr() 82 reinit_completion(&adc->completion); in mrfld_adc_single_conv() 98 timeout = wait_for_completion_interruptible_timeout(&adc->completion, in mrfld_adc_single_conv() 196 init_completion(&adc->completion); in mrfld_adc_probe()
|
/linux-6.6.21/drivers/scsi/bfa/ |
D | bfad_drv.h | 143 struct completion *comp_del; 192 struct completion comp; 193 struct completion suspend; 194 struct completion enable_comp; 195 struct completion disable_comp; 274 struct completion comp; 279 struct completion comp;
|
/linux-6.6.21/include/target/iscsi/ |
D | iscsi_target_core.h | 546 struct completion conn_post_wait_comp; 547 struct completion conn_wait_comp; 548 struct completion conn_wait_rcfr_comp; 549 struct completion conn_waiting_on_uc_comp; 550 struct completion conn_logout_comp; 551 struct completion tx_half_close_comp; 552 struct completion rx_half_close_comp; 607 struct completion rx_login_comp; 683 struct completion async_msg_comp; 684 struct completion reinstatement_comp; [all …]
|