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()
559 msi_setup_entry(struct pci_dev *dev, int nvec, struct irq_affinity *affd) in msi_setup_entry() argument
566 masks = irq_create_affinity_masks(nvec, affd); in msi_setup_entry()
569 entry = alloc_msi_entry(&dev->dev, nvec, masks); in msi_setup_entry()
582 entry->msi_attrib.multiple = ilog2(__roundup_pow_of_two(nvec)); in msi_setup_entry()
624 static int msi_capability_init(struct pci_dev *dev, int nvec, in msi_capability_init() argument
633 entry = msi_setup_entry(dev, nvec, affd); in msi_capability_init()
644 ret = pci_msi_setup_msi_irqs(dev, nvec, PCI_CAP_ID_MSI); in msi_capability_init()
696 struct msix_entry *entries, int nvec, in msix_setup_entries() argument
705 masks = irq_create_affinity_masks(nvec, affd); in msix_setup_entries()
707 for (i = 0, curmsk = masks; i < nvec; i++) { in msix_setup_entries()
776 int nvec, struct irq_affinity *affd) in msix_capability_init() argument
791 ret = msix_setup_entries(dev, base, entries, nvec, affd); in msix_capability_init()
795 ret = pci_msi_setup_msi_irqs(dev, nvec, PCI_CAP_ID_MSIX); in msix_capability_init()
858 static int pci_msi_supported(struct pci_dev *dev, int nvec) in pci_msi_supported() argument
874 if (nvec < 1) in pci_msi_supported()
972 int nvec, struct irq_affinity *affd, int flags) in __pci_enable_msix() argument
977 if (!pci_msi_supported(dev, nvec) || dev->current_state != PCI_D0) in __pci_enable_msix()
983 if (nvec > nr_entries && !(flags & PCI_IRQ_VIRTUAL)) in __pci_enable_msix()
988 for (i = 0; i < nvec; i++) { in __pci_enable_msix()
991 for (j = i + 1; j < nvec; j++) { in __pci_enable_msix()
1003 return msix_capability_init(dev, entries, nvec, affd); in __pci_enable_msix()
1060 int nvec; in __pci_enable_msi_range() local
1078 nvec = pci_msi_vec_count(dev); in __pci_enable_msi_range()
1079 if (nvec < 0) in __pci_enable_msi_range()
1080 return nvec; in __pci_enable_msi_range()
1081 if (nvec < minvec) in __pci_enable_msi_range()
1084 if (nvec > maxvec) in __pci_enable_msi_range()
1085 nvec = maxvec; in __pci_enable_msi_range()
1089 nvec = irq_calc_affinity_vectors(minvec, nvec, affd); in __pci_enable_msi_range()
1090 if (nvec < minvec) in __pci_enable_msi_range()
1094 rc = msi_capability_init(dev, nvec, affd); in __pci_enable_msi_range()
1096 return nvec; in __pci_enable_msi_range()
1103 nvec = rc; in __pci_enable_msi_range()
1122 int rc, nvec = maxvec; in __pci_enable_msix_range() local
1132 nvec = irq_calc_affinity_vectors(minvec, nvec, affd); in __pci_enable_msix_range()
1133 if (nvec < minvec) in __pci_enable_msix_range()
1137 rc = __pci_enable_msix(dev, entries, nvec, affd, flags); in __pci_enable_msix_range()
1139 return nvec; in __pci_enable_msix_range()
1146 nvec = rc; in __pci_enable_msix_range()