Lines Matching refs:irq_domain
42 struct irq_domain;
89 int (*match)(struct irq_domain *d, struct device_node *node,
91 int (*select)(struct irq_domain *d, struct irq_fwspec *fwspec,
93 int (*map)(struct irq_domain *d, unsigned int virq, irq_hw_number_t hw);
94 void (*unmap)(struct irq_domain *d, unsigned int virq);
95 int (*xlate)(struct irq_domain *d, struct device_node *node,
100 int (*alloc)(struct irq_domain *d, unsigned int virq,
102 void (*free)(struct irq_domain *d, unsigned int virq,
104 int (*activate)(struct irq_domain *d, struct irq_data *irqd, bool reserve);
105 void (*deactivate)(struct irq_domain *d, struct irq_data *irq_data);
106 int (*translate)(struct irq_domain *d, struct irq_fwspec *fwspec,
110 void (*debug_show)(struct seq_file *m, struct irq_domain *d,
150 struct irq_domain { struct
158 struct irq_domain *root; argument
167 struct irq_domain *parent; argument
219 static inline struct device_node *irq_domain_get_of_node(struct irq_domain *d) in irq_domain_get_of_node()
224 static inline void irq_domain_set_pm_device(struct irq_domain *d, in irq_domain_set_pm_device()
260 struct irq_domain *__irq_domain_add(struct fwnode_handle *fwnode, unsigned int size,
264 struct irq_domain *irq_domain_create_simple(struct fwnode_handle *fwnode,
269 struct irq_domain *irq_domain_add_legacy(struct device_node *of_node,
275 struct irq_domain *irq_domain_create_legacy(struct fwnode_handle *fwnode,
281 extern struct irq_domain *irq_find_matching_fwspec(struct irq_fwspec *fwspec,
283 extern void irq_set_default_host(struct irq_domain *host);
284 extern struct irq_domain *irq_get_default_host(void);
301 extern void irq_domain_update_bus_token(struct irq_domain *domain,
305 struct irq_domain *irq_find_matching_fwnode(struct fwnode_handle *fwnode, in irq_find_matching_fwnode()
315 static inline struct irq_domain *irq_find_matching_host(struct device_node *node, in irq_find_matching_host()
321 static inline struct irq_domain *irq_find_host(struct device_node *node) in irq_find_host()
323 struct irq_domain *d; in irq_find_host()
332 static inline struct irq_domain *irq_domain_add_simple(struct device_node *of_node, in irq_domain_add_simple()
348 static inline struct irq_domain *irq_domain_add_linear(struct device_node *of_node, in irq_domain_add_linear()
357 static inline struct irq_domain *irq_domain_add_nomap(struct device_node *of_node, in irq_domain_add_nomap()
365 extern unsigned int irq_create_direct_mapping(struct irq_domain *host);
368 static inline struct irq_domain *irq_domain_add_tree(struct device_node *of_node, in irq_domain_add_tree()
375 static inline struct irq_domain *irq_domain_create_linear(struct fwnode_handle *fwnode, in irq_domain_create_linear()
383 static inline struct irq_domain *irq_domain_create_tree(struct fwnode_handle *fwnode, in irq_domain_create_tree()
390 extern void irq_domain_remove(struct irq_domain *host);
392 extern int irq_domain_associate(struct irq_domain *domain, unsigned int irq,
394 extern void irq_domain_associate_many(struct irq_domain *domain,
398 extern unsigned int irq_create_mapping_affinity(struct irq_domain *host,
404 static inline unsigned int irq_create_mapping(struct irq_domain *host, in irq_create_mapping()
410 extern struct irq_desc *__irq_resolve_mapping(struct irq_domain *domain,
414 static inline struct irq_desc *irq_resolve_mapping(struct irq_domain *domain, in irq_resolve_mapping()
425 static inline unsigned int irq_find_mapping(struct irq_domain *domain, in irq_find_mapping()
436 static inline unsigned int irq_linear_revmap(struct irq_domain *domain, in irq_linear_revmap()
445 int irq_domain_xlate_onecell(struct irq_domain *d, struct device_node *ctrlr,
448 int irq_domain_xlate_twocell(struct irq_domain *d, struct device_node *ctrlr,
451 int irq_domain_xlate_onetwocell(struct irq_domain *d, struct device_node *ctrlr,
455 int irq_domain_translate_twocell(struct irq_domain *d,
460 int irq_domain_translate_onecell(struct irq_domain *d,
466 int irq_reserve_ipi(struct irq_domain *domain, const struct cpumask *dest);
470 extern struct irq_data *irq_domain_get_irq_data(struct irq_domain *domain,
472 extern void irq_domain_set_info(struct irq_domain *domain, unsigned int virq,
479 extern struct irq_domain *irq_domain_create_hierarchy(struct irq_domain *parent,
484 static inline struct irq_domain *irq_domain_add_hierarchy(struct irq_domain *parent, in irq_domain_add_hierarchy()
496 extern int __irq_domain_alloc_irqs(struct irq_domain *domain, int irq_base,
504 static inline int irq_domain_alloc_irqs(struct irq_domain *domain, in irq_domain_alloc_irqs()
511 extern int irq_domain_alloc_irqs_hierarchy(struct irq_domain *domain,
514 extern int irq_domain_set_hwirq_and_chip(struct irq_domain *domain,
519 extern void irq_domain_free_irqs_common(struct irq_domain *domain,
522 extern void irq_domain_free_irqs_top(struct irq_domain *domain,
525 extern int irq_domain_push_irq(struct irq_domain *domain, int virq, void *arg);
526 extern int irq_domain_pop_irq(struct irq_domain *domain, int virq);
528 extern int irq_domain_alloc_irqs_parent(struct irq_domain *domain,
532 extern void irq_domain_free_irqs_parent(struct irq_domain *domain,
536 extern int irq_domain_disconnect_hierarchy(struct irq_domain *domain,
539 static inline bool irq_domain_is_hierarchy(struct irq_domain *domain) in irq_domain_is_hierarchy()
544 static inline bool irq_domain_is_ipi(struct irq_domain *domain) in irq_domain_is_ipi()
550 static inline bool irq_domain_is_ipi_per_cpu(struct irq_domain *domain) in irq_domain_is_ipi_per_cpu()
555 static inline bool irq_domain_is_ipi_single(struct irq_domain *domain) in irq_domain_is_ipi_single()
560 static inline bool irq_domain_is_msi(struct irq_domain *domain) in irq_domain_is_msi()
565 static inline bool irq_domain_is_msi_parent(struct irq_domain *domain) in irq_domain_is_msi_parent()
570 static inline bool irq_domain_is_msi_device(struct irq_domain *domain) in irq_domain_is_msi_device()
576 static inline int irq_domain_alloc_irqs(struct irq_domain *domain, in irq_domain_alloc_irqs()
585 static inline bool irq_domain_is_hierarchy(struct irq_domain *domain) in irq_domain_is_hierarchy()
590 static inline bool irq_domain_is_ipi(struct irq_domain *domain) in irq_domain_is_ipi()
595 static inline bool irq_domain_is_ipi_per_cpu(struct irq_domain *domain) in irq_domain_is_ipi_per_cpu()
600 static inline bool irq_domain_is_ipi_single(struct irq_domain *domain) in irq_domain_is_ipi_single()
605 static inline bool irq_domain_is_msi(struct irq_domain *domain) in irq_domain_is_msi()
610 static inline bool irq_domain_is_msi_parent(struct irq_domain *domain) in irq_domain_is_msi_parent()
615 static inline bool irq_domain_is_msi_device(struct irq_domain *domain) in irq_domain_is_msi_device()
624 static inline struct irq_domain *irq_find_matching_fwnode( in irq_find_matching_fwnode()