Lines Matching +full:- +full:affinity
1 /* SPDX-License-Identifier: GPL-2.0 */
44 * IRQF_SHARED - allow sharing the irq among several devices
45 * IRQF_PROBE_SHARED - set by callers when they expect sharing mismatches to occur
46 * IRQF_TIMER - Flag to mark this interrupt as timer interrupt
47 * IRQF_PERCPU - Interrupt is per cpu
48 * IRQF_NOBALANCING - Flag to exclude this interrupt from irq balancing
49 * IRQF_IRQPOLL - Interrupt is used for polling (only the interrupt that is
52 * IRQF_ONESHOT - Interrupt is not reenabled after the hardirq handler finished.
55 * IRQF_NO_SUSPEND - Do not disable this IRQ during suspend. Does not guarantee
57 * state. See Documentation/power/suspend-and-interrupts.rst
58 * IRQF_FORCE_RESUME - Force enable it on resume even if IRQF_NO_SUSPEND is set
59 * IRQF_NO_THREAD - Interrupt cannot be threaded
60 * IRQF_EARLY_RESUME - Resume IRQ early during syscore instead of at device
62 * IRQF_COND_SUSPEND - If the IRQ is shared with a NO_SUSPEND user, execute this
66 * IRQF_NO_AUTOEN - Don't enable IRQ or NMI automatically when users request it.
69 * IRQF_NO_DEBUG - Exclude from runnaway detection for IPI and similar handlers,
71 * IRQF_COND_ONESHOT - Agree to do IRQF_ONESHOT if already set for a shared
96 * IRQC_IS_HARDIRQ - interrupt runs in hardirq context
97 * IRQC_IS_NESTED - interrupt runs in a nested threaded context
107 * struct irqaction - per interrupt action descriptor
141 * If a (PCI) device interrupt is not connected we set dev->irq to
142 * IRQ_NOTCONNECTED. This causes request_irq() to fail with -ENOTCONN, so we
156 * request_irq - Add a handler for an interrupt line
240 disable_irq(*_T->lock), enable_irq(*_T->lock))
257 * struct irq_affinity_notify - context for notification of IRQ affinity changes
279 * struct irq_affinity - Description for automatic irq affinity assignments
280 * @pre_vectors: Don't apply affinity to @pre_vectors at beginning of
281 * the MSI(-X) vector space
282 * @post_vectors: Don't apply affinity to @post_vectors at end of
283 * the MSI(-X) vector space
284 * @nr_sets: The number of interrupt sets for which affinity
302 * struct irq_affinity_desc - Interrupt affinity descriptor
303 * @mask: cpumask to hold the affinity assignment
325 * irq_update_affinity_hint - Update the affinity hint
329 * Updates the affinity hint, but does not change the affinity of the interrupt.
338 * irq_set_affinity_and_hint - Update the affinity hint and apply the provided
343 * Updates the affinity hint and if @m is not NULL it applies it as the
344 * affinity of that interrupt.
362 struct irq_affinity_desc *affinity);
377 return -EINVAL; in irq_set_affinity()
395 return -EINVAL; in irq_update_affinity_hint()
401 return -EINVAL; in irq_set_affinity_and_hint()
407 return -EINVAL; in irq_set_affinity_hint()
411 struct irq_affinity_desc *affinity) in irq_update_affinity_desc() argument
413 return -EINVAL; in irq_update_affinity_desc()
441 * and which is the only irq-context user of a lock,
442 * that it's safe to take the lock in the irq-disabled
626 /* Tasklets --- multithreaded analogue of BHs.
700 return !test_and_set_bit(TASKLET_STATE_RUN, &(t)->state); in tasklet_trylock()
718 if (!test_and_set_bit(TASKLET_STATE_SCHED, &t->state)) in tasklet_schedule()
726 if (!test_and_set_bit(TASKLET_STATE_SCHED, &t->state)) in tasklet_hi_schedule()
732 atomic_inc(&t->count); in tasklet_disable_nosync()
757 atomic_dec(&t->count); in tasklet_enable()
781 * 5. wait for the device to interrupt, using non-intrusive polling or a delay.