Lines Matching refs:que

180 	struct ixl_queue	*que = vsi->queues;
184 for (int i = 0; i < vsi->num_queues; i++, que++) {
185 struct tx_ring *txr = &que->txr;
199 struct ixl_queue *que = vsi->queues;
203 for (int i = 0; i < vsi->num_queues; i++, que++) {
204 struct rx_ring *rxr = &que->rxr;
673 struct ixl_queue *que = context;
674 struct ixl_vsi *vsi = que->vsi;
677 struct tx_ring *txr = &que->txr;
682 more = ixl_rxeof(que, IXL_RX_LIMIT);
684 ixl_txeof(que);
689 taskqueue_enqueue(que->tq, &que->task);
696 ixl_enable_queue(hw, que->me);
713 struct ixl_queue *que = vsi->queues;
715 struct tx_ring *txr = &que->txr;
741 ++que->irqs;
743 more = ixl_rxeof(que, IXL_RX_LIMIT);
746 ixl_txeof(que);
752 taskqueue_enqueue(que->tq, &que->task);
767 struct ixl_queue *que = arg;
768 struct ixl_vsi *vsi = que->vsi;
770 struct tx_ring *txr = &que->txr;
780 ixl_disable_queue(hw, que->me);
782 ++que->irqs;
784 more_rx = ixl_rxeof(que, IXL_RX_LIMIT);
787 more_tx = ixl_txeof(que);
797 ixl_set_queue_rx_itr(que);
798 ixl_set_queue_tx_itr(que);
801 taskqueue_enqueue(que->tq, &que->task);
803 ixl_enable_queue(hw, que->me);
1251 struct ixl_queue *que = vsi->queues;
1259 for (int i = 0; i < vsi->num_queues; i++, que++) {
1260 TASK_INIT(&que->tx_task, 0, ixl_deferred_mq_start, que);
1261 TASK_INIT(&que->task, 0, ixl_handle_que, que);
1262 que->tq = taskqueue_create_fast("ixl_que", M_NOWAIT,
1263 taskqueue_thread_enqueue, &que->tq);
1266 taskqueue_start_threads_cpuset(&que->tq, 1, PI_NET,
1270 taskqueue_start_threads(&que->tq, 1, PI_NET,
1271 "%s (que %d)", device_get_nameunit(dev), que->me);
1290 struct ixl_queue *que = vsi->queues;
1292 for (int i = 0; i < vsi->num_queues; i++, que++) {
1293 if (que->tq) {
1294 taskqueue_free(que->tq);
1295 que->tq = NULL;
1345 struct ixl_queue *que = vsi->queues;
1350 for (int i = 0; i < vsi->num_queues; i++, vector++, que++) {
1353 txr = &que->txr;
1354 que->res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid,
1356 if (!que->res) {
1359 que->me, rid);
1363 error = bus_setup_intr(dev, que->res,
1365 ixl_msix_que, que, &que->tag);
1369 que->me, error);
1370 bus_release_resource(dev, SYS_RES_IRQ, rid, que->res);
1373 error = bus_describe_intr(dev, que->res, que->tag, "q%d", i);
1377 que->me, error);
1383 error = bus_bind_intr(dev, que->res, cpu_id);
1387 que->me, cpu_id, error);
1389 que->msix = vector;
1643 struct ixl_queue *que = vsi->queues;
1644 struct rx_ring *rxr = &que->rxr;
1645 struct tx_ring *txr = &que->txr;
1776 struct ixl_queue *que = vsi->queues;
1781 if ((pf->msix < 2) || (que == NULL))
1785 for (int i = 0; i < vsi->num_queues; i++, que++) {
1786 rid = que->msix + 1;
1787 if (que->tag != NULL) {
1788 error = bus_teardown_intr(dev, que->res, que->tag);
1792 que->me);
1795 que->tag = NULL;
1797 if (que->res != NULL) {
1798 error = bus_release_resource(dev, SYS_RES_IRQ, rid, que->res);
1802 que->me, rid);
1805 que->res = NULL;
1928 struct ixl_queue *que = vsi->queues;
1954 ifp->if_snd.ifq_maxlen = que->num_tx_desc - 2;
2122 struct ixl_queue *que = vsi->queues;
2200 for (int i = 0; i < vsi->num_queues; i++, que++) {
2201 struct tx_ring *txr = &que->txr;
2202 struct rx_ring *rxr = &que->rxr;
2209 size = que->num_tx_desc * sizeof(struct i40e_tx_desc);
2213 tctx.qlen = que->num_tx_desc;
2228 (que->num_tx_desc * sizeof(struct i40e_tx_desc));
2249 ixl_init_tx_ring(que);
2270 rctx.qlen = que->num_rx_desc;
2293 err = ixl_init_rx_ring(que);
2304 wr32(vsi->hw, I40E_QRX_TAIL(que->me), t);
2307 wr32(vsi->hw, I40E_QRX_TAIL(que->me), que->num_rx_desc - 1);
2316 struct ixl_queue *que = vsi->queues;
2321 for (int i = 0; i < vsi->num_queues; i++, que++) {
2322 struct tx_ring *txr = &que->txr;
2323 struct rx_ring *rxr = &que->rxr;
2330 ixl_free_que_tx(que);
2339 ixl_free_que_rx(que);
2385 ixl_vsi_setup_queue(struct ixl_vsi *vsi, struct ixl_queue *que, int index)
2390 struct tx_ring *txr = &que->txr;
2391 struct rx_ring *rxr = &que->rxr;
2395 que->num_tx_desc = vsi->num_tx_desc;
2396 que->num_rx_desc = vsi->num_rx_desc;
2397 que->me = index;
2398 que->vsi = vsi;
2400 txr->que = que;
2401 txr->tail = I40E_QTX_TAIL(que->me);
2405 device_get_nameunit(dev), que->me);
2415 tsize = roundup2((que->num_tx_desc *
2419 tsize = roundup2((que->num_tx_desc *
2432 if (ixl_allocate_tx_data(que)) {
2448 rsize = roundup2(que->num_rx_desc *
2450 rxr->que = que;
2451 rxr->tail = I40E_QRX_TAIL(que->me);
2455 device_get_nameunit(dev), que->me);
2468 if (ixl_allocate_rx_data(que)) {
2484 ixl_free_que_tx(que);
2496 struct ixl_queue *que;
2500 que = &vsi->queues[i];
2501 error = ixl_vsi_setup_queue(vsi, que, i);
2556 ixl_set_queue_rx_itr(struct ixl_queue *que)
2558 struct ixl_vsi *vsi = que->vsi;
2561 struct rx_ring *rxr = &que->rxr;
2607 que->me), rxr->itr);
2616 que->me), rxr->itr);
2630 ixl_set_queue_tx_itr(struct ixl_queue *que)
2632 struct ixl_vsi *vsi = que->vsi;
2635 struct tx_ring *txr = &que->txr;
2681 que->me), txr->itr);
2691 que->me), txr->itr);
3657 struct ixl_queue *que = vsi->queues;
3660 for (int i = 0; i < vsi->num_queues; i++, que++)
3661 ixl_enable_queue(hw, que->me);
3670 struct ixl_queue *que = vsi->queues;
3672 for (int i = 0; i < vsi->num_queues; i++, que++)
3673 ixl_disable_queue(hw, que->me);