Lines Matching refs:adapter
42 static bool ixgbe_cache_ring_dcb_sriov(struct ixgbe_adapter *adapter) in ixgbe_cache_ring_dcb_sriov() argument
45 struct ixgbe_ring_feature *fcoe = &adapter->ring_feature[RING_F_FCOE]; in ixgbe_cache_ring_dcb_sriov()
47 struct ixgbe_ring_feature *vmdq = &adapter->ring_feature[RING_F_VMDQ]; in ixgbe_cache_ring_dcb_sriov()
50 u8 tcs = netdev_get_num_tc(adapter->netdev); in ixgbe_cache_ring_dcb_sriov()
57 if (!(adapter->flags & IXGBE_FLAG_SRIOV_ENABLED)) in ixgbe_cache_ring_dcb_sriov()
62 for (i = 0; i < adapter->num_rx_queues; i++, reg_idx++) { in ixgbe_cache_ring_dcb_sriov()
66 adapter->rx_ring[i]->reg_idx = reg_idx; in ixgbe_cache_ring_dcb_sriov()
70 for (i = 0; i < adapter->num_tx_queues; i++, reg_idx++) { in ixgbe_cache_ring_dcb_sriov()
74 adapter->tx_ring[i]->reg_idx = reg_idx; in ixgbe_cache_ring_dcb_sriov()
79 if (!(adapter->flags & IXGBE_FLAG_FCOE_ENABLED)) in ixgbe_cache_ring_dcb_sriov()
89 u8 fcoe_tc = ixgbe_fcoe_get_tc(adapter); in ixgbe_cache_ring_dcb_sriov()
92 for (i = fcoe->offset; i < adapter->num_rx_queues; i++) { in ixgbe_cache_ring_dcb_sriov()
94 adapter->rx_ring[i]->reg_idx = reg_idx; in ixgbe_cache_ring_dcb_sriov()
99 for (i = fcoe->offset; i < adapter->num_tx_queues; i++) { in ixgbe_cache_ring_dcb_sriov()
101 adapter->tx_ring[i]->reg_idx = reg_idx; in ixgbe_cache_ring_dcb_sriov()
111 static void ixgbe_get_first_reg_idx(struct ixgbe_adapter *adapter, u8 tc, in ixgbe_get_first_reg_idx() argument
114 struct net_device *dev = adapter->netdev; in ixgbe_get_first_reg_idx()
115 struct ixgbe_hw *hw = &adapter->hw; in ixgbe_get_first_reg_idx()
168 static bool ixgbe_cache_ring_dcb(struct ixgbe_adapter *adapter) in ixgbe_cache_ring_dcb() argument
170 struct net_device *dev = adapter->netdev; in ixgbe_cache_ring_dcb()
179 rss_i = adapter->ring_feature[RING_F_RSS].indices; in ixgbe_cache_ring_dcb()
182 ixgbe_get_first_reg_idx(adapter, tc, &tx_idx, &rx_idx); in ixgbe_cache_ring_dcb()
184 adapter->tx_ring[offset + i]->reg_idx = tx_idx; in ixgbe_cache_ring_dcb()
185 adapter->rx_ring[offset + i]->reg_idx = rx_idx; in ixgbe_cache_ring_dcb()
186 adapter->tx_ring[offset + i]->dcb_tc = tc; in ixgbe_cache_ring_dcb()
187 adapter->rx_ring[offset + i]->dcb_tc = tc; in ixgbe_cache_ring_dcb()
203 static bool ixgbe_cache_ring_sriov(struct ixgbe_adapter *adapter) in ixgbe_cache_ring_sriov() argument
206 struct ixgbe_ring_feature *fcoe = &adapter->ring_feature[RING_F_FCOE]; in ixgbe_cache_ring_sriov()
208 struct ixgbe_ring_feature *vmdq = &adapter->ring_feature[RING_F_VMDQ]; in ixgbe_cache_ring_sriov()
209 struct ixgbe_ring_feature *rss = &adapter->ring_feature[RING_F_RSS]; in ixgbe_cache_ring_sriov()
214 if (!(adapter->flags & IXGBE_FLAG_VMDQ_ENABLED)) in ixgbe_cache_ring_sriov()
219 for (i = 0; i < adapter->num_rx_queues; i++, reg_idx++) { in ixgbe_cache_ring_sriov()
228 adapter->rx_ring[i]->reg_idx = reg_idx; in ixgbe_cache_ring_sriov()
233 for (; i < adapter->num_rx_queues; i++, reg_idx++) in ixgbe_cache_ring_sriov()
234 adapter->rx_ring[i]->reg_idx = reg_idx; in ixgbe_cache_ring_sriov()
238 for (i = 0; i < adapter->num_tx_queues; i++, reg_idx++) { in ixgbe_cache_ring_sriov()
247 adapter->tx_ring[i]->reg_idx = reg_idx; in ixgbe_cache_ring_sriov()
252 for (; i < adapter->num_tx_queues; i++, reg_idx++) in ixgbe_cache_ring_sriov()
253 adapter->tx_ring[i]->reg_idx = reg_idx; in ixgbe_cache_ring_sriov()
267 static bool ixgbe_cache_ring_rss(struct ixgbe_adapter *adapter) in ixgbe_cache_ring_rss() argument
271 for (i = 0; i < adapter->num_rx_queues; i++) in ixgbe_cache_ring_rss()
272 adapter->rx_ring[i]->reg_idx = i; in ixgbe_cache_ring_rss()
273 for (i = 0; i < adapter->num_tx_queues; i++) in ixgbe_cache_ring_rss()
274 adapter->tx_ring[i]->reg_idx = i; in ixgbe_cache_ring_rss()
290 static void ixgbe_cache_ring_register(struct ixgbe_adapter *adapter) in ixgbe_cache_ring_register() argument
293 adapter->rx_ring[0]->reg_idx = 0; in ixgbe_cache_ring_register()
294 adapter->tx_ring[0]->reg_idx = 0; in ixgbe_cache_ring_register()
297 if (ixgbe_cache_ring_dcb_sriov(adapter)) in ixgbe_cache_ring_register()
300 if (ixgbe_cache_ring_dcb(adapter)) in ixgbe_cache_ring_register()
304 if (ixgbe_cache_ring_sriov(adapter)) in ixgbe_cache_ring_register()
307 ixgbe_cache_ring_rss(adapter); in ixgbe_cache_ring_register()
326 static bool ixgbe_set_dcb_sriov_queues(struct ixgbe_adapter *adapter) in ixgbe_set_dcb_sriov_queues() argument
329 u16 vmdq_i = adapter->ring_feature[RING_F_VMDQ].limit; in ixgbe_set_dcb_sriov_queues()
334 u8 tcs = netdev_get_num_tc(adapter->netdev); in ixgbe_set_dcb_sriov_queues()
341 if (!(adapter->flags & IXGBE_FLAG_SRIOV_ENABLED)) in ixgbe_set_dcb_sriov_queues()
345 vmdq_i += adapter->ring_feature[RING_F_VMDQ].offset; in ixgbe_set_dcb_sriov_queues()
363 vmdq_i -= adapter->ring_feature[RING_F_VMDQ].offset; in ixgbe_set_dcb_sriov_queues()
366 adapter->ring_feature[RING_F_VMDQ].indices = vmdq_i; in ixgbe_set_dcb_sriov_queues()
367 adapter->ring_feature[RING_F_VMDQ].mask = vmdq_m; in ixgbe_set_dcb_sriov_queues()
373 adapter->ring_feature[RING_F_RSS].indices = 1; in ixgbe_set_dcb_sriov_queues()
374 adapter->ring_feature[RING_F_RSS].mask = IXGBE_RSS_DISABLED_MASK; in ixgbe_set_dcb_sriov_queues()
377 adapter->flags &= ~IXGBE_FLAG_FDIR_HASH_CAPABLE; in ixgbe_set_dcb_sriov_queues()
379 adapter->num_rx_pools = vmdq_i; in ixgbe_set_dcb_sriov_queues()
380 adapter->num_rx_queues_per_pool = tcs; in ixgbe_set_dcb_sriov_queues()
382 adapter->num_tx_queues = vmdq_i * tcs; in ixgbe_set_dcb_sriov_queues()
383 adapter->num_rx_queues = vmdq_i * tcs; in ixgbe_set_dcb_sriov_queues()
386 if (adapter->flags & IXGBE_FLAG_FCOE_ENABLED) { in ixgbe_set_dcb_sriov_queues()
389 fcoe = &adapter->ring_feature[RING_F_FCOE]; in ixgbe_set_dcb_sriov_queues()
400 adapter->num_tx_queues += fcoe_i; in ixgbe_set_dcb_sriov_queues()
401 adapter->num_rx_queues += fcoe_i; in ixgbe_set_dcb_sriov_queues()
405 fcoe->offset = ixgbe_fcoe_get_tc(adapter); in ixgbe_set_dcb_sriov_queues()
407 adapter->flags &= ~IXGBE_FLAG_FCOE_ENABLED; in ixgbe_set_dcb_sriov_queues()
417 netdev_set_tc_queue(adapter->netdev, i, 1, i); in ixgbe_set_dcb_sriov_queues()
422 static bool ixgbe_set_dcb_queues(struct ixgbe_adapter *adapter) in ixgbe_set_dcb_queues() argument
424 struct net_device *dev = adapter->netdev; in ixgbe_set_dcb_queues()
438 if (adapter->hw.mac.type == ixgbe_mac_82598EB) { in ixgbe_set_dcb_queues()
453 f = &adapter->ring_feature[RING_F_RSS]; in ixgbe_set_dcb_queues()
459 adapter->flags &= ~IXGBE_FLAG_FDIR_HASH_CAPABLE; in ixgbe_set_dcb_queues()
467 if (adapter->flags & IXGBE_FLAG_FCOE_ENABLED) { in ixgbe_set_dcb_queues()
468 u8 tc = ixgbe_fcoe_get_tc(adapter); in ixgbe_set_dcb_queues()
470 f = &adapter->ring_feature[RING_F_FCOE]; in ixgbe_set_dcb_queues()
479 adapter->num_tx_queues = rss_i * tcs; in ixgbe_set_dcb_queues()
480 adapter->num_rx_queues = rss_i * tcs; in ixgbe_set_dcb_queues()
495 static bool ixgbe_set_sriov_queues(struct ixgbe_adapter *adapter) in ixgbe_set_sriov_queues() argument
497 u16 vmdq_i = adapter->ring_feature[RING_F_VMDQ].limit; in ixgbe_set_sriov_queues()
499 u16 rss_i = adapter->ring_feature[RING_F_RSS].limit; in ixgbe_set_sriov_queues()
504 bool pools = (find_first_zero_bit(&adapter->fwd_bitmask, 32) > 1); in ixgbe_set_sriov_queues()
507 if (!(adapter->flags & IXGBE_FLAG_SRIOV_ENABLED)) in ixgbe_set_sriov_queues()
511 vmdq_i += adapter->ring_feature[RING_F_VMDQ].offset; in ixgbe_set_sriov_queues()
534 vmdq_i -= adapter->ring_feature[RING_F_VMDQ].offset; in ixgbe_set_sriov_queues()
537 adapter->ring_feature[RING_F_VMDQ].indices = vmdq_i; in ixgbe_set_sriov_queues()
538 adapter->ring_feature[RING_F_VMDQ].mask = vmdq_m; in ixgbe_set_sriov_queues()
541 adapter->ring_feature[RING_F_RSS].indices = rss_i; in ixgbe_set_sriov_queues()
542 adapter->ring_feature[RING_F_RSS].mask = rss_m; in ixgbe_set_sriov_queues()
544 adapter->num_rx_pools = vmdq_i; in ixgbe_set_sriov_queues()
545 adapter->num_rx_queues_per_pool = rss_i; in ixgbe_set_sriov_queues()
547 adapter->num_rx_queues = vmdq_i * rss_i; in ixgbe_set_sriov_queues()
548 adapter->num_tx_queues = vmdq_i * rss_i; in ixgbe_set_sriov_queues()
551 adapter->flags &= ~IXGBE_FLAG_FDIR_HASH_CAPABLE; in ixgbe_set_sriov_queues()
559 if (adapter->flags & IXGBE_FLAG_FCOE_ENABLED) { in ixgbe_set_sriov_queues()
562 fcoe = &adapter->ring_feature[RING_F_FCOE]; in ixgbe_set_sriov_queues()
576 if (!(adapter->flags & IXGBE_FLAG_MSIX_ENABLED)) in ixgbe_set_sriov_queues()
587 adapter->num_tx_queues += fcoe_i; in ixgbe_set_sriov_queues()
588 adapter->num_rx_queues += fcoe_i; in ixgbe_set_sriov_queues()
603 static bool ixgbe_set_rss_queues(struct ixgbe_adapter *adapter) in ixgbe_set_rss_queues() argument
609 f = &adapter->ring_feature[RING_F_RSS]; in ixgbe_set_rss_queues()
616 adapter->flags &= ~IXGBE_FLAG_FDIR_HASH_CAPABLE; in ixgbe_set_rss_queues()
623 if (rss_i > 1 && adapter->atr_sample_rate) { in ixgbe_set_rss_queues()
624 f = &adapter->ring_feature[RING_F_FDIR]; in ixgbe_set_rss_queues()
628 if (!(adapter->flags & IXGBE_FLAG_FDIR_PERFECT_CAPABLE)) in ixgbe_set_rss_queues()
629 adapter->flags |= IXGBE_FLAG_FDIR_HASH_CAPABLE; in ixgbe_set_rss_queues()
641 if (adapter->flags & IXGBE_FLAG_FCOE_ENABLED) { in ixgbe_set_rss_queues()
642 struct net_device *dev = adapter->netdev; in ixgbe_set_rss_queues()
645 f = &adapter->ring_feature[RING_F_FCOE]; in ixgbe_set_rss_queues()
652 if (!(adapter->flags & IXGBE_FLAG_MSIX_ENABLED)) in ixgbe_set_rss_queues()
662 adapter->num_rx_queues = rss_i; in ixgbe_set_rss_queues()
663 adapter->num_tx_queues = rss_i; in ixgbe_set_rss_queues()
679 static void ixgbe_set_num_queues(struct ixgbe_adapter *adapter) in ixgbe_set_num_queues() argument
682 adapter->num_rx_queues = 1; in ixgbe_set_num_queues()
683 adapter->num_tx_queues = 1; in ixgbe_set_num_queues()
684 adapter->num_rx_pools = adapter->num_rx_queues; in ixgbe_set_num_queues()
685 adapter->num_rx_queues_per_pool = 1; in ixgbe_set_num_queues()
688 if (ixgbe_set_dcb_sriov_queues(adapter)) in ixgbe_set_num_queues()
691 if (ixgbe_set_dcb_queues(adapter)) in ixgbe_set_num_queues()
695 if (ixgbe_set_sriov_queues(adapter)) in ixgbe_set_num_queues()
698 ixgbe_set_rss_queues(adapter); in ixgbe_set_num_queues()
709 static int ixgbe_acquire_msix_vectors(struct ixgbe_adapter *adapter) in ixgbe_acquire_msix_vectors() argument
711 struct ixgbe_hw *hw = &adapter->hw; in ixgbe_acquire_msix_vectors()
715 vectors = max(adapter->num_rx_queues, adapter->num_tx_queues); in ixgbe_acquire_msix_vectors()
740 adapter->msix_entries = kcalloc(vectors, in ixgbe_acquire_msix_vectors()
743 if (!adapter->msix_entries) in ixgbe_acquire_msix_vectors()
747 adapter->msix_entries[i].entry = i; in ixgbe_acquire_msix_vectors()
749 vectors = pci_enable_msix_range(adapter->pdev, adapter->msix_entries, in ixgbe_acquire_msix_vectors()
759 adapter->flags &= ~IXGBE_FLAG_MSIX_ENABLED; in ixgbe_acquire_msix_vectors()
760 kfree(adapter->msix_entries); in ixgbe_acquire_msix_vectors()
761 adapter->msix_entries = NULL; in ixgbe_acquire_msix_vectors()
769 adapter->flags |= IXGBE_FLAG_MSIX_ENABLED; in ixgbe_acquire_msix_vectors()
775 adapter->num_q_vectors = min_t(int, vectors, adapter->max_q_vectors); in ixgbe_acquire_msix_vectors()
800 static int ixgbe_alloc_q_vector(struct ixgbe_adapter *adapter, in ixgbe_alloc_q_vector() argument
810 u8 tcs = netdev_get_num_tc(adapter->netdev); in ixgbe_alloc_q_vector()
817 if ((tcs <= 1) && !(adapter->flags & IXGBE_FLAG_SRIOV_ENABLED)) { in ixgbe_alloc_q_vector()
818 u16 rss_i = adapter->ring_feature[RING_F_RSS].indices; in ixgbe_alloc_q_vector()
819 if (rss_i > 1 && adapter->atr_sample_rate) { in ixgbe_alloc_q_vector()
845 netif_napi_add(adapter->netdev, &q_vector->napi, in ixgbe_alloc_q_vector()
855 adapter->q_vector[v_idx] = q_vector; in ixgbe_alloc_q_vector()
856 q_vector->adapter = adapter; in ixgbe_alloc_q_vector()
860 q_vector->tx.work_limit = adapter->tx_work_limit; in ixgbe_alloc_q_vector()
868 if (adapter->tx_itr_setting == 1) in ixgbe_alloc_q_vector()
871 q_vector->itr = adapter->tx_itr_setting; in ixgbe_alloc_q_vector()
874 if (adapter->rx_itr_setting == 1) in ixgbe_alloc_q_vector()
877 q_vector->itr = adapter->rx_itr_setting; in ixgbe_alloc_q_vector()
882 ring->dev = &adapter->pdev->dev; in ixgbe_alloc_q_vector()
883 ring->netdev = adapter->netdev; in ixgbe_alloc_q_vector()
892 ring->count = adapter->tx_ring_count; in ixgbe_alloc_q_vector()
893 if (adapter->num_rx_pools > 1) in ixgbe_alloc_q_vector()
895 txr_idx % adapter->num_rx_queues_per_pool; in ixgbe_alloc_q_vector()
900 adapter->tx_ring[txr_idx] = ring; in ixgbe_alloc_q_vector()
912 ring->dev = &adapter->pdev->dev; in ixgbe_alloc_q_vector()
913 ring->netdev = adapter->netdev; in ixgbe_alloc_q_vector()
925 if (adapter->hw.mac.type == ixgbe_mac_82599EB) in ixgbe_alloc_q_vector()
929 if (adapter->netdev->features & NETIF_F_FCOE_MTU) { in ixgbe_alloc_q_vector()
931 f = &adapter->ring_feature[RING_F_FCOE]; in ixgbe_alloc_q_vector()
939 ring->count = adapter->rx_ring_count; in ixgbe_alloc_q_vector()
940 if (adapter->num_rx_pools > 1) in ixgbe_alloc_q_vector()
942 rxr_idx % adapter->num_rx_queues_per_pool; in ixgbe_alloc_q_vector()
947 adapter->rx_ring[rxr_idx] = ring; in ixgbe_alloc_q_vector()
969 static void ixgbe_free_q_vector(struct ixgbe_adapter *adapter, int v_idx) in ixgbe_free_q_vector() argument
971 struct ixgbe_q_vector *q_vector = adapter->q_vector[v_idx]; in ixgbe_free_q_vector()
975 adapter->tx_ring[ring->queue_index] = NULL; in ixgbe_free_q_vector()
978 adapter->rx_ring[ring->queue_index] = NULL; in ixgbe_free_q_vector()
980 adapter->q_vector[v_idx] = NULL; in ixgbe_free_q_vector()
998 static int ixgbe_alloc_q_vectors(struct ixgbe_adapter *adapter) in ixgbe_alloc_q_vectors() argument
1000 int q_vectors = adapter->num_q_vectors; in ixgbe_alloc_q_vectors()
1001 int rxr_remaining = adapter->num_rx_queues; in ixgbe_alloc_q_vectors()
1002 int txr_remaining = adapter->num_tx_queues; in ixgbe_alloc_q_vectors()
1007 if (!(adapter->flags & IXGBE_FLAG_MSIX_ENABLED)) in ixgbe_alloc_q_vectors()
1012 err = ixgbe_alloc_q_vector(adapter, q_vectors, v_idx, in ixgbe_alloc_q_vectors()
1027 err = ixgbe_alloc_q_vector(adapter, q_vectors, v_idx, in ixgbe_alloc_q_vectors()
1044 adapter->num_tx_queues = 0; in ixgbe_alloc_q_vectors()
1045 adapter->num_rx_queues = 0; in ixgbe_alloc_q_vectors()
1046 adapter->num_q_vectors = 0; in ixgbe_alloc_q_vectors()
1049 ixgbe_free_q_vector(adapter, v_idx); in ixgbe_alloc_q_vectors()
1062 static void ixgbe_free_q_vectors(struct ixgbe_adapter *adapter) in ixgbe_free_q_vectors() argument
1064 int v_idx = adapter->num_q_vectors; in ixgbe_free_q_vectors()
1066 adapter->num_tx_queues = 0; in ixgbe_free_q_vectors()
1067 adapter->num_rx_queues = 0; in ixgbe_free_q_vectors()
1068 adapter->num_q_vectors = 0; in ixgbe_free_q_vectors()
1071 ixgbe_free_q_vector(adapter, v_idx); in ixgbe_free_q_vectors()
1074 static void ixgbe_reset_interrupt_capability(struct ixgbe_adapter *adapter) in ixgbe_reset_interrupt_capability() argument
1076 if (adapter->flags & IXGBE_FLAG_MSIX_ENABLED) { in ixgbe_reset_interrupt_capability()
1077 adapter->flags &= ~IXGBE_FLAG_MSIX_ENABLED; in ixgbe_reset_interrupt_capability()
1078 pci_disable_msix(adapter->pdev); in ixgbe_reset_interrupt_capability()
1079 kfree(adapter->msix_entries); in ixgbe_reset_interrupt_capability()
1080 adapter->msix_entries = NULL; in ixgbe_reset_interrupt_capability()
1081 } else if (adapter->flags & IXGBE_FLAG_MSI_ENABLED) { in ixgbe_reset_interrupt_capability()
1082 adapter->flags &= ~IXGBE_FLAG_MSI_ENABLED; in ixgbe_reset_interrupt_capability()
1083 pci_disable_msi(adapter->pdev); in ixgbe_reset_interrupt_capability()
1094 static void ixgbe_set_interrupt_capability(struct ixgbe_adapter *adapter) in ixgbe_set_interrupt_capability() argument
1099 if (!ixgbe_acquire_msix_vectors(adapter)) in ixgbe_set_interrupt_capability()
1108 if (netdev_get_num_tc(adapter->netdev) > 1) { in ixgbe_set_interrupt_capability()
1110 netdev_reset_tc(adapter->netdev); in ixgbe_set_interrupt_capability()
1112 if (adapter->hw.mac.type == ixgbe_mac_82598EB) in ixgbe_set_interrupt_capability()
1113 adapter->hw.fc.requested_mode = adapter->last_lfc_mode; in ixgbe_set_interrupt_capability()
1115 adapter->flags &= ~IXGBE_FLAG_DCB_ENABLED; in ixgbe_set_interrupt_capability()
1116 adapter->temp_dcb_cfg.pfc_mode_enable = false; in ixgbe_set_interrupt_capability()
1117 adapter->dcb_cfg.pfc_mode_enable = false; in ixgbe_set_interrupt_capability()
1120 adapter->dcb_cfg.num_tcs.pg_tcs = 1; in ixgbe_set_interrupt_capability()
1121 adapter->dcb_cfg.num_tcs.pfc_tcs = 1; in ixgbe_set_interrupt_capability()
1125 ixgbe_disable_sriov(adapter); in ixgbe_set_interrupt_capability()
1129 adapter->ring_feature[RING_F_RSS].limit = 1; in ixgbe_set_interrupt_capability()
1134 ixgbe_set_num_queues(adapter); in ixgbe_set_interrupt_capability()
1135 adapter->num_q_vectors = 1; in ixgbe_set_interrupt_capability()
1137 err = pci_enable_msi(adapter->pdev); in ixgbe_set_interrupt_capability()
1142 adapter->flags |= IXGBE_FLAG_MSI_ENABLED; in ixgbe_set_interrupt_capability()
1155 int ixgbe_init_interrupt_scheme(struct ixgbe_adapter *adapter) in ixgbe_init_interrupt_scheme() argument
1160 ixgbe_set_num_queues(adapter); in ixgbe_init_interrupt_scheme()
1163 ixgbe_set_interrupt_capability(adapter); in ixgbe_init_interrupt_scheme()
1165 err = ixgbe_alloc_q_vectors(adapter); in ixgbe_init_interrupt_scheme()
1171 ixgbe_cache_ring_register(adapter); in ixgbe_init_interrupt_scheme()
1174 (adapter->num_rx_queues > 1) ? "Enabled" : "Disabled", in ixgbe_init_interrupt_scheme()
1175 adapter->num_rx_queues, adapter->num_tx_queues); in ixgbe_init_interrupt_scheme()
1177 set_bit(__IXGBE_DOWN, &adapter->state); in ixgbe_init_interrupt_scheme()
1182 ixgbe_reset_interrupt_capability(adapter); in ixgbe_init_interrupt_scheme()
1193 void ixgbe_clear_interrupt_scheme(struct ixgbe_adapter *adapter) in ixgbe_clear_interrupt_scheme() argument
1195 adapter->num_tx_queues = 0; in ixgbe_clear_interrupt_scheme()
1196 adapter->num_rx_queues = 0; in ixgbe_clear_interrupt_scheme()
1198 ixgbe_free_q_vectors(adapter); in ixgbe_clear_interrupt_scheme()
1199 ixgbe_reset_interrupt_capability(adapter); in ixgbe_clear_interrupt_scheme()