Lines Matching refs:nvec
35 static int pci_msi_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) in pci_msi_setup_msi_irqs() argument
41 return msi_domain_alloc_irqs(domain, &dev->dev, nvec); in pci_msi_setup_msi_irqs()
43 return arch_setup_msi_irqs(dev, nvec, type); in pci_msi_setup_msi_irqs()
90 int __weak arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) in arch_setup_msi_irqs() argument
97 return chip->setup_irqs(chip, dev, nvec, type); in arch_setup_msi_irqs()
102 if (type == PCI_CAP_ID_MSI && nvec > 1) in arch_setup_msi_irqs()
535 msi_setup_entry(struct pci_dev *dev, int nvec, const struct irq_affinity *affd) in msi_setup_entry() argument
542 masks = irq_create_affinity_masks(nvec, affd); in msi_setup_entry()
546 entry = alloc_msi_entry(&dev->dev, nvec, masks); in msi_setup_entry()
558 entry->msi_attrib.multiple = ilog2(__roundup_pow_of_two(nvec)); in msi_setup_entry()
600 static int msi_capability_init(struct pci_dev *dev, int nvec, in msi_capability_init() argument
609 entry = msi_setup_entry(dev, nvec, affd); in msi_capability_init()
620 ret = pci_msi_setup_msi_irqs(dev, nvec, PCI_CAP_ID_MSI); in msi_capability_init()
672 struct msix_entry *entries, int nvec, in msix_setup_entries() argument
680 masks = irq_create_affinity_masks(nvec, affd); in msix_setup_entries()
682 for (i = 0, curmsk = masks; i < nvec; i++) { in msix_setup_entries()
740 int nvec, const struct irq_affinity *affd) in msix_capability_init() argument
755 ret = msix_setup_entries(dev, base, entries, nvec, affd); in msix_capability_init()
759 ret = pci_msi_setup_msi_irqs(dev, nvec, PCI_CAP_ID_MSIX); in msix_capability_init()
822 static int pci_msi_supported(struct pci_dev *dev, int nvec) in pci_msi_supported() argument
838 if (nvec < 1) in pci_msi_supported()
936 int nvec, const struct irq_affinity *affd) in __pci_enable_msix() argument
941 if (!pci_msi_supported(dev, nvec)) in __pci_enable_msix()
947 if (nvec > nr_entries) in __pci_enable_msix()
952 for (i = 0; i < nvec; i++) { in __pci_enable_msix()
955 for (j = i + 1; j < nvec; j++) { in __pci_enable_msix()
968 return msix_capability_init(dev, entries, nvec, affd); in __pci_enable_msix()
1025 int nvec; in __pci_enable_msi_range() local
1042 nvec = pci_msi_vec_count(dev); in __pci_enable_msi_range()
1043 if (nvec < 0) in __pci_enable_msi_range()
1044 return nvec; in __pci_enable_msi_range()
1045 if (nvec < minvec) in __pci_enable_msi_range()
1048 if (nvec > maxvec) in __pci_enable_msi_range()
1049 nvec = maxvec; in __pci_enable_msi_range()
1053 nvec = irq_calc_affinity_vectors(minvec, nvec, affd); in __pci_enable_msi_range()
1054 if (nvec < minvec) in __pci_enable_msi_range()
1058 rc = msi_capability_init(dev, nvec, affd); in __pci_enable_msi_range()
1060 return nvec; in __pci_enable_msi_range()
1067 nvec = rc; in __pci_enable_msi_range()
1085 int rc, nvec = maxvec; in __pci_enable_msix_range() local
1092 nvec = irq_calc_affinity_vectors(minvec, nvec, affd); in __pci_enable_msix_range()
1093 if (nvec < minvec) in __pci_enable_msix_range()
1097 rc = __pci_enable_msix(dev, entries, nvec, affd); in __pci_enable_msix_range()
1099 return nvec; in __pci_enable_msix_range()
1106 nvec = rc; in __pci_enable_msix_range()