PCI_INTR_TYPE_MSIX
case PCI_INTR_TYPE_MSIX:
msix_count = counts[PCI_INTR_TYPE_MSIX];
counts[PCI_INTR_TYPE_MSIX] = msix_count;
return PCI_INTR_TYPE_MSIX;
case PCI_INTR_TYPE_MSIX:
cnt[PCI_INTR_TYPE_MSIX] = counts[PCI_INTR_TYPE_MSIX];
if (cnt[PCI_INTR_TYPE_MSIX] == -1) /* use hardware max */
cnt[PCI_INTR_TYPE_MSIX] = pci_msix_count(pa->pa_pc, pa->pa_tag);
if (cnt[PCI_INTR_TYPE_MSIX] > 0) {
error = pci_msix_alloc_exact(pa, ihps, cnt[PCI_INTR_TYPE_MSIX]);
counts[PCI_INTR_TYPE_MSIX] = cnt[PCI_INTR_TYPE_MSIX];
return PCI_INTR_TYPE_MSIX;
case PCI_INTR_TYPE_MSIX:
msix_count = counts[PCI_INTR_TYPE_MSIX];
counts[PCI_INTR_TYPE_MSIX] = msix_count;
[PCI_INTR_TYPE_MSIX] = -1,
if (pci_intr_alloc(pa, &psc->sc_pihp, counts, PCI_INTR_TYPE_MSIX)) {
[PCI_INTR_TYPE_MSIX] = 0,
counts[PCI_INTR_TYPE_MSI] = counts[PCI_INTR_TYPE_MSIX] = 1;
max_type = PCI_INTR_TYPE_MSIX;
[PCI_INTR_TYPE_MSIX] = 1,
int max_type = PCI_INTR_TYPE_MSIX;
case PCI_INTR_TYPE_MSIX:
[PCI_INTR_TYPE_MSIX] = 0,
counts[PCI_INTR_TYPE_MSIX] = msix_req;
max_type = PCI_INTR_TYPE_MSIX;
adapter->sc_nintrs = counts[PCI_INTR_TYPE_MSIX];
if (counts[PCI_INTR_TYPE_MSIX] != msix_req) {
counts[PCI_INTR_TYPE_MSIX] = num;
error = pci_intr_alloc(pa, &sc->sc_ihp, counts, PCI_INTR_TYPE_MSIX);
KASSERT(pci_intr_type(pa->pa_pc, sc->sc_ihp[0]) == PCI_INTR_TYPE_MSIX);
if (counts[PCI_INTR_TYPE_MSIX] < 1) {
} else if (counts[PCI_INTR_TYPE_MSIX] != (int)num) {
num, counts[PCI_INTR_TYPE_MSIX]);
num = counts[PCI_INTR_TYPE_MSIX];
if (sc->sc_intrtype != PCI_INTR_TYPE_MSIX)
if (sc->sc_intrtype == PCI_INTR_TYPE_MSIX) {
if (sc->sc_intrtype == PCI_INTR_TYPE_MSIX) {
max_type = PCI_INTR_TYPE_MSIX;
counts[PCI_INTR_TYPE_MSIX] = sc->sc_nqueue_pairs_max + 1;
counts[PCI_INTR_TYPE_MSIX] = 0;
if (intr_type == PCI_INTR_TYPE_MSIX) {
counts[PCI_INTR_TYPE_MSIX] = 0;
counts[PCI_INTR_TYPE_MSIX] = -1;
if (pci_intr_alloc(pa, &sc->sc_intrs, counts, PCI_INTR_TYPE_MSIX) != 0) {
if (counts[PCI_INTR_TYPE_MSIX] < 2) {
KASSERT(pci_intr_type(sc->sc_pc, sc->sc_intrs[0]) == PCI_INTR_TYPE_MSIX);
msix = counts[PCI_INTR_TYPE_MSIX];
[PCI_INTR_TYPE_MSIX] = 1,
int max_type = PCI_INTR_TYPE_MSIX;
case PCI_INTR_TYPE_MSIX:
max_type = PCI_INTR_TYPE_MSIX;
counts[PCI_INTR_TYPE_MSIX]
counts[PCI_INTR_TYPE_MSIX] = 0;
counts[PCI_INTR_TYPE_MSIX] = 0;
counts[PCI_INTR_TYPE_MSIX] = 0;
if (pci_intr_type(pc, sc->sc_intrs[0]) == PCI_INTR_TYPE_MSIX) {
counts[PCI_INTR_TYPE_MSIX]);
if (sc->sc_intr_type == PCI_INTR_TYPE_MSIX)
if (sc->sc_intr_type == PCI_INTR_TYPE_MSIX) {
if (sc->sc_intr_type == PCI_INTR_TYPE_MSIX) {
if (sc->sc_intr_type == PCI_INTR_TYPE_MSIX)
sc->sc_intr_type = PCI_INTR_TYPE_MSIX;
case PCI_INTR_TYPE_MSIX:
counts[PCI_INTR_TYPE_MSIX] = 0;
counts[PCI_INTR_TYPE_MSIX] = uimin(pci_msix_count(pa->pa_pc, pa->pa_tag),
if (counts[PCI_INTR_TYPE_MSIX] < 1) {
counts[PCI_INTR_TYPE_MSIX] = 0;
if (counts[PCI_INTR_TYPE_MSIX] > 2)
counts[PCI_INTR_TYPE_MSIX] = 2; /* adminq + 1 ioq */
error = pci_intr_alloc(pa, &ihps, counts, PCI_INTR_TYPE_MSIX);
counts[PCI_INTR_TYPE_MSIX] = 0;
if (pci_intr_alloc(pa, &sc->sc_pihp, counts, PCI_INTR_TYPE_MSIX)) {
[PCI_INTR_TYPE_MSIX] = 1,
int max_type = PCI_INTR_TYPE_MSIX;
max_type = PCI_INTR_TYPE_MSIX;
counts[PCI_INTR_TYPE_MSIX] = nmsix;
if (pci_intr_type(pc, psc->sc_ihp[0]) == PCI_INTR_TYPE_MSIX) {
if (pci_intr_type(pc, psc->sc_ihp[0]) == PCI_INTR_TYPE_MSIX)
counts[PCI_INTR_TYPE_MSIX] = 0;
if (pci_intr_alloc(pa, &psc->sc_pihp, counts, PCI_INTR_TYPE_MSIX)) {