Lines Matching full:domain

52 static int platform_msi_init(struct irq_domain *domain,  in platform_msi_init()  argument
57 return irq_domain_set_hwirq_and_chip(domain, virq, hwirq, in platform_msi_init()
111 * platform_msi_create_irq_domain - Create a platform MSI interrupt domain
113 * @info: MSI domain info
114 * @parent: Parent irq domain
116 * Updates the domain and chip ops and creates a platform MSI
117 * interrupt domain.
120 * A domain pointer or NULL in case of failure.
126 struct irq_domain *domain; in platform_msi_create_irq_domain() local
135 domain = msi_create_irq_domain(fwnode, info, parent); in platform_msi_create_irq_domain()
136 if (domain) in platform_msi_create_irq_domain()
137 irq_domain_update_bus_token(domain, DOMAIN_BUS_PLATFORM_MSI); in platform_msi_create_irq_domain()
139 return domain; in platform_msi_create_irq_domain()
155 if (!dev->msi.domain || !write_msi_msg || !nvec || nvec > MAX_DEV_MSIS) in platform_msi_alloc_priv_data()
158 if (dev->msi.domain->bus_token != DOMAIN_BUS_PLATFORM_MSI) { in platform_msi_alloc_priv_data()
237 * a platform-msi domain
238 * @domain: The platform-msi domain
243 void *platform_msi_get_host_data(struct irq_domain *domain) in platform_msi_get_host_data() argument
245 struct platform_msi_priv_data *data = domain->host_data; in platform_msi_get_host_data()
253 * __platform_msi_create_device_domain - Create a platform-msi device domain
259 * @ops: The hierarchy domain operations to use
260 * @host_data: Private data associated to this domain
264 * This is for interrupt domains which stack on a platform-msi domain
265 * created by platform_msi_create_irq_domain(). @dev->msi.domain points to
266 * that platform-msi domain which is the parent for the new domain.
277 struct irq_domain *domain; in __platform_msi_create_device_domain() local
287 * into the domain mutex. See alloc/free below. in __platform_msi_create_device_domain()
293 domain = irq_domain_create_hierarchy(dev->msi.domain, 0, in __platform_msi_create_device_domain()
296 if (!domain) in __platform_msi_create_device_domain()
300 err = msi_domain_prepare_irqs(domain->parent, dev, nvec, &data->arg); in __platform_msi_create_device_domain()
304 return domain; in __platform_msi_create_device_domain()
307 irq_domain_remove(domain); in __platform_msi_create_device_domain()
315 * device domain
317 * @domain: The platform-msi device domain
321 void platform_msi_device_domain_free(struct irq_domain *domain, unsigned int virq, in platform_msi_device_domain_free() argument
324 struct platform_msi_priv_data *data = domain->host_data; in platform_msi_device_domain_free()
328 irq_domain_free_irqs_common(domain, virq, nr_irqs); in platform_msi_device_domain_free()
335 * a platform-msi device domain
337 * @domain: The platform-msi device domain
345 int platform_msi_device_domain_alloc(struct irq_domain *domain, unsigned int virq, in platform_msi_device_domain_alloc() argument
348 struct platform_msi_priv_data *data = domain->host_data; in platform_msi_device_domain_alloc()
351 return msi_domain_populate_irqs(domain->parent, dev, virq, nr_irqs, &data->arg); in platform_msi_device_domain_alloc()