Lines Matching full:domain

13 	struct irq_domain *domain;  in pci_msi_setup_msi_irqs()  local
15 domain = dev_get_msi_domain(&dev->dev); in pci_msi_setup_msi_irqs()
16 if (domain && irq_domain_is_hierarchy(domain)) in pci_msi_setup_msi_irqs()
24 struct irq_domain *domain; in pci_msi_teardown_msi_irqs() local
26 domain = dev_get_msi_domain(&dev->dev); in pci_msi_teardown_msi_irqs()
27 if (domain && irq_domain_is_hierarchy(domain)) { in pci_msi_teardown_msi_irqs()
104 * pci_msi_create_irq_domain - Create a MSI interrupt domain
106 * @info: MSI domain info
107 * @parent: Parent irq domain
109 * Updates the domain and chip ops and creates a MSI interrupt domain.
112 * A domain pointer or NULL in case of failure.
143 * Per device MSI[-X] domain functionality
205 static void pci_msix_prepare_desc(struct irq_domain *domain, msi_alloc_info_t *arg, in pci_msix_prepare_desc() argument
242 struct irq_domain *domain = dev_get_msi_domain(&pdev->dev); in pci_create_device_domain() local
244 if (!domain || !irq_domain_is_msi_parent(domain)) in pci_create_device_domain()
252 * pci_setup_msi_device_domain - Setup a device MSI interrupt domain
253 * @pdev: The PCI device to create the domain on
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
264 * - The domain creation fails.
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
285 * @pdev: The PCI device to create the domain on
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
297 * - The domain creation fails.
299 * The created MSI-X domain is preserved until:
301 * - MSI-X is disabled and a MSI domain is created
320 * @mode: If ALLOW_LEGACY this grants the feature when there is no irq domain
321 * associated to the device. If DENY_LEGACY the lack of an irq domain
328 struct irq_domain *domain; in pci_msi_domain_supports() local
331 domain = dev_get_msi_domain(&pdev->dev); in pci_msi_domain_supports()
333 if (!domain || !irq_domain_is_hierarchy(domain)) in pci_msi_domain_supports()
336 if (!irq_domain_is_msi_parent(domain)) { in pci_msi_domain_supports()
342 info = domain->host_data; in pci_msi_domain_supports()
349 * per device domain because the parent is never in pci_msi_domain_supports()
352 supported = domain->msi_parent_ops->supported_flags; in pci_msi_domain_supports()
359 * pci_create_ims_domain - Create a secondary IMS domain for a PCI device
361 * @template: The MSI info template which describes the domain
362 * @hwsize: The size of the hardware entry table or 0 if the domain
364 * @data: Optional pointer to domain specific data to be stored
369 * An IMS domain is expected to have the following constraints:
392 * interrupt domain and communicated to the IMS domain via
395 * The domain is automatically destroyed when the PCI device is removed.
400 struct irq_domain *domain = dev_get_msi_domain(&pdev->dev); in pci_create_ims_domain() local
402 if (!domain || !irq_domain_is_msi_parent(domain)) in pci_create_ims_domain()
443 * @domain: The interrupt domain
451 u32 pci_msi_domain_get_msi_rid(struct irq_domain *domain, struct pci_dev *pdev) in pci_msi_domain_get_msi_rid() argument
458 of_node = irq_domain_get_of_node(domain); in pci_msi_domain_get_msi_rid()
466 * pci_msi_get_device_domain - Get the MSI domain for a given PCI device
469 * Use the firmware data to find a device-specific MSI domain
472 * Returns: The corresponding MSI domain or NULL if none has been found.