Lines Matching defs:iaq

1312 	struct intrs_and_queues iaq;
1575 rc = cfg_itype_and_nqueues(sc, &iaq);
1579 num_vis = iaq.num_vis;
1580 sc->intr_type = iaq.intr_type;
1581 sc->intr_count = iaq.nirq;
1585 s->nrxq = nports * iaq.nrxq;
1586 s->ntxq = nports * iaq.ntxq;
1588 s->nrxq += nports * (num_vis - 1) * iaq.nrxq_vi;
1589 s->ntxq += nports * (num_vis - 1) * iaq.ntxq_vi;
1596 s->nofldtxq = nports * iaq.nofldtxq;
1598 s->nofldtxq += nports * (num_vis - 1) * iaq.nofldtxq_vi;
1607 s->nofldrxq = nports * iaq.nofldrxq;
1609 s->nofldrxq += nports * (num_vis - 1) * iaq.nofldrxq_vi;
1621 s->nnmrxq += nports * iaq.nnmrxq;
1622 s->nnmtxq += nports * iaq.nnmtxq;
1625 s->nnmrxq += nports * (num_vis - 1) * iaq.nnmrxq_vi;
1626 s->nnmtxq += nports * (num_vis - 1) * iaq.nnmtxq_vi;
1701 vi->nrxq = j == 0 ? iaq.nrxq : iaq.nrxq_vi;
1702 vi->ntxq = j == 0 ? iaq.ntxq : iaq.ntxq_vi;
1714 vi->nofldtxq = j == 0 ? iaq.nofldtxq : iaq.nofldtxq_vi;
1721 vi->nofldrxq = j == 0 ? iaq.nofldrxq : iaq.nofldrxq_vi;
1729 vi->nnmrxq = iaq.nnmrxq;
1730 vi->nnmtxq = iaq.nnmtxq;
1732 vi->nnmrxq = iaq.nnmrxq_vi;
1733 vi->nnmtxq = iaq.nnmtxq_vi;
4555 update_nirq(struct intrs_and_queues *iaq, int nports)
4558 iaq->nirq = T4_EXTRA_INTR;
4559 iaq->nirq += nports * max(iaq->nrxq, iaq->nnmrxq);
4560 iaq->nirq += nports * iaq->nofldrxq;
4561 iaq->nirq += nports * (iaq->num_vis - 1) *
4562 max(iaq->nrxq_vi, iaq->nnmrxq_vi);
4563 iaq->nirq += nports * (iaq->num_vis - 1) * iaq->nofldrxq_vi;
4570 calculate_iaq(struct adapter *sc, struct intrs_and_queues *iaq, int itype,
4579 bzero(iaq, sizeof(*iaq));
4580 iaq->intr_type = itype;
4581 iaq->num_vis = t4_num_vis;
4582 iaq->ntxq = t4_ntxq;
4583 iaq->ntxq_vi = t4_ntxq_vi;
4584 iaq->nrxq = t4_nrxq;
4585 iaq->nrxq_vi = t4_nrxq_vi;
4589 iaq->nofldtxq = t4_nofldtxq;
4590 iaq->nofldtxq_vi = t4_nofldtxq_vi;
4592 iaq->nofldtxq = roundup(t4_nofldtxq, sc->params.ncores);
4593 iaq->nofldtxq_vi = roundup(t4_nofldtxq_vi,
4595 if (iaq->nofldtxq != t4_nofldtxq)
4599 t4_nofldtxq, iaq->nofldtxq,
4601 if (iaq->num_vis > 1 &&
4602 iaq->nofldtxq_vi != t4_nofldtxq_vi)
4606 t4_nofldtxq_vi, iaq->nofldtxq_vi,
4613 iaq->nofldrxq = t4_nofldrxq;
4614 iaq->nofldrxq_vi = t4_nofldrxq_vi;
4619 iaq->nnmtxq = t4_nnmtxq;
4620 iaq->nnmrxq = t4_nnmrxq;
4623 iaq->nnmtxq_vi = t4_nnmtxq_vi;
4624 iaq->nnmrxq_vi = t4_nnmrxq_vi;
4628 update_nirq(iaq, nports);
4629 if (iaq->nirq <= navail &&
4630 (itype != INTR_MSI || powerof2(iaq->nirq))) {
4642 while (iaq->num_vis > 1) {
4643 iaq->num_vis--;
4644 update_nirq(iaq, nports);
4645 if (iaq->nirq <= navail &&
4646 (itype != INTR_MSI || powerof2(iaq->nirq))) {
4651 iaq->num_vis, t4_num_vis, iaq->nrxq, iaq->nofldrxq,
4652 iaq->nrxq_vi, iaq->nofldrxq_vi, iaq->nnmrxq_vi,
4653 itype, navail, iaq->nirq);
4661 MPASS(iaq->num_vis == 1);
4662 iaq->ntxq_vi = iaq->nrxq_vi = 0;
4663 iaq->nofldtxq_vi = iaq->nofldrxq_vi = 0;
4664 iaq->nnmtxq_vi = iaq->nnmrxq_vi = 0;
4665 if (iaq->num_vis != t4_num_vis) {
4669 iaq->nrxq, iaq->nofldrxq, iaq->nrxq_vi, iaq->nofldrxq_vi,
4670 iaq->nnmrxq_vi, itype, navail, iaq->nirq);
4679 if (iaq->nrxq > 1) {
4680 iaq->nrxq = rounddown_pow_of_two(iaq->nrxq - 1);
4681 if (iaq->nnmrxq > iaq->nrxq)
4682 iaq->nnmrxq = iaq->nrxq;
4684 if (iaq->nofldrxq > 1)
4685 iaq->nofldrxq >>= 1;
4687 old_nirq = iaq->nirq;
4688 update_nirq(iaq, nports);
4689 if (iaq->nirq <= navail &&
4690 (itype != INTR_MSI || powerof2(iaq->nirq))) {
4694 "itype %d, navail %u, nirq %d.\n", iaq->nrxq,
4695 iaq->nofldrxq, itype, navail, iaq->nirq);
4698 } while (old_nirq != iaq->nirq);
4703 iaq->nirq = 1;
4704 iaq->nrxq = 1;
4705 iaq->ntxq = 1;
4706 if (iaq->nofldrxq > 0) {
4707 iaq->nofldrxq = 1;
4708 iaq->nofldtxq = 1;
4710 iaq->nofldtxq = 1;
4712 iaq->nofldtxq = sc->params.ncores;
4714 iaq->nnmtxq = 0;
4715 iaq->nnmrxq = 0;
4717 MPASS(iaq->num_vis > 0);
4718 if (iaq->num_vis > 1) {
4719 MPASS(iaq->nrxq_vi > 0);
4720 MPASS(iaq->ntxq_vi > 0);
4722 MPASS(iaq->nirq > 0);
4723 MPASS(iaq->nrxq > 0);
4724 MPASS(iaq->ntxq > 0);
4726 MPASS(powerof2(iaq->nirq));
4728 MPASS(iaq->nofldtxq % sc->params.ncores == 0);
4732 cfg_itype_and_nqueues(struct adapter *sc, struct intrs_and_queues *iaq)
4751 calculate_iaq(sc, iaq, itype, navail);
4752 nalloc = iaq->nirq;
4760 if (nalloc == iaq->nirq)
4769 itype, iaq->nirq, nalloc);
4777 itype, rc, iaq->nirq, nalloc);