Lines Matching full:nvec

22  * @nvec: how many MSIs have been requested?
28 static int pci_msi_supported(struct pci_dev *dev, int nvec) in pci_msi_supported() argument
42 * b) the list manipulation code assumes nvec >= 1. in pci_msi_supported()
44 if (nvec < 1) in pci_msi_supported()
281 static int msi_setup_msi_desc(struct pci_dev *dev, int nvec, in msi_setup_msi_desc() argument
298 desc.nvec_used = nvec; in msi_setup_msi_desc()
303 desc.pci.msi_attrib.multiple = ilog2(__roundup_pow_of_two(nvec)); in msi_setup_msi_desc()
338 * @nvec: number of interrupts to allocate
347 static int msi_capability_init(struct pci_dev *dev, int nvec, in msi_capability_init() argument
355 if (nvec > 1 && !pci_msi_domain_supports(dev, MSI_FLAG_MULTI_PCI_MSI, ALLOW_LEGACY)) in msi_capability_init()
366 masks = irq_create_affinity_masks(nvec, affd); in msi_capability_init()
369 ret = msi_setup_msi_desc(dev, nvec, masks); in msi_capability_init()
384 ret = pci_msi_setup_msi_irqs(dev, nvec, PCI_CAP_ID_MSI); in msi_capability_init()
414 int nvec; in __pci_enable_msi_range() local
436 nvec = pci_msi_vec_count(dev); in __pci_enable_msi_range()
437 if (nvec < 0) in __pci_enable_msi_range()
438 return nvec; in __pci_enable_msi_range()
439 if (nvec < minvec) in __pci_enable_msi_range()
442 if (nvec > maxvec) in __pci_enable_msi_range()
443 nvec = maxvec; in __pci_enable_msi_range()
454 nvec = irq_calc_affinity_vectors(minvec, nvec, affd); in __pci_enable_msi_range()
455 if (nvec < minvec) in __pci_enable_msi_range()
459 rc = msi_capability_init(dev, nvec, affd); in __pci_enable_msi_range()
461 return nvec; in __pci_enable_msi_range()
468 nvec = rc; in __pci_enable_msi_range()
618 int nvec, struct irq_affinity_desc *masks) in msix_setup_msi_descs() argument
626 for (i = 0, curmsk = masks; i < nvec; i++, curmsk++) { in msix_setup_msi_descs()
665 int nvec, struct irq_affinity *affd) in msix_setup_interrupts() argument
671 masks = irq_create_affinity_masks(nvec, affd); in msix_setup_interrupts()
674 ret = msix_setup_msi_descs(dev, entries, nvec, masks); in msix_setup_interrupts()
678 ret = pci_msi_setup_msi_irqs(dev, nvec, PCI_CAP_ID_MSIX); in msix_setup_interrupts()
702 * @nvec: number of @entries
710 int nvec, struct irq_affinity *affd) in msix_capability_init() argument
735 ret = msix_setup_interrupts(dev, entries, nvec, affd); in msix_capability_init()
763 static bool pci_msix_validate_entries(struct pci_dev *dev, struct msix_entry *entries, int nvec) in pci_msix_validate_entries() argument
773 for (i = 0; i < nvec; i++) { in pci_msix_validate_entries()
775 for (j = i + 1; j < nvec; j++) { in pci_msix_validate_entries()
789 int hwsize, rc, nvec = maxvec; in __pci_enable_msix_range() local
806 if (!pci_msi_supported(dev, nvec) || dev->current_state != PCI_D0) in __pci_enable_msix_range()
813 if (!pci_msix_validate_entries(dev, entries, nvec)) in __pci_enable_msix_range()
816 if (hwsize < nvec) { in __pci_enable_msix_range()
819 hwsize = nvec; in __pci_enable_msix_range()
821 nvec = hwsize; in __pci_enable_msix_range()
824 if (nvec < minvec) in __pci_enable_msix_range()
836 nvec = irq_calc_affinity_vectors(minvec, nvec, affd); in __pci_enable_msix_range()
837 if (nvec < minvec) in __pci_enable_msix_range()
841 rc = msix_capability_init(dev, entries, nvec, affd); in __pci_enable_msix_range()
843 return nvec; in __pci_enable_msix_range()
850 nvec = rc; in __pci_enable_msix_range()