Lines Matching full:msi
3 * PCI Message Signaled Interrupt (MSI) - irqdomain support
9 #include "msi.h"
36 * pci_msi_domain_write_msg - Helper to write MSI message to PCI config space
37 * @irq_data: Pointer to interrupt data of the MSI interrupt
45 * For MSI-X desc->irq is always equal to irq_data->irq. For in pci_msi_domain_write_msg()
46 * MSI only the first interrupt of MULTI MSI passes the test. in pci_msi_domain_write_msg()
53 * pci_msi_domain_calc_hwirq - Generate a unique ID for an MSI source
54 * @desc: Pointer to the MSI descriptor
104 * pci_msi_create_irq_domain - Create a MSI interrupt domain
106 * @info: MSI domain info
109 * Updates the domain and chip ops and creates a MSI interrupt domain.
126 /* Let the core code free MSI descriptors when freeing interrupts */ in pci_msi_create_irq_domain()
133 /* PCI-MSI is oneshot-safe */ in pci_msi_create_irq_domain()
143 * Per device MSI[-X] domain functionality
178 .name = "PCI-MSI",
208 /* Don't fiddle with preallocated MSI descriptors */ in pci_msix_prepare_desc()
252 * pci_setup_msi_device_domain - Setup a device MSI interrupt domain
257 * - The device does not have a MSI parent irq domain associated,
259 * PCI/MSI domain models working
260 * - The MSI domain exists already
261 * - The MSI domain was successfully allocated
263 * - MSI-X is enabled
266 * The created MSI domain is preserved until:
268 * - MSI is disabled and a MSI-X domain is created
284 * pci_setup_msix_device_domain - Setup a device MSI-X interrupt domain
286 * @hwsize: The size of the MSI-X vector table
290 * - The device does not have a MSI parent irq domain associated,
292 * PCI/MSI domain models working
293 * - The MSI-X domain exists already
294 * - The MSI-X domain was successfully allocated
296 * - MSI is enabled
299 * The created MSI-X domain is preserved until:
301 * - MSI-X is disabled and a MSI domain is created
341 * For "global" PCI/MSI interrupt domains the associated in pci_msi_domain_supports()
349 * For MSI parent domains the supported feature set in pci_msi_domain_supports()
353 * expanding the PCI/MSI functionality. in pci_msi_domain_supports()
364 * @template: The MSI info template which describes the domain
421 * Users of the generic MSI infrastructure expect a device to have a single ID,
445 * pci_msi_domain_get_msi_rid - Get the MSI requester id (RID)
469 * pci_msi_get_device_domain - Get the MSI domain for a given PCI device
472 * Use the firmware data to find a device-specific MSI domain
475 * Returns: The corresponding MSI domain or NULL if none has been found.