Lines Matching refs:domid
48 unsigned int domid; member
60 static unsigned int msi_domain_get_hwsize(struct device *dev, unsigned int domid);
103 unsigned int domid, unsigned int index) in msi_insert_desc() argument
106 struct xarray *xa = &md->__domains[domid].store; in msi_insert_desc()
110 hwsize = msi_domain_get_hwsize(dev, domid); in msi_insert_desc()
150 int msi_domain_insert_msi_desc(struct device *dev, unsigned int domid, in msi_domain_insert_msi_desc() argument
164 return msi_insert_desc(dev, desc, domid, init_desc->msi_index); in msi_domain_insert_msi_desc()
185 if (WARN_ON_ONCE(ctrl->domid >= MSI_MAX_DEVICE_IRQDOMAINS || in msi_ctrl_valid()
187 !dev->msi.data->__domains[ctrl->domid].domain))) in msi_ctrl_valid()
190 hwsize = msi_domain_get_hwsize(dev, ctrl->domid); in msi_ctrl_valid()
209 xa = &dev->msi.data->__domains[ctrl->domid].store; in msi_domain_free_descs()
227 void msi_domain_free_msi_descs_range(struct device *dev, unsigned int domid, in msi_domain_free_msi_descs_range() argument
231 .domid = domid, in msi_domain_free_msi_descs_range()
261 ret = msi_insert_desc(dev, desc, ctrl->domid, idx); in msi_domain_add_simple_msi_descs()
372 static struct msi_desc *msi_find_desc(struct msi_device_data *md, unsigned int domid, in msi_find_desc() argument
375 struct xarray *xa = &md->__domains[domid].store; in msi_find_desc()
398 struct msi_desc *msi_domain_first_desc(struct device *dev, unsigned int domid, in msi_domain_first_desc() argument
403 if (WARN_ON_ONCE(!md || domid >= MSI_MAX_DEVICE_IRQDOMAINS)) in msi_domain_first_desc()
409 return msi_find_desc(md, domid, filter); in msi_domain_first_desc()
427 struct msi_desc *msi_next_desc(struct device *dev, unsigned int domid, in msi_next_desc() argument
432 if (WARN_ON_ONCE(!md || domid >= MSI_MAX_DEVICE_IRQDOMAINS)) in msi_next_desc()
441 return msi_find_desc(md, domid, filter); in msi_next_desc()
453 unsigned int msi_domain_get_virq(struct device *dev, unsigned int domid, unsigned int index) in msi_domain_get_virq() argument
462 if (WARN_ON_ONCE(index > MSI_MAX_INDEX || domid >= MSI_MAX_DEVICE_IRQDOMAINS)) in msi_domain_get_virq()
466 if (dev_is_pci(dev) && domid == MSI_DEFAULT_DOMAIN) in msi_domain_get_virq()
470 xa = &dev->msi.data->__domains[domid].store; in msi_domain_get_virq()
601 static struct irq_domain *msi_get_device_domain(struct device *dev, unsigned int domid) in msi_get_device_domain() argument
607 if (WARN_ON_ONCE(domid >= MSI_MAX_DEVICE_IRQDOMAINS)) in msi_get_device_domain()
610 domain = dev->msi.data->__domains[domid].domain; in msi_get_device_domain()
620 static unsigned int msi_domain_get_hwsize(struct device *dev, unsigned int domid) in msi_domain_get_hwsize() argument
625 domain = msi_get_device_domain(dev, domid); in msi_domain_get_hwsize()
1029 bool msi_create_device_irq_domain(struct device *dev, unsigned int domid, in msi_create_device_irq_domain() argument
1041 if (domid >= MSI_MAX_DEVICE_IRQDOMAINS) in msi_create_device_irq_domain()
1084 if (WARN_ON_ONCE(msi_get_device_domain(dev, domid))) in msi_create_device_irq_domain()
1094 dev->msi.data->__domains[domid].domain = domain; in msi_create_device_irq_domain()
1097 dev->msi.data->__domains[domid].domain = NULL; in msi_create_device_irq_domain()
1113 void msi_remove_device_irq_domain(struct device *dev, unsigned int domid) in msi_remove_device_irq_domain() argument
1120 domain = msi_get_device_domain(dev, domid); in msi_remove_device_irq_domain()
1124 dev->msi.data->__domains[domid].domain = NULL; in msi_remove_device_irq_domain()
1144 bool msi_match_device_irq_domain(struct device *dev, unsigned int domid, in msi_match_device_irq_domain() argument
1151 domain = msi_get_device_domain(dev, domid); in msi_match_device_irq_domain()
1295 struct xarray *xa = &dev->msi.data->__domains[ctrl->domid].store; in __msi_domain_alloc_irqs()
1379 domain = msi_get_device_domain(dev, ctrl->domid); in __msi_domain_alloc_locked()
1419 int msi_domain_alloc_irqs_range_locked(struct device *dev, unsigned int domid, in msi_domain_alloc_irqs_range_locked() argument
1423 .domid = domid, in msi_domain_alloc_irqs_range_locked()
1442 int msi_domain_alloc_irqs_range(struct device *dev, unsigned int domid, in msi_domain_alloc_irqs_range() argument
1447 return msi_domain_alloc_irqs_range_locked(dev, domid, first, last); in msi_domain_alloc_irqs_range()
1465 int msi_domain_alloc_irqs_all_locked(struct device *dev, unsigned int domid, int nirqs) in msi_domain_alloc_irqs_all_locked() argument
1468 .domid = domid, in msi_domain_alloc_irqs_all_locked()
1470 .last = msi_domain_get_hwsize(dev, domid) - 1, in msi_domain_alloc_irqs_all_locked()
1477 static struct msi_map __msi_domain_alloc_irq_at(struct device *dev, unsigned int domid, in __msi_domain_alloc_irq_at() argument
1482 struct msi_ctrl ctrl = { .domid = domid, .nirqs = 1, }; in __msi_domain_alloc_irq_at()
1488 domain = msi_get_device_domain(dev, domid); in __msi_domain_alloc_irq_at()
1503 ret = msi_insert_desc(dev, desc, domid, index); in __msi_domain_alloc_irq_at()
1547 struct msi_map msi_domain_alloc_irq_at(struct device *dev, unsigned int domid, unsigned int index, in msi_domain_alloc_irq_at() argument
1552 return __msi_domain_alloc_irq_at(dev, domid, index, affdesc, icookie); in msi_domain_alloc_irq_at()
1579 unsigned int domid = MSI_DEFAULT_DOMAIN; in msi_device_domain_alloc_wired() local
1590 if (WARN_ON_ONCE(msi_get_device_domain(dev, domid) != domain)) in msi_device_domain_alloc_wired()
1593 map = __msi_domain_alloc_irq_at(dev, domid, MSI_ANY_INDEX, NULL, &icookie); in msi_device_domain_alloc_wired()
1600 struct xarray *xa = &dev->msi.data->__domains[ctrl->domid].store; in __msi_domain_free_irqs()
1635 domain = msi_get_device_domain(dev, ctrl->domid); in msi_domain_free_locked()
1660 void msi_domain_free_irqs_range_locked(struct device *dev, unsigned int domid, in msi_domain_free_irqs_range_locked() argument
1664 .domid = domid, in msi_domain_free_irqs_range_locked()
1680 void msi_domain_free_irqs_range(struct device *dev, unsigned int domid, in msi_domain_free_irqs_range() argument
1684 msi_domain_free_irqs_range_locked(dev, domid, first, last); in msi_domain_free_irqs_range()
1699 void msi_domain_free_irqs_all_locked(struct device *dev, unsigned int domid) in msi_domain_free_irqs_all_locked() argument
1701 msi_domain_free_irqs_range_locked(dev, domid, 0, in msi_domain_free_irqs_all_locked()
1702 msi_domain_get_hwsize(dev, domid) - 1); in msi_domain_free_irqs_all_locked()
1712 void msi_domain_free_irqs_all(struct device *dev, unsigned int domid) in msi_domain_free_irqs_all() argument
1715 msi_domain_free_irqs_all_locked(dev, domid); in msi_domain_free_irqs_all()