Lines Matching defs:vectors
286 * vectors manually instead of relying on iflib code to do this.
390 * sysctl value is when setting up MSI-X vectors.
639 /* Allocate MSI-X vectors (due to isc_flags IFLIB_SKIP_MSIX) */
693 * We still need to allocate MSI-X vectors since we need one vector to
901 /* If the irqvs array is NULL, then there are no vectors to free */
905 /* Free the IRQ vectors */
1210 /* Release MSI-X IRQ vectors, if not yet released in ice_if_detach */
1358 * ice_allocate_msix - Allocate MSI-X vectors for the interface
1361 * Map the MSI-X bar, and then request MSI-X vectors in a two-stage process.
1363 * First, determine a suitable total number of vectors based on the number
1367 * Request the desired amount of vectors, and see how many we obtain. If we
1373 * IFLIB_SKIP_MSIX flag indicating that the driver will manage MSI-X vectors
1376 * @remark This driver will only use MSI-X vectors. If this is not possible,
1380 * the assignments of extra MSIX vectors.
1394 int bar, queues, vectors, requested;
1444 * Choose a number of RDMA vectors based on the number of CPUs
1456 * Determine the number of vectors to request. Note that we also need
1460 /* Add extra vectors requested by the user for later subinterface
1467 vectors = requested;
1468 err = pci_alloc_msix(dev, &vectors);
1470 device_printf(dev, "Failed to allocate %d MSI-X vectors, err %s\n",
1471 vectors, ice_err_str(err));
1475 /* If we don't receive enough vectors, reduce demands */
1476 if (vectors < requested) {
1477 int diff = requested - vectors;
1479 device_printf(dev, "Requested %d MSI-X vectors, but got only %d\n",
1480 requested, vectors);
1485 * The OS didn't grant us the requested number of vectors.
1487 * number of vectors allocated to certain features.
1491 /* Reduce the number of RDMA vectors we reserve */
1509 device_printf(dev, "Unable to allocate sufficient MSI-X vectors\n");
1521 device_printf(dev, "Using MSI-X interrupts with %d vectors\n",
1522 vectors);
1524 /* Split resulting vectors back into requested splits */
1525 scctx->isc_vectors = vectors;
1539 sc->lan_vectors = vectors - rdma;
1555 * vectors. These OS interrupt allocations don't need to be contiguous,
1585 * ice_if_msix_intr_assign - Assign MSI-X interrupt vectors to queues
1587 * @msix: the number of vectors we were assigned
1589 * Called by iflib to assign MSI-X vectors to queues. Currently requires that
1590 * we get at least the same number of vectors as we have queues, and that we
1613 "Not enough MSI-X vectors to assign one vector to each queue pair\n");
1617 /* Save the number of vectors for future use */
3761 * number of vectors as we have queues, and that we always have the same number
4082 * @msix: the number of vectors we were assigned
4107 "%s: Not enough spare (%d) msix vectors for new sub-interface requested (%d)\n",
4111 device_printf(dev, "%s: Using %d vectors for sub-interface\n", __func__,
4121 "Unable to allocate RX irqv memory for mirror's %d vectors\n",
4376 /* If the irqvs array is NULL, then there are no vectors to free */
4380 /* Free the IRQ vectors -- currently subinterfaces have number
4381 * of vectors equal to number of RX queues
4428 /* Release MSI-X IRQ vectors */