Lines Matching refs:info

622 	struct msi_domain_info *info;  in msi_domain_get_hwsize()  local
627 info = domain->host_data; in msi_domain_get_hwsize()
628 return info->hwsize; in msi_domain_get_hwsize()
642 struct msi_domain_info *info = domain->host_data; in msi_check_level() local
648 WARN_ON(!((info->flags & MSI_FLAG_LEVEL_CAPABLE) && in msi_check_level()
649 (info->chip->flags & IRQCHIP_SUPPORTS_LEVEL_MSI)) && in msi_check_level()
704 struct msi_domain_info *info = domain->host_data; in msi_domain_alloc() local
705 struct msi_domain_ops *ops = info->ops; in msi_domain_alloc()
706 irq_hw_number_t hwirq = ops->get_hwirq(info, arg); in msi_domain_alloc()
719 ret = ops->msi_init(domain, info, virq + i, hwirq + i, arg); in msi_domain_alloc()
723 ops->msi_free(domain, info, virq + i); in msi_domain_alloc()
736 struct msi_domain_info *info = domain->host_data; in msi_domain_free() local
739 if (info->ops->msi_free) { in msi_domain_free()
741 info->ops->msi_free(domain, info, virq + i); in msi_domain_free()
749 struct msi_domain_info *info = domain->host_data; in msi_domain_translate() local
755 if (!info->ops->msi_translate) in msi_domain_translate()
757 return info->ops->msi_translate(domain, fwspec, hwirq, type); in msi_domain_translate()
786 static irq_hw_number_t msi_domain_ops_get_hwirq(struct msi_domain_info *info, in msi_domain_ops_get_hwirq() argument
810 struct msi_domain_info *info, in msi_domain_ops_init() argument
814 irq_domain_set_hwirq_and_chip(domain, virq, hwirq, info->chip, in msi_domain_ops_init()
815 info->chip_data); in msi_domain_ops_init()
816 if (info->handler && info->handler_name) { in msi_domain_ops_init()
817 __irq_set_handler(virq, info->handler, 0, info->handler_name); in msi_domain_ops_init()
818 if (info->handler_data) in msi_domain_ops_init()
819 irq_set_handler_data(virq, info->handler_data); in msi_domain_ops_init()
832 static void msi_domain_update_dom_ops(struct msi_domain_info *info) in msi_domain_update_dom_ops() argument
834 struct msi_domain_ops *ops = info->ops; in msi_domain_update_dom_ops()
837 info->ops = &msi_domain_ops_default; in msi_domain_update_dom_ops()
841 if (!(info->flags & MSI_FLAG_USE_DEF_DOM_OPS)) in msi_domain_update_dom_ops()
856 static void msi_domain_update_chip_ops(struct msi_domain_info *info) in msi_domain_update_chip_ops() argument
858 struct irq_chip *chip = info->chip; in msi_domain_update_chip_ops()
861 if (!chip->irq_set_affinity && !(info->flags & MSI_FLAG_NO_AFFINITY)) in msi_domain_update_chip_ops()
866 struct msi_domain_info *info, in __msi_create_irq_domain() argument
872 if (info->hwsize > MSI_XA_DOMAIN_SIZE) in __msi_create_irq_domain()
880 if (!info->hwsize) in __msi_create_irq_domain()
881 info->hwsize = MSI_XA_DOMAIN_SIZE; in __msi_create_irq_domain()
883 msi_domain_update_dom_ops(info); in __msi_create_irq_domain()
884 if (info->flags & MSI_FLAG_USE_DEF_CHIP_OPS) in __msi_create_irq_domain()
885 msi_domain_update_chip_ops(info); in __msi_create_irq_domain()
888 fwnode, &msi_domain_ops, info); in __msi_create_irq_domain()
891 irq_domain_update_bus_token(domain, info->bus_token); in __msi_create_irq_domain()
892 domain->dev = info->dev; in __msi_create_irq_domain()
893 if (info->flags & MSI_FLAG_PARENT_PM_DEV) in __msi_create_irq_domain()
909 struct msi_domain_info *info, in msi_create_irq_domain() argument
912 return __msi_create_irq_domain(fwnode, info, 0, parent); in msi_create_irq_domain()
922 struct irq_domain *msi_create_parent_irq_domain(struct irq_domain_info *info, in msi_create_parent_irq_domain() argument
927 info->hwirq_max = max(info->hwirq_max, info->size); in msi_create_parent_irq_domain()
928 info->size = info->hwirq_max; in msi_create_parent_irq_domain()
929 info->domain_flags |= IRQ_DOMAIN_FLAG_MSI_PARENT; in msi_create_parent_irq_domain()
930 info->bus_token = msi_parent_ops->bus_select_token; in msi_create_parent_irq_domain()
932 d = irq_domain_instantiate(info); in msi_create_parent_irq_domain()
1049 bundle->info.hwsize = hwsize; in msi_create_device_irq_domain()
1050 bundle->info.chip = &bundle->chip; in msi_create_device_irq_domain()
1051 bundle->info.ops = &bundle->ops; in msi_create_device_irq_domain()
1052 bundle->info.data = domain_data; in msi_create_device_irq_domain()
1053 bundle->info.chip_data = chip_data; in msi_create_device_irq_domain()
1054 bundle->info.alloc_data = &bundle->alloc_info; in msi_create_device_irq_domain()
1055 bundle->info.dev = dev; in msi_create_device_irq_domain()
1072 if (!(bundle->info.flags & MSI_FLAG_USE_DEV_FWNODE)) in msi_create_device_irq_domain()
1087 if (!pops->init_dev_msi_info(dev, parent, parent, &bundle->info)) in msi_create_device_irq_domain()
1090 domain = __msi_create_irq_domain(fwnode, &bundle->info, IRQ_DOMAIN_FLAG_MSI_DEVICE, parent); in msi_create_device_irq_domain()
1116 struct msi_domain_info *info; in msi_remove_device_irq_domain() local
1125 info = domain->host_data; in msi_remove_device_irq_domain()
1127 info->ops->msi_teardown(domain, info->alloc_data); in msi_remove_device_irq_domain()
1133 kfree(container_of(info, struct msi_domain_template, info)); in msi_remove_device_irq_domain()
1147 struct msi_domain_info *info; in msi_match_device_irq_domain() local
1153 info = domain->host_data; in msi_match_device_irq_domain()
1154 return info->bus_token == bus_token; in msi_match_device_irq_domain()
1162 struct msi_domain_info *info = domain->host_data; in msi_domain_prepare_irqs() local
1163 struct msi_domain_ops *ops = info->ops; in msi_domain_prepare_irqs()
1180 struct msi_domain_info *info, in msi_check_reservation_mode() argument
1195 if (!(info->flags & MSI_FLAG_MUST_REACTIVATE)) in msi_check_reservation_mode()
1198 if (info->flags & MSI_FLAG_NO_MASK) in msi_check_reservation_mode()
1277 struct msi_domain_info *info = domain->host_data; in populate_alloc_info() local
1285 if (!info->alloc_data) in populate_alloc_info()
1288 *arg = *info->alloc_data; in populate_alloc_info()
1296 struct msi_domain_info *info = domain->host_data; in __msi_domain_alloc_irqs() local
1297 struct msi_domain_ops *ops = info->ops; in __msi_domain_alloc_irqs()
1313 if (info->flags & MSI_FLAG_ACTIVATE_EARLY) in __msi_domain_alloc_irqs()
1320 if (msi_check_reservation_mode(domain, info, dev)) in __msi_domain_alloc_irqs()
1349 if (info->flags & MSI_FLAG_DEV_SYSFS) { in __msi_domain_alloc_irqs()
1360 struct msi_domain_info *info, in msi_domain_alloc_simple_msi_descs() argument
1363 if (!(info->flags & MSI_FLAG_ALLOC_SIMPLE_MSI_DESCS)) in msi_domain_alloc_simple_msi_descs()
1371 struct msi_domain_info *info; in __msi_domain_alloc_locked() local
1383 info = domain->host_data; in __msi_domain_alloc_locked()
1385 ret = msi_domain_alloc_simple_msi_descs(dev, info, ctrl); in __msi_domain_alloc_locked()
1389 ops = info->ops; in __msi_domain_alloc_locked()
1601 struct msi_domain_info *info = domain->host_data; in __msi_domain_free_irqs() local
1620 if (info->flags & MSI_FLAG_DEV_SYSFS) in __msi_domain_free_irqs()
1628 struct msi_domain_info *info; in msi_domain_free_locked() local
1639 info = domain->host_data; in msi_domain_free_locked()
1640 ops = info->ops; in msi_domain_free_locked()
1650 if (info->flags & MSI_FLAG_FREE_MSI_DESCS) in msi_domain_free_locked()