| 4545 | } |
| 4546 | |
| 4547 | static void |
| 4548 | iflib_reset_qvalues(if_ctx_t ctx) |
| 4549 | { |
| 4550 | if_softc_ctx_t scctx = &ctx->ifc_softc_ctx; |
| 4551 | if_shared_ctx_t sctx = ctx->ifc_sctx; |
| 4552 | device_t dev = ctx->ifc_dev; |
| 4553 | int i; |
| 4554 | |
| 4555 | if (ctx->ifc_sysctl_ntxqs != 0) |
| 4556 | scctx->isc_ntxqsets = ctx->ifc_sysctl_ntxqs; |
| 4557 | if (ctx->ifc_sysctl_nrxqs != 0) |
| 4558 | scctx->isc_nrxqsets = ctx->ifc_sysctl_nrxqs; |
| 4559 | |
| 4560 | for (i = 0; i < sctx->isc_ntxqs; i++) { |
| 4561 | if (ctx->ifc_sysctl_ntxds[i] != 0) |
| 4562 | scctx->isc_ntxd[i] = ctx->ifc_sysctl_ntxds[i]; |
| 4563 | else |
| 4564 | scctx->isc_ntxd[i] = sctx->isc_ntxd_default[i]; |
| 4565 | } |
| 4566 | |
| 4567 | for (i = 0; i < sctx->isc_nrxqs; i++) { |
| 4568 | if (ctx->ifc_sysctl_nrxds[i] != 0) |
| 4569 | scctx->isc_nrxd[i] = ctx->ifc_sysctl_nrxds[i]; |
| 4570 | else |
| 4571 | scctx->isc_nrxd[i] = sctx->isc_nrxd_default[i]; |
| 4572 | } |
| 4573 | |
| 4574 | for (i = 0; i < sctx->isc_nrxqs; i++) { |
| 4575 | if (scctx->isc_nrxd[i] < sctx->isc_nrxd_min[i]) { |
| 4576 | device_printf(dev, "nrxd%d: %d less than nrxd_min %d - resetting to min\n", |
| 4577 | i, scctx->isc_nrxd[i], sctx->isc_nrxd_min[i]); |
| 4578 | scctx->isc_nrxd[i] = sctx->isc_nrxd_min[i]; |
| 4579 | } |
| 4580 | if (scctx->isc_nrxd[i] > sctx->isc_nrxd_max[i]) { |
| 4581 | device_printf(dev, "nrxd%d: %d greater than nrxd_max %d - resetting to max\n", |
| 4582 | i, scctx->isc_nrxd[i], sctx->isc_nrxd_max[i]); |
| 4583 | scctx->isc_nrxd[i] = sctx->isc_nrxd_max[i]; |
| 4584 | } |
| 4585 | if (!powerof2(scctx->isc_nrxd[i])) { |
| 4586 | device_printf(dev, "nrxd%d: %d is not a power of 2 - using default value of %d\n", |
| 4587 | i, scctx->isc_nrxd[i], sctx->isc_nrxd_default[i]); |
| 4588 | scctx->isc_nrxd[i] = sctx->isc_nrxd_default[i]; |
| 4589 | } |
| 4590 | } |
| 4591 | |
| 4592 | for (i = 0; i < sctx->isc_ntxqs; i++) { |
| 4593 | if (scctx->isc_ntxd[i] < sctx->isc_ntxd_min[i]) { |
| 4594 | device_printf(dev, "ntxd%d: %d less than ntxd_min %d - resetting to min\n", |
| 4595 | i, scctx->isc_ntxd[i], sctx->isc_ntxd_min[i]); |
| 4596 | scctx->isc_ntxd[i] = sctx->isc_ntxd_min[i]; |
| 4597 | } |
| 4598 | if (scctx->isc_ntxd[i] > sctx->isc_ntxd_max[i]) { |
| 4599 | device_printf(dev, "ntxd%d: %d greater than ntxd_max %d - resetting to max\n", |
| 4600 | i, scctx->isc_ntxd[i], sctx->isc_ntxd_max[i]); |
| 4601 | scctx->isc_ntxd[i] = sctx->isc_ntxd_max[i]; |
| 4602 | } |
| 4603 | if (!powerof2(scctx->isc_ntxd[i])) { |
| 4604 | device_printf(dev, "ntxd%d: %d is not a power of 2 - using default value of %d\n", |
no test coverage detected