Lines Matching refs:interrupts
25 capability was also introduced with PCI 3.0. It supports more interrupts
26 per device than MSI and allows interrupts to be independently configured.
35 traditional pin-based interrupts.
37 Pin-based PCI interrupts are often shared amongst several devices.
56 MSIs, a device can support more interrupts, allowing each interrupt
66 PCI devices are initialised to use pin-based interrupts. The device
69 will simply fail and the device will continue to use pin-based interrupts.
102 interrupts within specified range from 'minvec' to 'maxvec'.
105 MSI interrupts that have been successfully allocated. In this case
107 updates dev->irq to be the lowest of the new interrupts assigned to it.
108 The other interrupts assigned to the device are in the range dev->irq
110 number of successfully allocated MSI interrupts to further allocate
114 the driver should not attempt to request any more MSI interrupts for
118 because MSI interrupts are delivered via vectors that are different
121 It is ideal if drivers can cope with a variable number of MSI interrupts;
126 interrupts within a range. See chapter 4.3.1.3 to get the idea how to
129 4.2.1.1 Maximum possible number of MSI interrupts
131 The typical usage of MSI interrupts is to allocate as many vectors as
142 Some devices have a minimal limit on number of MSI interrupts.
150 4.2.1.2 Exact number of MSI interrupts
153 interrupts it could request a particular number of interrupts by passing
163 enable a particular number of MSI-X interrupts, pci_enable_msi_range()
191 the driver should not attempt to request any more MSI interrupts for
195 returns zero in case of success, which indicates MSI interrupts have been
204 the previously allocated MSIs. The interrupts may subsequently be assigned
230 It supports up to 2048 interrupts, each of which can be controlled
239 This allows for the device to use these interrupts in a sparse fashion;
240 for example, it could use interrupts 3 and 1027 and yet allocate only a
243 should assign interrupts; it is invalid to fill in two entries with the
252 MSI-X interrupts within specified range from 'minvec' to 'maxvec'.
257 returns the number of MSI-X interrupts that have been successfully
262 interrupts assigned to the MSI-X vectors so it can free them again later.
264 interrupts to further allocate and initialize device resources.
267 the driver should not attempt to allocate any more MSI-X interrupts for
271 dev->irq. The device will not generate interrupts for this interrupt
277 It is ideal if drivers can cope with a variable number of MSI-X interrupts;
282 interrupts within a range. E.g., an network adapter might need let's say
284 interrupts allocated should be a multiple of four. In this case interface
285 pci_enable_msix_range() can not be used alone to request MSI-X interrupts
288 to request the required number of MSI-X interrupts.
290 4.3.1.1 Maximum possible number of MSI-X interrupts
292 The typical usage of MSI-X interrupts is to allocate as many vectors as
304 Some devices have a minimal limit on number of MSI-X interrupts.
313 4.3.1.2 Exact number of MSI-X interrupts
316 interrupts it could request a particular number of interrupts by passing
327 enable a particular number of MSI-X interrupts, pci_enable_msix_range()
331 4.3.1.3 Specific requirements to the number of MSI-X interrupts
334 number of MSI-X interrupts within a range. E.g., let's assume a device that
335 is only capable sending the number of MSI-X interrupts which is a power of
386 the driver should not attempt to allocate any more MSI-X interrupts for
390 returns zero in case of success, which indicates MSI-X interrupts have been
439 It frees the previously allocated MSI-X interrupts. The interrupts may
488 above, MSI-X supports any number of interrupts between 1 and 2048.
489 In contrast, MSI is restricted to a maximum of 32 interrupts (and
493 interrupts must all be targeted at the same set of CPUs whereas MSI-X
494 interrupts can all be targeted at different CPUs.
499 interrupt handler. With pin-based interrupts or a single MSI, it is not
500 necessary to disable interrupts (Linux guarantees the same interrupt will
501 not be re-entered). If a device uses multiple interrupts, the driver
502 must disable interrupts while the lock is held. If the device sends
505 spin_lock_irqsave() or spin_lock_irq() which disable local interrupts