Lines Matching refs:que

492 	struct ix_queue *que = adapter->queues;
507 for (int i = 0; i < adapter->num_queues; i++, que++) {
508 if (que->tq) {
509 struct tx_ring *txr = que->txr;
510 taskqueue_drain(que->tq, &txr->txq_task);
511 taskqueue_drain(que->tq, &que->que_task);
512 taskqueue_free(que->tq);
699 struct ix_queue *que = arg;
700 struct adapter *adapter = que->adapter;
702 struct tx_ring *txr = que->txr;
703 struct rx_ring *rxr = que->rxr;
707 ixv_disable_queue(adapter, que->msix);
708 ++que->irqs;
710 more = ixgbe_rxeof(que);
733 if (que->eitr_setting)
734 IXGBE_WRITE_REG(&adapter->hw, IXGBE_VTEITR(que->msix),
735 que->eitr_setting);
737 que->eitr_setting = 0;
761 que->eitr_setting = newitr;
771 taskqueue_enqueue(que->tq, &que->que_task);
773 ixv_enable_queue(adapter, que->msix);
952 struct ix_queue *que = adapter->queues;
968 for (int i = 0; i < adapter->num_queues; i++, que++) {
970 if (que->txr->busy)
971 queues |= ((u64)1 << que->me);
977 if (que->busy == IXGBE_QUEUE_HUNG) {
980 adapter->active_queues &= ~((u64)1 << que->me);
984 if ((adapter->active_queues & ((u64)1 << que->me)) == 0)
985 adapter->active_queues |= ((u64)1 << que->me);
987 if (que->busy >= IXGBE_MAX_TX_BUSY) {
990 que->txr->busy = IXGBE_QUEUE_HUNG;
1120 struct ix_queue *que = adapter->queues;
1140 for (int i = 0; i < adapter->num_queues; i++, que++) {
1141 rid = que->msix + 1;
1142 if (que->tag != NULL) {
1143 bus_teardown_intr(dev, que->res, que->tag);
1144 que->tag = NULL;
1146 if (que->res != NULL)
1147 bus_release_resource(dev, SYS_RES_IRQ, rid, que->res);
1645 struct ix_queue *que = adapter->queues;
1655 for (int i = 0; i < adapter->num_queues; i++, que++)
1656 ixv_enable_queue(adapter, que->msix);
1712 struct ix_queue *que = adapter->queues;
1714 for (int i = 0; i < adapter->num_queues; i++, que++) {
1716 ixv_set_ivar(adapter, i, que->msix, 0);
1718 ixv_set_ivar(adapter, i, que->msix, 1);
1720 IXGBE_WRITE_REG(&adapter->hw, IXGBE_VTEITR(que->msix),
1962 struct ix_queue *que = adapter->queues;
1970 for (int i = 0; i < adapter->num_queues; i++, que++) {
1971 txr = que->txr;
1972 rxr = que->rxr;
1975 que->msix, (long)que->irqs);
2215 struct ix_queue *que = context;
2216 struct adapter *adapter = que->adapter;
2217 struct tx_ring *txr = que->txr;
2222 more = ixgbe_rxeof(que);
2229 taskqueue_enqueue(que->tq, &que->que_task);
2235 ixv_enable_queue(adapter, que->msix);
2247 struct ix_queue *que = adapter->queues;
2251 for (int i = 0; i < adapter->num_queues; i++, vector++, que++, txr++) {
2253 que->res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid,
2255 if (que->res == NULL) {
2256 device_printf(dev, "Unable to allocate bus resource: que interrupt [%d]\n",
2261 error = bus_setup_intr(dev, que->res,
2263 ixv_msix_que, que, &que->tag);
2265 que->res = NULL;
2270 bus_describe_intr(dev, que->res, que->tag, "que %d", i);
2272 que->msix = vector;
2273 adapter->active_queues |= (u64)(1 << que->msix);
2279 bus_bind_intr(dev, que->res, i);
2281 TASK_INIT(&que->que_task, 0, ixv_handle_que, que);
2282 que->tq = taskqueue_create_fast("ixv_que", M_NOWAIT,
2283 taskqueue_thread_enqueue, &que->tq);
2284 taskqueue_start_threads(&que->tq, 1, PI_NET, "%s que",