Lines Matching +full:shared +full:- +full:interrupt
10 -----------------------------------
12 Device interrupt request lines (IRQs) are generally disabled during system
14 ->prepare, ->suspend and ->suspend_late callbacks have been executed for all
21 interrupt handlers for shared IRQs that device drivers implementing them were
29 Device IRQs are re-enabled during system resume, right before the "early" phase
30 of resuming devices (that is, before starting to execute ->resume_early
35 ------------------------
38 suspend-resume cycle, including the "noirq" phases of suspending and resuming
41 but also to IPIs and to some other special-purpose interrupts.
44 requesting a special-purpose interrupt. It causes suspend_device_irqs() to
45 leave the corresponding IRQ enabled so as to allow the interrupt to work as
46 expected during the suspend-resume cycle, but does not guarantee that the
47 interrupt will wake the system from a suspended state -- for such cases it is
51 user of it. Thus, if the IRQ is shared, all of the interrupt handlers installed
59 ------------------------------------------------------------------
68 the platform may include a dedicated interrupt controller used specifically for
69 handling system wakeup events. Then, if a given interrupt line is supposed to
70 wake up the system from sleep states, the corresponding input of that interrupt
77 handling the given IRQ as a system wakeup interrupt line and disable_irq_wake()
81 in a special way. Namely, the IRQ remains enabled, but on the first interrupt
83 re-enabled by resume_device_irqs() during the subsequent system resume. Also
88 This way every interrupt from a wakeup interrupt source will either cause the
90 already suspended. However, after suspend_device_irqs() interrupt handlers are
96 Interrupts and Suspend-to-Idle
97 ------------------------------
99 Suspend-to-idle (also known as the "freeze" sleep state) is a relatively new
107 System wakeup interrupts, in turn, will trigger wakeup from suspend-to-idle in
109 is that the wakeup from suspend-to-idle is signaled using the usual working
110 state interrupt delivery mechanisms and doesn't require the platform to use
111 any special interrupt handling logic for it to work.
115 -------------------------------------
121 First of all, if the IRQ is not shared, the rules for handling IRQF_NO_SUSPEND
122 interrupts (interrupt handlers are invoked after suspend_device_irqs()) are
123 directly at odds with the rules for handling system wakeup interrupts (interrupt
127 to individual interrupt handlers, so sharing an IRQ between a system wakeup
128 interrupt source and an IRQF_NO_SUSPEND interrupt source does not generally
131 In rare cases an IRQ can be shared between a wakeup device driver and an