Home
last modified time | relevance | path

Searched refs:irq_work (Results 1 – 25 of 92) sorted by relevance

1234

/Linux-v6.6/include/linux/
Dirq_work.h17 struct irq_work { struct
19 void (*func)(struct irq_work *); argument
23 #define __IRQ_WORK_INIT(_func, _flags) (struct irq_work){ \ argument
34 struct irq_work name = IRQ_WORK_INIT(_f)
37 void init_irq_work(struct irq_work *work, void (*func)(struct irq_work *)) in init_irq_work() argument
42 static inline bool irq_work_is_pending(struct irq_work *work) in irq_work_is_pending()
47 static inline bool irq_work_is_busy(struct irq_work *work) in irq_work_is_busy()
52 static inline bool irq_work_is_hard(struct irq_work *work) in irq_work_is_hard()
57 bool irq_work_queue(struct irq_work *work);
58 bool irq_work_queue_on(struct irq_work *work, int cpu);
[all …]
/Linux-v6.6/kernel/
Dirq_work.c40 static void irq_work_wake(struct irq_work *entry) in irq_work_wake()
45 static DEFINE_PER_CPU(struct irq_work, irq_work_wakeup) =
57 static bool irq_work_claim(struct irq_work *work) in irq_work_claim()
79 static __always_inline void irq_work_raise(struct irq_work *work) in irq_work_raise()
88 static void __irq_work_queue_local(struct irq_work *work) in __irq_work_queue_local()
116 bool irq_work_queue(struct irq_work *work) in irq_work_queue()
137 bool irq_work_queue_on(struct irq_work *work, int cpu) in irq_work_queue_on()
203 struct irq_work *work = arg; in irq_work_single()
237 struct irq_work *work, *tmp; in irq_work_run_list()
286 void irq_work_sync(struct irq_work *work) in irq_work_sync()
/Linux-v6.6/kernel/bpf/
Dmmap_unlock_work.h11 struct irq_work irq_work; member
32 if (irq_work_is_busy(&work->irq_work)) { in bpf_mmap_unlock_get_irq_work()
61 irq_work_queue(&work->irq_work); in bpf_mmap_unlock_mm()
/Linux-v6.6/drivers/gpu/drm/i915/gt/
Dintel_breadcrumbs.c48 irq_work_queue(&b->irq_work); in __intel_breadcrumbs_arm_irq()
165 static void signal_irq_work(struct irq_work *work) in signal_irq_work()
167 struct intel_breadcrumbs *b = container_of(work, typeof(*b), irq_work); in signal_irq_work()
281 init_irq_work(&b->irq_work, signal_irq_work); in intel_breadcrumbs_create()
313 irq_work_sync(&b->irq_work); in __intel_breadcrumbs_park()
316 signal_irq_work(&b->irq_work); in __intel_breadcrumbs_park()
326 irq_work_sync(&b->irq_work); in intel_breadcrumbs_free()
341 irq_work_queue(&b->irq_work); in irq_signal_request()
403 irq_work_queue(&b->irq_work); in insert_breadcrumb()
Dintel_breadcrumbs_types.h44 struct irq_work irq_work; /* for use from inside irq_lock */ member
/Linux-v6.6/drivers/power/supply/
Dmax14656_charger_detector.c83 struct delayed_work irq_work; member
137 container_of(work, struct max14656_chip, irq_work.work); in max14656_irq_worker()
165 schedule_delayed_work(&chip->irq_work, msecs_to_jiffies(100)); in max14656_irq()
281 ret = devm_delayed_work_autocancel(dev, &chip->irq_work, in max14656_probe()
297 schedule_delayed_work(&chip->irq_work, msecs_to_jiffies(2000)); in max14656_probe()
/Linux-v6.6/samples/trace_printk/
Dtrace-printk.c16 static struct irq_work irqwork;
18 static void trace_printk_irq_work(struct irq_work *work) in trace_printk_irq_work()
/Linux-v6.6/drivers/cpufreq/
Dcpufreq_governor.c261 static void dbs_irq_work(struct irq_work *irq_work) in dbs_irq_work() argument
265 policy_dbs = container_of(irq_work, struct policy_dbs_info, irq_work); in dbs_irq_work()
319 irq_work_queue(&policy_dbs->irq_work); in dbs_update_util_handler()
363 init_irq_work(&policy_dbs->irq_work, dbs_irq_work); in alloc_policy_dbs_info()
556 irq_work_sync(&policy_dbs->irq_work); in cpufreq_dbs_governor_stop()
Dcppc_cpufreq.c79 struct irq_work irq_work; member
140 static void cppc_irq_work(struct irq_work *irq_work) in cppc_irq_work() argument
144 cppc_fi = container_of(irq_work, struct cppc_freq_invariance, irq_work); in cppc_irq_work()
156 irq_work_queue(&cppc_fi->irq_work); in cppc_scale_freq_tick()
177 init_irq_work(&cppc_fi->irq_work, cppc_irq_work); in cppc_cpufreq_cpu_fie_init()
218 irq_work_sync(&cppc_fi->irq_work); in cppc_cpufreq_cpu_fie_exit()
Dcpufreq_governor.h89 struct irq_work irq_work; member
/Linux-v6.6/kernel/sched/
Dcpufreq_schedutil.c29 struct irq_work irq_work; member
113 irq_work_queue(&sg_policy->irq_work); in sugov_deferred_update()
492 static void sugov_irq_work(struct irq_work *irq_work) in sugov_irq_work() argument
496 sg_policy = container_of(irq_work, struct sugov_policy, irq_work); in sugov_irq_work()
622 init_irq_work(&sg_policy->irq_work, sugov_irq_work); in sugov_kthread_create()
805 irq_work_sync(&sg_policy->irq_work); in sugov_stop()
/Linux-v6.6/drivers/extcon/
Dextcon-ptn5150.c54 struct work_struct irq_work; member
119 struct ptn5150_info, irq_work); in ptn5150_irq_work()
176 schedule_work(&info->irq_work); in ptn5150_irq_handler()
220 cancel_work_sync(&info->irq_work); in ptn5150_work_sync_and_put()
254 INIT_WORK(&info->irq_work, ptn5150_irq_work); in ptn5150_i2c_probe()
Dextcon-max8997.c119 struct work_struct irq_work; member
511 struct max8997_muic_info, irq_work); in max8997_muic_irq_work()
571 schedule_work(&info->irq_work); in max8997_muic_irq_handler()
653 INIT_WORK(&info->irq_work, max8997_muic_irq_work); in max8997_muic_probe()
654 ret = devm_work_autocancel(&pdev->dev, &info->irq_work, in max8997_muic_probe()
Dextcon-max14577.c82 struct work_struct irq_work; member
484 struct max14577_muic_info, irq_work); in max14577_muic_irq_work()
598 schedule_work(&info->irq_work); in max14577_muic_irq_handler()
677 ret = devm_work_autocancel(&pdev->dev, &info->irq_work, in max14577_muic_probe()
Dextcon-rt8973a.c53 struct work_struct irq_work; member
409 struct rt8973a_muic_info, irq_work); in rt8973a_muic_irq_work()
483 schedule_work(&info->irq_work); in rt8973a_muic_irq_handler()
575 INIT_WORK(&info->irq_work, rt8973a_muic_irq_work); in rt8973a_muic_i2c_probe()
Dextcon-max77843.c35 struct work_struct irq_work; member
629 struct max77843_muic_info, irq_work); in max77843_muic_irq_work()
697 schedule_work(&info->irq_work); in max77843_muic_irq_handler()
883 INIT_WORK(&info->irq_work, max77843_muic_irq_work); in max77843_muic_probe()
936 cancel_work_sync(&info->irq_work); in max77843_muic_remove()
/Linux-v6.6/drivers/net/wireless/quantenna/qtnfmac/
Dshm_ipc.c49 irq_work); in qtnf_shm_ipc_irq_work()
62 queue_work(ipc->workqueue, &ipc->irq_work); in qtnf_shm_ipc_irq_inbound_handler()
112 INIT_WORK(&ipc->irq_work, qtnf_shm_ipc_irq_work); in qtnf_shm_ipc_init()
/Linux-v6.6/drivers/gpu/drm/i915/gem/
Di915_gem_ttm_move.c297 struct irq_work irq_work; member
392 static void __memcpy_irq_work(struct irq_work *irq_work) in __memcpy_irq_work() argument
395 container_of(irq_work, typeof(*copy_work), irq_work); in __memcpy_irq_work()
413 init_irq_work(&copy_work->irq_work, __memcpy_irq_work); in __memcpy_cb()
414 irq_work_queue(&copy_work->irq_work); in __memcpy_cb()
/Linux-v6.6/drivers/media/cec/usb/pulse8/
Dpulse8-cec.c181 struct work_struct irq_work; member
333 container_of(work, struct pulse8, irq_work); in pulse8_irq_work_handler()
422 schedule_work(&pulse8->irq_work); in pulse8_interrupt()
428 schedule_work(&pulse8->irq_work); in pulse8_interrupt()
439 schedule_work(&pulse8->irq_work); in pulse8_interrupt()
446 schedule_work(&pulse8->irq_work); in pulse8_interrupt()
642 cancel_work_sync(&pulse8->irq_work); in pulse8_cec_adap_free()
859 INIT_WORK(&pulse8->irq_work, pulse8_irq_work_handler); in pulse8_connect()
/Linux-v6.6/kernel/rcu/
Dtree.h194 struct irq_work defer_qs_iw; /* Obtain later scheduler attention. */
273 struct irq_work rcu_iw; /* Check for non-irq activity. */
503 static void rcu_iw_handler(struct irq_work *iwp);
/Linux-v6.6/drivers/iio/trigger/
Diio-trig-sysfs.c18 struct irq_work work;
92 static void iio_sysfs_trigger_work(struct irq_work *work) in iio_sysfs_trigger_work()
/Linux-v6.6/drivers/net/ethernet/mellanox/mlxsw/
Di2c.c94 struct work_struct irq_work; member
570 mlxsw_i2c = container_of(work, struct mlxsw_i2c, irq_work); in mlxsw_i2c_work_handler()
578 mlxsw_core_schedule_work(&mlxsw_i2c->irq_work); in mlxsw_i2c_irq_handler()
606 INIT_WORK(&mlxsw_i2c->irq_work, mlxsw_i2c_work_handler); in mlxsw_i2c_irq_init()
623 cancel_work_sync(&mlxsw_i2c->irq_work); in mlxsw_i2c_irq_fini()
/Linux-v6.6/kernel/trace/
Dring_buffer.c412 struct irq_work work;
539 struct rb_irq_work irq_work; member
558 struct rb_irq_work irq_work; member
938 static void rb_wake_up_waiters(struct irq_work *work) in rb_wake_up_waiters()
972 rbwork = &buffer->irq_work; in ring_buffer_wake_waiters()
983 rbwork = &cpu_buffer->irq_work; in ring_buffer_wake_waiters()
1017 work = &buffer->irq_work; in ring_buffer_wait()
1024 work = &cpu_buffer->irq_work; in ring_buffer_wait()
1127 work = &buffer->irq_work; in ring_buffer_poll_wait()
1134 work = &cpu_buffer->irq_work; in ring_buffer_poll_wait()
[all …]
/Linux-v6.6/kernel/irq/
Dirq_sim.c14 struct irq_work work;
100 static void irq_sim_handle_irq(struct irq_work *work) in irq_sim_handle_irq()
/Linux-v6.6/drivers/mfd/
Dda903x.c66 struct work_struct irq_work; member
397 container_of(work, struct da903x_chip, irq_work); in da903x_irq_work()
419 (void)schedule_work(&chip->irq_work); in da903x_irq_handler()
509 INIT_WORK(&chip->irq_work, da903x_irq_work); in da903x_probe()

1234