Lines Matching defs:iaq
1197 struct intrs_and_queues iaq;
1459 rc = cfg_itype_and_nqueues(sc, &iaq);
1463 num_vis = iaq.num_vis;
1464 sc->intr_type = iaq.intr_type;
1465 sc->intr_count = iaq.nirq;
1468 s->nrxq = nports * iaq.nrxq;
1469 s->ntxq = nports * iaq.ntxq;
1471 s->nrxq += nports * (num_vis - 1) * iaq.nrxq_vi;
1472 s->ntxq += nports * (num_vis - 1) * iaq.ntxq_vi;
1479 s->nofldtxq = nports * iaq.nofldtxq;
1481 s->nofldtxq += nports * (num_vis - 1) * iaq.nofldtxq_vi;
1490 s->nofldrxq = nports * iaq.nofldrxq;
1492 s->nofldrxq += nports * (num_vis - 1) * iaq.nofldrxq_vi;
1504 s->nnmrxq += nports * iaq.nnmrxq;
1505 s->nnmtxq += nports * iaq.nnmtxq;
1508 s->nnmrxq += nports * (num_vis - 1) * iaq.nnmrxq_vi;
1509 s->nnmtxq += nports * (num_vis - 1) * iaq.nnmtxq_vi;
1583 vi->nrxq = j == 0 ? iaq.nrxq : iaq.nrxq_vi;
1584 vi->ntxq = j == 0 ? iaq.ntxq : iaq.ntxq_vi;
1596 vi->nofldtxq = j == 0 ? iaq.nofldtxq : iaq.nofldtxq_vi;
1603 vi->nofldrxq = j == 0 ? iaq.nofldrxq : iaq.nofldrxq_vi;
1611 vi->nnmrxq = iaq.nnmrxq;
1612 vi->nnmtxq = iaq.nnmtxq;
1614 vi->nnmrxq = iaq.nnmrxq_vi;
1615 vi->nnmtxq = iaq.nnmtxq_vi;
4313 update_nirq(struct intrs_and_queues *iaq, int nports)
4316 iaq->nirq = T4_EXTRA_INTR;
4317 iaq->nirq += nports * max(iaq->nrxq, iaq->nnmrxq);
4318 iaq->nirq += nports * iaq->nofldrxq;
4319 iaq->nirq += nports * (iaq->num_vis - 1) *
4320 max(iaq->nrxq_vi, iaq->nnmrxq_vi);
4321 iaq->nirq += nports * (iaq->num_vis - 1) * iaq->nofldrxq_vi;
4328 calculate_iaq(struct adapter *sc, struct intrs_and_queues *iaq, int itype,
4337 bzero(iaq, sizeof(*iaq));
4338 iaq->intr_type = itype;
4339 iaq->num_vis = t4_num_vis;
4340 iaq->ntxq = t4_ntxq;
4341 iaq->ntxq_vi = t4_ntxq_vi;
4342 iaq->nrxq = t4_nrxq;
4343 iaq->nrxq_vi = t4_nrxq_vi;
4346 iaq->nofldtxq = t4_nofldtxq;
4347 iaq->nofldtxq_vi = t4_nofldtxq_vi;
4352 iaq->nofldrxq = t4_nofldrxq;
4353 iaq->nofldrxq_vi = t4_nofldrxq_vi;
4358 iaq->nnmtxq = t4_nnmtxq;
4359 iaq->nnmrxq = t4_nnmrxq;
4362 iaq->nnmtxq_vi = t4_nnmtxq_vi;
4363 iaq->nnmrxq_vi = t4_nnmrxq_vi;
4367 update_nirq(iaq, nports);
4368 if (iaq->nirq <= navail &&
4369 (itype != INTR_MSI || powerof2(iaq->nirq))) {
4381 while (iaq->num_vis > 1) {
4382 iaq->num_vis--;
4383 update_nirq(iaq, nports);
4384 if (iaq->nirq <= navail &&
4385 (itype != INTR_MSI || powerof2(iaq->nirq))) {
4390 iaq->num_vis, t4_num_vis, iaq->nrxq, iaq->nofldrxq,
4391 iaq->nrxq_vi, iaq->nofldrxq_vi, iaq->nnmrxq_vi,
4392 itype, navail, iaq->nirq);
4400 MPASS(iaq->num_vis == 1);
4401 iaq->ntxq_vi = iaq->nrxq_vi = 0;
4402 iaq->nofldtxq_vi = iaq->nofldrxq_vi = 0;
4403 iaq->nnmtxq_vi = iaq->nnmrxq_vi = 0;
4404 if (iaq->num_vis != t4_num_vis) {
4408 iaq->nrxq, iaq->nofldrxq, iaq->nrxq_vi, iaq->nofldrxq_vi,
4409 iaq->nnmrxq_vi, itype, navail, iaq->nirq);
4418 if (iaq->nrxq > 1) {
4419 iaq->nrxq = rounddown_pow_of_two(iaq->nrxq - 1);
4420 if (iaq->nnmrxq > iaq->nrxq)
4421 iaq->nnmrxq = iaq->nrxq;
4423 if (iaq->nofldrxq > 1)
4424 iaq->nofldrxq >>= 1;
4426 old_nirq = iaq->nirq;
4427 update_nirq(iaq, nports);
4428 if (iaq->nirq <= navail &&
4429 (itype != INTR_MSI || powerof2(iaq->nirq))) {
4433 "itype %d, navail %u, nirq %d.\n", iaq->nrxq,
4434 iaq->nofldrxq, itype, navail, iaq->nirq);
4437 } while (old_nirq != iaq->nirq);
4442 iaq->nirq = 1;
4443 iaq->nrxq = 1;
4444 iaq->ntxq = 1;
4445 if (iaq->nofldrxq > 0) {
4446 iaq->nofldrxq = 1;
4447 iaq->nofldtxq = 1;
4449 iaq->nnmtxq = 0;
4450 iaq->nnmrxq = 0;
4452 MPASS(iaq->num_vis > 0);
4453 if (iaq->num_vis > 1) {
4454 MPASS(iaq->nrxq_vi > 0);
4455 MPASS(iaq->ntxq_vi > 0);
4457 MPASS(iaq->nirq > 0);
4458 MPASS(iaq->nrxq > 0);
4459 MPASS(iaq->ntxq > 0);
4461 MPASS(powerof2(iaq->nirq));
4466 cfg_itype_and_nqueues(struct adapter *sc, struct intrs_and_queues *iaq)
4485 calculate_iaq(sc, iaq, itype, navail);
4486 nalloc = iaq->nirq;
4494 if (nalloc == iaq->nirq)
4503 itype, iaq->nirq, nalloc);
4511 itype, rc, iaq->nirq, nalloc);