/Linux-v5.15/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-v5.15/kernel/sched/ |
D | completion.c | 28 void complete(struct completion *x) in complete() 57 void complete_all(struct completion *x) in complete_all() 71 do_wait_for_common(struct completion *x, in do_wait_for_common() 98 __wait_for_common(struct completion *x, in __wait_for_common() 115 wait_for_common(struct completion *x, long timeout, int state) in wait_for_common() 121 wait_for_common_io(struct completion *x, long timeout, int state) in wait_for_common_io() 136 void __sched wait_for_completion(struct completion *x) in wait_for_completion() 155 wait_for_completion_timeout(struct completion *x, unsigned long timeout) in wait_for_completion_timeout() 169 void __sched wait_for_completion_io(struct completion *x) in wait_for_completion_io() 189 wait_for_completion_io_timeout(struct completion *x, unsigned long timeout) in wait_for_completion_io_timeout() [all …]
|
/Linux-v5.15/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-v5.15/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-v5.15/tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/ |
D | locks.h | 176 struct completion { struct 182 #define DECLARE_COMPLETION(x) struct completion x = COMPLETION_INITIALIZER(x) argument 185 static inline void init_completion(struct completion *c) in init_completion() 190 static inline void wait_for_completion(struct completion *c) in wait_for_completion() 197 static inline void complete(struct completion *c) in complete() 205 static inline bool try_wait_for_completion(struct completion *c) in try_wait_for_completion() 210 static inline bool completion_done(struct completion *c) in completion_done() 216 static inline void complete_all(struct completion *c) in complete_all()
|
/Linux-v5.15/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-v5.15/arch/powerpc/sysdev/ |
D | pmi.c | 33 struct completion *completion; member 52 if (type & PMI_ACK && !data->completion) { in pmi_irq_handler() 58 if (data->completion && !(type & PMI_ACK)) { in pmi_irq_handler() 78 complete(data->completion); in pmi_irq_handler() 208 DECLARE_COMPLETION_ONSTACK(completion); in pmi_send_message() 218 data->completion = &completion; in pmi_send_message() 229 wait_for_completion_interruptible_timeout(data->completion, in pmi_send_message() 232 data->completion = NULL; in pmi_send_message()
|
/Linux-v5.15/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-v5.15/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() 156 init_completion(&priv->completion); in timeriomem_rng_probe() 170 complete(&priv->completion); in timeriomem_rng_probe()
|
/Linux-v5.15/drivers/staging/vc04_services/interface/vchiq_arm/ |
D | vchiq_arm.h | 31 struct completion ka_evt; 77 struct completion insert_event; 78 struct completion remove_event; 79 struct completion close_event; 94 struct completion insert_event; 95 struct completion remove_event;
|
D | vchiq_core.h | 223 struct completion remove_event; 224 struct completion bulk_remove_event; 245 struct completion msg_queue_pop; 246 struct completion msg_queue_push; 260 struct completion quota_event; 339 struct completion connect; 414 struct completion slot_available_event; 416 struct completion slot_remove_event; 419 struct completion data_quota_event; 438 struct completion event;
|
/Linux-v5.15/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-v5.15/net/bluetooth/ |
D | ecdh_helper.c | 29 struct completion completion; member 41 complete(&res->completion); in ecdh_complete() 79 init_completion(&result.completion); in compute_ecdh_secret() 92 wait_for_completion(&result.completion); in compute_ecdh_secret() 184 init_completion(&result.completion); in generate_ecdh_public_key() 193 wait_for_completion(&result.completion); in generate_ecdh_public_key()
|
/Linux-v5.15/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-v5.15/drivers/net/ipa/ |
D | gsi.h | 117 struct completion completion; /* signals channel command completion */ member 144 struct completion completion; /* signals event ring state changes */ member 163 struct completion completion; /* for global EE commands */ member
|
/Linux-v5.15/drivers/s390/char/ |
D | sclp_ftp.c | 37 struct completion *completion = data; in sclp_ftp_txcb() local 43 complete(completion); in sclp_ftp_txcb() 87 struct completion completion; in sclp_ftp_et7() local 128 req->callback_data = &completion; in sclp_ftp_et7() 130 init_completion(&completion); in sclp_ftp_et7() 137 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-v5.15/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-v5.15/Documentation/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-v5.15/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-v5.15/drivers/iio/proximity/ |
D | vl53l0x-i2c.c | 44 struct completion completion; member 52 complete(&data->completion); in vl53l0x_handle_irq() 113 reinit_completion(&data->completion); in vl53l0x_read_proximity() 115 ret = wait_for_completion_timeout(&data->completion, HZ/10); in vl53l0x_read_proximity() 218 init_completion(&data->completion); in vl53l0x_probe()
|
/Linux-v5.15/drivers/iio/adc/ |
D | stmpe-adc.c | 55 struct completion completion; member 68 reinit_completion(&info->completion); in stmpe_read_voltage() 80 ret = wait_for_completion_timeout(&info->completion, STMPE_ADC_TIMEOUT); in stmpe_read_voltage() 103 reinit_completion(&info->completion); in stmpe_read_temp() 115 ret = wait_for_completion_timeout(&info->completion, STMPE_ADC_TIMEOUT); in stmpe_read_temp() 203 complete(&info->completion); in stmpe_adc_isr() 277 init_completion(&info->completion); in stmpe_adc_probe()
|
D | intel_mrfld_adc.c | 56 struct completion completion; member 66 complete(&adc->completion); in mrfld_adc_thread_isr() 81 reinit_completion(&adc->completion); in mrfld_adc_single_conv() 97 timeout = wait_for_completion_interruptible_timeout(&adc->completion, in mrfld_adc_single_conv() 195 init_completion(&adc->completion); in mrfld_adc_probe()
|
/Linux-v5.15/drivers/scsi/pm8001/ |
D | pm8001_sas.c | 162 DECLARE_COMPLETION_ONSTACK(completion); in pm8001_phy_control() 166 pm8001_ha->phy[phy_id].enable_completion = &completion; in pm8001_phy_control() 180 wait_for_completion(&completion); in pm8001_phy_control() 188 wait_for_completion(&completion); in pm8001_phy_control() 196 wait_for_completion(&completion); in pm8001_phy_control() 267 DECLARE_COMPLETION_ONSTACK(completion); in pm8001_scan_start() 273 pm8001_ha->phy[i].enable_completion = &completion; in pm8001_scan_start() 275 wait_for_completion(&completion); in pm8001_scan_start() 627 DECLARE_COMPLETION_ONSTACK(completion); in pm8001_dev_found_notify() 640 pm8001_device->dcompletion = &completion; in pm8001_dev_found_notify() [all …]
|
/Linux-v5.15/drivers/scsi/bfa/ |
D | bfad_drv.h | 144 struct completion *comp_del; 193 struct completion comp; 194 struct completion suspend; 195 struct completion enable_comp; 196 struct completion disable_comp; 275 struct completion comp; 280 struct completion comp;
|