Lines Matching full:adapter

14  * @adapter: adapter structure
21 static int iavf_send_pf_msg(struct iavf_adapter *adapter, in iavf_send_pf_msg() argument
24 struct iavf_hw *hw = &adapter->hw; in iavf_send_pf_msg()
27 if (adapter->flags & IAVF_FLAG_PF_COMMS_FAILED) in iavf_send_pf_msg()
32 dev_dbg(&adapter->pdev->dev, "Unable to send opcode %d to PF, err %s, aq_err %s\n", in iavf_send_pf_msg()
40 * @adapter: adapter structure
46 int iavf_send_api_ver(struct iavf_adapter *adapter) in iavf_send_api_ver() argument
53 return iavf_send_pf_msg(adapter, VIRTCHNL_OP_VERSION, (u8 *)&vvi, in iavf_send_api_ver()
59 * @adapter: adapter structure
66 int iavf_verify_api_ver(struct iavf_adapter *adapter) in iavf_verify_api_ver() argument
69 struct iavf_hw *hw = &adapter->hw; in iavf_verify_api_ver()
100 dev_info(&adapter->pdev->dev, "Invalid reply type %d from PF\n", in iavf_verify_api_ver()
107 adapter->pf_version = *pf_vvi; in iavf_verify_api_ver()
122 * @adapter: adapter structure
128 int iavf_send_vf_config_msg(struct iavf_adapter *adapter) in iavf_send_vf_config_msg() argument
148 adapter->current_op = VIRTCHNL_OP_GET_VF_RESOURCES; in iavf_send_vf_config_msg()
149 adapter->aq_required &= ~IAVF_FLAG_AQ_GET_CONFIG; in iavf_send_vf_config_msg()
150 if (PF_IS_V11(adapter)) in iavf_send_vf_config_msg()
151 return iavf_send_pf_msg(adapter, VIRTCHNL_OP_GET_VF_RESOURCES, in iavf_send_vf_config_msg()
154 return iavf_send_pf_msg(adapter, VIRTCHNL_OP_GET_VF_RESOURCES, in iavf_send_vf_config_msg()
160 * @adapter: adapter structure
165 static void iavf_validate_num_queues(struct iavf_adapter *adapter) in iavf_validate_num_queues() argument
167 if (adapter->vf_res->num_queue_pairs > IAVF_MAX_REQ_QUEUES) { in iavf_validate_num_queues()
171 dev_info(&adapter->pdev->dev, "Received %d queues, but can only have a max of %d\n", in iavf_validate_num_queues()
172 adapter->vf_res->num_queue_pairs, in iavf_validate_num_queues()
174 dev_info(&adapter->pdev->dev, "Fixing by reducing queues to %d\n", in iavf_validate_num_queues()
176 adapter->vf_res->num_queue_pairs = IAVF_MAX_REQ_QUEUES; in iavf_validate_num_queues()
177 for (i = 0; i < adapter->vf_res->num_vsis; i++) { in iavf_validate_num_queues()
178 vsi_res = &adapter->vf_res->vsi_res[i]; in iavf_validate_num_queues()
186 * @adapter: private adapter structure
193 int iavf_get_vf_config(struct iavf_adapter *adapter) in iavf_get_vf_config() argument
195 struct iavf_hw *hw = &adapter->hw; in iavf_get_vf_config()
224 memcpy(adapter->vf_res, event.msg_buf, min(event.msg_len, len)); in iavf_get_vf_config()
230 iavf_validate_num_queues(adapter); in iavf_get_vf_config()
231 iavf_vf_parse_hw_config(hw, adapter->vf_res); in iavf_get_vf_config()
240 * @adapter: adapter structure
244 void iavf_configure_queues(struct iavf_adapter *adapter) in iavf_configure_queues() argument
248 int pairs = adapter->num_active_queues; in iavf_configure_queues()
252 if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) { in iavf_configure_queues()
254 dev_err(&adapter->pdev->dev, "Cannot configure queues, command %d pending\n", in iavf_configure_queues()
255 adapter->current_op); in iavf_configure_queues()
258 adapter->current_op = VIRTCHNL_OP_CONFIG_VSI_QUEUES; in iavf_configure_queues()
265 if (!(adapter->flags & IAVF_FLAG_LEGACY_RX) && in iavf_configure_queues()
266 (adapter->netdev->mtu <= ETH_DATA_LEN)) in iavf_configure_queues()
269 vqci->vsi_id = adapter->vsi_res->vsi_id; in iavf_configure_queues()
278 vqpi->txq.ring_len = adapter->tx_rings[i].count; in iavf_configure_queues()
279 vqpi->txq.dma_ring_addr = adapter->tx_rings[i].dma; in iavf_configure_queues()
282 vqpi->rxq.ring_len = adapter->rx_rings[i].count; in iavf_configure_queues()
283 vqpi->rxq.dma_ring_addr = adapter->rx_rings[i].dma; in iavf_configure_queues()
286 ALIGN(adapter->rx_rings[i].rx_buf_len, in iavf_configure_queues()
291 adapter->aq_required &= ~IAVF_FLAG_AQ_CONFIGURE_QUEUES; in iavf_configure_queues()
292 iavf_send_pf_msg(adapter, VIRTCHNL_OP_CONFIG_VSI_QUEUES, in iavf_configure_queues()
299 * @adapter: adapter structure
303 void iavf_enable_queues(struct iavf_adapter *adapter) in iavf_enable_queues() argument
307 if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) { in iavf_enable_queues()
309 dev_err(&adapter->pdev->dev, "Cannot enable queues, command %d pending\n", in iavf_enable_queues()
310 adapter->current_op); in iavf_enable_queues()
313 adapter->current_op = VIRTCHNL_OP_ENABLE_QUEUES; in iavf_enable_queues()
314 vqs.vsi_id = adapter->vsi_res->vsi_id; in iavf_enable_queues()
315 vqs.tx_queues = BIT(adapter->num_active_queues) - 1; in iavf_enable_queues()
317 adapter->aq_required &= ~IAVF_FLAG_AQ_ENABLE_QUEUES; in iavf_enable_queues()
318 iavf_send_pf_msg(adapter, VIRTCHNL_OP_ENABLE_QUEUES, in iavf_enable_queues()
324 * @adapter: adapter structure
328 void iavf_disable_queues(struct iavf_adapter *adapter) in iavf_disable_queues() argument
332 if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) { in iavf_disable_queues()
334 dev_err(&adapter->pdev->dev, "Cannot disable queues, command %d pending\n", in iavf_disable_queues()
335 adapter->current_op); in iavf_disable_queues()
338 adapter->current_op = VIRTCHNL_OP_DISABLE_QUEUES; in iavf_disable_queues()
339 vqs.vsi_id = adapter->vsi_res->vsi_id; in iavf_disable_queues()
340 vqs.tx_queues = BIT(adapter->num_active_queues) - 1; in iavf_disable_queues()
342 adapter->aq_required &= ~IAVF_FLAG_AQ_DISABLE_QUEUES; in iavf_disable_queues()
343 iavf_send_pf_msg(adapter, VIRTCHNL_OP_DISABLE_QUEUES, in iavf_disable_queues()
349 * @adapter: adapter structure
354 void iavf_map_queues(struct iavf_adapter *adapter) in iavf_map_queues() argument
362 if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) { in iavf_map_queues()
364 dev_err(&adapter->pdev->dev, "Cannot map queues to vectors, command %d pending\n", in iavf_map_queues()
365 adapter->current_op); in iavf_map_queues()
368 adapter->current_op = VIRTCHNL_OP_CONFIG_IRQ_MAP; in iavf_map_queues()
370 q_vectors = adapter->num_msix_vectors - NONQ_VECS; in iavf_map_queues()
372 len = struct_size(vimi, vecmap, adapter->num_msix_vectors); in iavf_map_queues()
377 vimi->num_vectors = adapter->num_msix_vectors; in iavf_map_queues()
380 q_vector = &adapter->q_vectors[v_idx]; in iavf_map_queues()
383 vecmap->vsi_id = adapter->vsi_res->vsi_id; in iavf_map_queues()
392 vecmap->vsi_id = adapter->vsi_res->vsi_id; in iavf_map_queues()
397 adapter->aq_required &= ~IAVF_FLAG_AQ_MAP_VECTORS; in iavf_map_queues()
398 iavf_send_pf_msg(adapter, VIRTCHNL_OP_CONFIG_IRQ_MAP, in iavf_map_queues()
405 * @adapter: adapter structure
409 void iavf_add_ether_addrs(struct iavf_adapter *adapter) in iavf_add_ether_addrs() argument
417 if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) { in iavf_add_ether_addrs()
419 dev_err(&adapter->pdev->dev, "Cannot add filters, command %d pending\n", in iavf_add_ether_addrs()
420 adapter->current_op); in iavf_add_ether_addrs()
424 spin_lock_bh(&adapter->mac_vlan_list_lock); in iavf_add_ether_addrs()
426 list_for_each_entry(f, &adapter->mac_filter_list, list) { in iavf_add_ether_addrs()
431 adapter->aq_required &= ~IAVF_FLAG_AQ_ADD_MAC_FILTER; in iavf_add_ether_addrs()
432 spin_unlock_bh(&adapter->mac_vlan_list_lock); in iavf_add_ether_addrs()
435 adapter->current_op = VIRTCHNL_OP_ADD_ETH_ADDR; in iavf_add_ether_addrs()
439 dev_warn(&adapter->pdev->dev, "Too many add MAC changes in one request\n"); in iavf_add_ether_addrs()
449 spin_unlock_bh(&adapter->mac_vlan_list_lock); in iavf_add_ether_addrs()
453 veal->vsi_id = adapter->vsi_res->vsi_id; in iavf_add_ether_addrs()
455 list_for_each_entry(f, &adapter->mac_filter_list, list) { in iavf_add_ether_addrs()
465 adapter->aq_required &= ~IAVF_FLAG_AQ_ADD_MAC_FILTER; in iavf_add_ether_addrs()
467 spin_unlock_bh(&adapter->mac_vlan_list_lock); in iavf_add_ether_addrs()
469 iavf_send_pf_msg(adapter, VIRTCHNL_OP_ADD_ETH_ADDR, (u8 *)veal, len); in iavf_add_ether_addrs()
475 * @adapter: adapter structure
479 void iavf_del_ether_addrs(struct iavf_adapter *adapter) in iavf_del_ether_addrs() argument
487 if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) { in iavf_del_ether_addrs()
489 dev_err(&adapter->pdev->dev, "Cannot remove filters, command %d pending\n", in iavf_del_ether_addrs()
490 adapter->current_op); in iavf_del_ether_addrs()
494 spin_lock_bh(&adapter->mac_vlan_list_lock); in iavf_del_ether_addrs()
496 list_for_each_entry(f, &adapter->mac_filter_list, list) { in iavf_del_ether_addrs()
501 adapter->aq_required &= ~IAVF_FLAG_AQ_DEL_MAC_FILTER; in iavf_del_ether_addrs()
502 spin_unlock_bh(&adapter->mac_vlan_list_lock); in iavf_del_ether_addrs()
505 adapter->current_op = VIRTCHNL_OP_DEL_ETH_ADDR; in iavf_del_ether_addrs()
509 dev_warn(&adapter->pdev->dev, "Too many delete MAC changes in one request\n"); in iavf_del_ether_addrs()
518 spin_unlock_bh(&adapter->mac_vlan_list_lock); in iavf_del_ether_addrs()
522 veal->vsi_id = adapter->vsi_res->vsi_id; in iavf_del_ether_addrs()
524 list_for_each_entry_safe(f, ftmp, &adapter->mac_filter_list, list) { in iavf_del_ether_addrs()
535 adapter->aq_required &= ~IAVF_FLAG_AQ_DEL_MAC_FILTER; in iavf_del_ether_addrs()
537 spin_unlock_bh(&adapter->mac_vlan_list_lock); in iavf_del_ether_addrs()
539 iavf_send_pf_msg(adapter, VIRTCHNL_OP_DEL_ETH_ADDR, (u8 *)veal, len); in iavf_del_ether_addrs()
545 * @adapter: adapter structure
549 static void iavf_mac_add_ok(struct iavf_adapter *adapter) in iavf_mac_add_ok() argument
553 spin_lock_bh(&adapter->mac_vlan_list_lock); in iavf_mac_add_ok()
554 list_for_each_entry_safe(f, ftmp, &adapter->mac_filter_list, list) { in iavf_mac_add_ok()
557 spin_unlock_bh(&adapter->mac_vlan_list_lock); in iavf_mac_add_ok()
562 * @adapter: adapter structure
566 static void iavf_mac_add_reject(struct iavf_adapter *adapter) in iavf_mac_add_reject() argument
568 struct net_device *netdev = adapter->netdev; in iavf_mac_add_reject()
571 spin_lock_bh(&adapter->mac_vlan_list_lock); in iavf_mac_add_reject()
572 list_for_each_entry_safe(f, ftmp, &adapter->mac_filter_list, list) { in iavf_mac_add_reject()
581 spin_unlock_bh(&adapter->mac_vlan_list_lock); in iavf_mac_add_reject()
586 * @adapter: adapter structure
590 void iavf_add_vlans(struct iavf_adapter *adapter) in iavf_add_vlans() argument
597 if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) { in iavf_add_vlans()
599 dev_err(&adapter->pdev->dev, "Cannot add VLANs, command %d pending\n", in iavf_add_vlans()
600 adapter->current_op); in iavf_add_vlans()
604 spin_lock_bh(&adapter->mac_vlan_list_lock); in iavf_add_vlans()
606 list_for_each_entry(f, &adapter->vlan_filter_list, list) { in iavf_add_vlans()
611 adapter->aq_required &= ~IAVF_FLAG_AQ_ADD_VLAN_FILTER; in iavf_add_vlans()
612 spin_unlock_bh(&adapter->mac_vlan_list_lock); in iavf_add_vlans()
615 adapter->current_op = VIRTCHNL_OP_ADD_VLAN; in iavf_add_vlans()
620 dev_warn(&adapter->pdev->dev, "Too many add VLAN changes in one request\n"); in iavf_add_vlans()
630 spin_unlock_bh(&adapter->mac_vlan_list_lock); in iavf_add_vlans()
634 vvfl->vsi_id = adapter->vsi_res->vsi_id; in iavf_add_vlans()
636 list_for_each_entry(f, &adapter->vlan_filter_list, list) { in iavf_add_vlans()
646 adapter->aq_required &= ~IAVF_FLAG_AQ_ADD_VLAN_FILTER; in iavf_add_vlans()
648 spin_unlock_bh(&adapter->mac_vlan_list_lock); in iavf_add_vlans()
650 iavf_send_pf_msg(adapter, VIRTCHNL_OP_ADD_VLAN, (u8 *)vvfl, len); in iavf_add_vlans()
656 * @adapter: adapter structure
660 void iavf_del_vlans(struct iavf_adapter *adapter) in iavf_del_vlans() argument
667 if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) { in iavf_del_vlans()
669 dev_err(&adapter->pdev->dev, "Cannot remove VLANs, command %d pending\n", in iavf_del_vlans()
670 adapter->current_op); in iavf_del_vlans()
674 spin_lock_bh(&adapter->mac_vlan_list_lock); in iavf_del_vlans()
676 list_for_each_entry(f, &adapter->vlan_filter_list, list) { in iavf_del_vlans()
681 adapter->aq_required &= ~IAVF_FLAG_AQ_DEL_VLAN_FILTER; in iavf_del_vlans()
682 spin_unlock_bh(&adapter->mac_vlan_list_lock); in iavf_del_vlans()
685 adapter->current_op = VIRTCHNL_OP_DEL_VLAN; in iavf_del_vlans()
690 dev_warn(&adapter->pdev->dev, "Too many delete VLAN changes in one request\n"); in iavf_del_vlans()
700 spin_unlock_bh(&adapter->mac_vlan_list_lock); in iavf_del_vlans()
704 vvfl->vsi_id = adapter->vsi_res->vsi_id; in iavf_del_vlans()
706 list_for_each_entry_safe(f, ftmp, &adapter->vlan_filter_list, list) { in iavf_del_vlans()
717 adapter->aq_required &= ~IAVF_FLAG_AQ_DEL_VLAN_FILTER; in iavf_del_vlans()
719 spin_unlock_bh(&adapter->mac_vlan_list_lock); in iavf_del_vlans()
721 iavf_send_pf_msg(adapter, VIRTCHNL_OP_DEL_VLAN, (u8 *)vvfl, len); in iavf_del_vlans()
727 * @adapter: adapter structure
732 void iavf_set_promiscuous(struct iavf_adapter *adapter, int flags) in iavf_set_promiscuous() argument
737 if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) { in iavf_set_promiscuous()
739 dev_err(&adapter->pdev->dev, "Cannot set promiscuous mode, command %d pending\n", in iavf_set_promiscuous()
740 adapter->current_op); in iavf_set_promiscuous()
747 adapter->flags |= IAVF_FLAG_PROMISC_ON; in iavf_set_promiscuous()
748 adapter->aq_required &= ~IAVF_FLAG_AQ_REQUEST_PROMISC; in iavf_set_promiscuous()
749 dev_info(&adapter->pdev->dev, "Entering promiscuous mode\n"); in iavf_set_promiscuous()
753 adapter->flags |= IAVF_FLAG_ALLMULTI_ON; in iavf_set_promiscuous()
754 adapter->aq_required &= ~IAVF_FLAG_AQ_REQUEST_ALLMULTI; in iavf_set_promiscuous()
755 dev_info(&adapter->pdev->dev, "Entering multicast promiscuous mode\n"); in iavf_set_promiscuous()
759 adapter->flags &= ~(IAVF_FLAG_PROMISC_ON | in iavf_set_promiscuous()
761 adapter->aq_required &= ~(IAVF_FLAG_AQ_RELEASE_PROMISC | in iavf_set_promiscuous()
763 dev_info(&adapter->pdev->dev, "Leaving promiscuous mode\n"); in iavf_set_promiscuous()
766 adapter->current_op = VIRTCHNL_OP_CONFIG_PROMISCUOUS_MODE; in iavf_set_promiscuous()
767 vpi.vsi_id = adapter->vsi_res->vsi_id; in iavf_set_promiscuous()
769 iavf_send_pf_msg(adapter, VIRTCHNL_OP_CONFIG_PROMISCUOUS_MODE, in iavf_set_promiscuous()
775 * @adapter: adapter structure
779 void iavf_request_stats(struct iavf_adapter *adapter) in iavf_request_stats() argument
783 if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) { in iavf_request_stats()
787 adapter->current_op = VIRTCHNL_OP_GET_STATS; in iavf_request_stats()
788 vqs.vsi_id = adapter->vsi_res->vsi_id; in iavf_request_stats()
790 if (iavf_send_pf_msg(adapter, VIRTCHNL_OP_GET_STATS, (u8 *)&vqs, in iavf_request_stats()
793 adapter->current_op = VIRTCHNL_OP_UNKNOWN; in iavf_request_stats()
798 * @adapter: adapter structure
802 void iavf_get_hena(struct iavf_adapter *adapter) in iavf_get_hena() argument
804 if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) { in iavf_get_hena()
806 dev_err(&adapter->pdev->dev, "Cannot get RSS hash capabilities, command %d pending\n", in iavf_get_hena()
807 adapter->current_op); in iavf_get_hena()
810 adapter->current_op = VIRTCHNL_OP_GET_RSS_HENA_CAPS; in iavf_get_hena()
811 adapter->aq_required &= ~IAVF_FLAG_AQ_GET_HENA; in iavf_get_hena()
812 iavf_send_pf_msg(adapter, VIRTCHNL_OP_GET_RSS_HENA_CAPS, NULL, 0); in iavf_get_hena()
817 * @adapter: adapter structure
821 void iavf_set_hena(struct iavf_adapter *adapter) in iavf_set_hena() argument
825 if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) { in iavf_set_hena()
827 dev_err(&adapter->pdev->dev, "Cannot set RSS hash enable, command %d pending\n", in iavf_set_hena()
828 adapter->current_op); in iavf_set_hena()
831 vrh.hena = adapter->hena; in iavf_set_hena()
832 adapter->current_op = VIRTCHNL_OP_SET_RSS_HENA; in iavf_set_hena()
833 adapter->aq_required &= ~IAVF_FLAG_AQ_SET_HENA; in iavf_set_hena()
834 iavf_send_pf_msg(adapter, VIRTCHNL_OP_SET_RSS_HENA, (u8 *)&vrh, in iavf_set_hena()
840 * @adapter: adapter structure
844 void iavf_set_rss_key(struct iavf_adapter *adapter) in iavf_set_rss_key() argument
849 if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) { in iavf_set_rss_key()
851 dev_err(&adapter->pdev->dev, "Cannot set RSS key, command %d pending\n", in iavf_set_rss_key()
852 adapter->current_op); in iavf_set_rss_key()
856 (adapter->rss_key_size * sizeof(u8)) - 1; in iavf_set_rss_key()
860 vrk->vsi_id = adapter->vsi.id; in iavf_set_rss_key()
861 vrk->key_len = adapter->rss_key_size; in iavf_set_rss_key()
862 memcpy(vrk->key, adapter->rss_key, adapter->rss_key_size); in iavf_set_rss_key()
864 adapter->current_op = VIRTCHNL_OP_CONFIG_RSS_KEY; in iavf_set_rss_key()
865 adapter->aq_required &= ~IAVF_FLAG_AQ_SET_RSS_KEY; in iavf_set_rss_key()
866 iavf_send_pf_msg(adapter, VIRTCHNL_OP_CONFIG_RSS_KEY, (u8 *)vrk, len); in iavf_set_rss_key()
872 * @adapter: adapter structure
876 void iavf_set_rss_lut(struct iavf_adapter *adapter) in iavf_set_rss_lut() argument
881 if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) { in iavf_set_rss_lut()
883 dev_err(&adapter->pdev->dev, "Cannot set RSS LUT, command %d pending\n", in iavf_set_rss_lut()
884 adapter->current_op); in iavf_set_rss_lut()
888 (adapter->rss_lut_size * sizeof(u8)) - 1; in iavf_set_rss_lut()
892 vrl->vsi_id = adapter->vsi.id; in iavf_set_rss_lut()
893 vrl->lut_entries = adapter->rss_lut_size; in iavf_set_rss_lut()
894 memcpy(vrl->lut, adapter->rss_lut, adapter->rss_lut_size); in iavf_set_rss_lut()
895 adapter->current_op = VIRTCHNL_OP_CONFIG_RSS_LUT; in iavf_set_rss_lut()
896 adapter->aq_required &= ~IAVF_FLAG_AQ_SET_RSS_LUT; in iavf_set_rss_lut()
897 iavf_send_pf_msg(adapter, VIRTCHNL_OP_CONFIG_RSS_LUT, (u8 *)vrl, len); in iavf_set_rss_lut()
903 * @adapter: adapter structure
907 void iavf_enable_vlan_stripping(struct iavf_adapter *adapter) in iavf_enable_vlan_stripping() argument
909 if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) { in iavf_enable_vlan_stripping()
911 dev_err(&adapter->pdev->dev, "Cannot enable stripping, command %d pending\n", in iavf_enable_vlan_stripping()
912 adapter->current_op); in iavf_enable_vlan_stripping()
915 adapter->current_op = VIRTCHNL_OP_ENABLE_VLAN_STRIPPING; in iavf_enable_vlan_stripping()
916 adapter->aq_required &= ~IAVF_FLAG_AQ_ENABLE_VLAN_STRIPPING; in iavf_enable_vlan_stripping()
917 iavf_send_pf_msg(adapter, VIRTCHNL_OP_ENABLE_VLAN_STRIPPING, NULL, 0); in iavf_enable_vlan_stripping()
922 * @adapter: adapter structure
926 void iavf_disable_vlan_stripping(struct iavf_adapter *adapter) in iavf_disable_vlan_stripping() argument
928 if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) { in iavf_disable_vlan_stripping()
930 dev_err(&adapter->pdev->dev, "Cannot disable stripping, command %d pending\n", in iavf_disable_vlan_stripping()
931 adapter->current_op); in iavf_disable_vlan_stripping()
934 adapter->current_op = VIRTCHNL_OP_DISABLE_VLAN_STRIPPING; in iavf_disable_vlan_stripping()
935 adapter->aq_required &= ~IAVF_FLAG_AQ_DISABLE_VLAN_STRIPPING; in iavf_disable_vlan_stripping()
936 iavf_send_pf_msg(adapter, VIRTCHNL_OP_DISABLE_VLAN_STRIPPING, NULL, 0); in iavf_disable_vlan_stripping()
943 * @adapter: adapter structure
947 static void iavf_print_link_message(struct iavf_adapter *adapter) in iavf_print_link_message() argument
949 struct net_device *netdev = adapter->netdev; in iavf_print_link_message()
953 if (!adapter->link_up) { in iavf_print_link_message()
962 if (ADV_LINK_SUPPORT(adapter)) { in iavf_print_link_message()
963 link_speed_mbps = adapter->link_speed_mbps; in iavf_print_link_message()
967 switch (adapter->link_speed) { in iavf_print_link_message()
1018 * @adapter: adapter structure
1024 iavf_get_vpe_link_status(struct iavf_adapter *adapter, in iavf_get_vpe_link_status() argument
1027 if (ADV_LINK_SUPPORT(adapter)) in iavf_get_vpe_link_status()
1035 * @adapter: adapter structure for which we are setting the link speed
1041 iavf_set_adapter_link_speed_from_vpe(struct iavf_adapter *adapter, in iavf_set_adapter_link_speed_from_vpe() argument
1044 if (ADV_LINK_SUPPORT(adapter)) in iavf_set_adapter_link_speed_from_vpe()
1045 adapter->link_speed_mbps = in iavf_set_adapter_link_speed_from_vpe()
1048 adapter->link_speed = vpe->event_data.link_event.link_speed; in iavf_set_adapter_link_speed_from_vpe()
1053 * @adapter: adapter structure
1058 void iavf_enable_channels(struct iavf_adapter *adapter) in iavf_enable_channels() argument
1064 if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) { in iavf_enable_channels()
1066 dev_err(&adapter->pdev->dev, "Cannot configure mqprio, command %d pending\n", in iavf_enable_channels()
1067 adapter->current_op); in iavf_enable_channels()
1071 len = struct_size(vti, list, adapter->num_tc - 1); in iavf_enable_channels()
1075 vti->num_tc = adapter->num_tc; in iavf_enable_channels()
1077 vti->list[i].count = adapter->ch_config.ch_info[i].count; in iavf_enable_channels()
1078 vti->list[i].offset = adapter->ch_config.ch_info[i].offset; in iavf_enable_channels()
1081 adapter->ch_config.ch_info[i].max_tx_rate; in iavf_enable_channels()
1084 adapter->ch_config.state = __IAVF_TC_RUNNING; in iavf_enable_channels()
1085 adapter->flags |= IAVF_FLAG_REINIT_ITR_NEEDED; in iavf_enable_channels()
1086 adapter->current_op = VIRTCHNL_OP_ENABLE_CHANNELS; in iavf_enable_channels()
1087 adapter->aq_required &= ~IAVF_FLAG_AQ_ENABLE_CHANNELS; in iavf_enable_channels()
1088 iavf_send_pf_msg(adapter, VIRTCHNL_OP_ENABLE_CHANNELS, (u8 *)vti, len); in iavf_enable_channels()
1094 * @adapter: adapter structure
1098 void iavf_disable_channels(struct iavf_adapter *adapter) in iavf_disable_channels() argument
1100 if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) { in iavf_disable_channels()
1102 dev_err(&adapter->pdev->dev, "Cannot configure mqprio, command %d pending\n", in iavf_disable_channels()
1103 adapter->current_op); in iavf_disable_channels()
1107 adapter->ch_config.state = __IAVF_TC_INVALID; in iavf_disable_channels()
1108 adapter->flags |= IAVF_FLAG_REINIT_ITR_NEEDED; in iavf_disable_channels()
1109 adapter->current_op = VIRTCHNL_OP_DISABLE_CHANNELS; in iavf_disable_channels()
1110 adapter->aq_required &= ~IAVF_FLAG_AQ_DISABLE_CHANNELS; in iavf_disable_channels()
1111 iavf_send_pf_msg(adapter, VIRTCHNL_OP_DISABLE_CHANNELS, NULL, 0); in iavf_disable_channels()
1116 * @adapter: adapter structure
1121 static void iavf_print_cloud_filter(struct iavf_adapter *adapter, in iavf_print_cloud_filter() argument
1126 …dev_info(&adapter->pdev->dev, "dst_mac: %pM src_mac: %pM vlan_id: %hu dst_ip: %pI4 src_ip %pI4 dst… in iavf_print_cloud_filter()
1136 …dev_info(&adapter->pdev->dev, "dst_mac: %pM src_mac: %pM vlan_id: %hu dst_ip: %pI6 src_ip %pI6 dst… in iavf_print_cloud_filter()
1150 * @adapter: adapter structure
1155 void iavf_add_cloud_filter(struct iavf_adapter *adapter) in iavf_add_cloud_filter() argument
1161 if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) { in iavf_add_cloud_filter()
1163 dev_err(&adapter->pdev->dev, "Cannot add cloud filter, command %d pending\n", in iavf_add_cloud_filter()
1164 adapter->current_op); in iavf_add_cloud_filter()
1167 list_for_each_entry(cf, &adapter->cloud_filter_list, list) { in iavf_add_cloud_filter()
1174 adapter->aq_required &= ~IAVF_FLAG_AQ_ADD_CLOUD_FILTER; in iavf_add_cloud_filter()
1177 adapter->current_op = VIRTCHNL_OP_ADD_CLOUD_FILTER; in iavf_add_cloud_filter()
1184 list_for_each_entry(cf, &adapter->cloud_filter_list, list) { in iavf_add_cloud_filter()
1189 iavf_send_pf_msg(adapter, VIRTCHNL_OP_ADD_CLOUD_FILTER, in iavf_add_cloud_filter()
1198 * @adapter: adapter structure
1203 void iavf_del_cloud_filter(struct iavf_adapter *adapter) in iavf_del_cloud_filter() argument
1209 if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) { in iavf_del_cloud_filter()
1211 dev_err(&adapter->pdev->dev, "Cannot remove cloud filter, command %d pending\n", in iavf_del_cloud_filter()
1212 adapter->current_op); in iavf_del_cloud_filter()
1215 list_for_each_entry(cf, &adapter->cloud_filter_list, list) { in iavf_del_cloud_filter()
1222 adapter->aq_required &= ~IAVF_FLAG_AQ_DEL_CLOUD_FILTER; in iavf_del_cloud_filter()
1225 adapter->current_op = VIRTCHNL_OP_DEL_CLOUD_FILTER; in iavf_del_cloud_filter()
1232 list_for_each_entry_safe(cf, cftmp, &adapter->cloud_filter_list, list) { in iavf_del_cloud_filter()
1237 iavf_send_pf_msg(adapter, VIRTCHNL_OP_DEL_CLOUD_FILTER, in iavf_del_cloud_filter()
1246 * @adapter: the VF adapter structure
1251 void iavf_add_fdir_filter(struct iavf_adapter *adapter) in iavf_add_fdir_filter() argument
1258 if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) { in iavf_add_fdir_filter()
1260 dev_err(&adapter->pdev->dev, "Cannot add Flow Director filter, command %d pending\n", in iavf_add_fdir_filter()
1261 adapter->current_op); in iavf_add_fdir_filter()
1270 spin_lock_bh(&adapter->fdir_fltr_lock); in iavf_add_fdir_filter()
1271 list_for_each_entry(fdir, &adapter->fdir_list_head, list) { in iavf_add_fdir_filter()
1279 spin_unlock_bh(&adapter->fdir_fltr_lock); in iavf_add_fdir_filter()
1285 adapter->aq_required &= ~IAVF_FLAG_AQ_ADD_FDIR_FILTER; in iavf_add_fdir_filter()
1289 adapter->current_op = VIRTCHNL_OP_ADD_FDIR_FILTER; in iavf_add_fdir_filter()
1290 iavf_send_pf_msg(adapter, VIRTCHNL_OP_ADD_FDIR_FILTER, (u8 *)f, len); in iavf_add_fdir_filter()
1296 * @adapter: the VF adapter structure
1301 void iavf_del_fdir_filter(struct iavf_adapter *adapter) in iavf_del_fdir_filter() argument
1308 if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) { in iavf_del_fdir_filter()
1310 dev_err(&adapter->pdev->dev, "Cannot remove Flow Director filter, command %d pending\n", in iavf_del_fdir_filter()
1311 adapter->current_op); in iavf_del_fdir_filter()
1317 spin_lock_bh(&adapter->fdir_fltr_lock); in iavf_del_fdir_filter()
1318 list_for_each_entry(fdir, &adapter->fdir_list_head, list) { in iavf_del_fdir_filter()
1328 spin_unlock_bh(&adapter->fdir_fltr_lock); in iavf_del_fdir_filter()
1331 adapter->aq_required &= ~IAVF_FLAG_AQ_DEL_FDIR_FILTER; in iavf_del_fdir_filter()
1335 adapter->current_op = VIRTCHNL_OP_DEL_FDIR_FILTER; in iavf_del_fdir_filter()
1336 iavf_send_pf_msg(adapter, VIRTCHNL_OP_DEL_FDIR_FILTER, (u8 *)&f, len); in iavf_del_fdir_filter()
1341 * @adapter: the VF adapter structure
1346 void iavf_add_adv_rss_cfg(struct iavf_adapter *adapter) in iavf_add_adv_rss_cfg() argument
1353 if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) { in iavf_add_adv_rss_cfg()
1355 dev_err(&adapter->pdev->dev, "Cannot add RSS configuration, command %d pending\n", in iavf_add_adv_rss_cfg()
1356 adapter->current_op); in iavf_add_adv_rss_cfg()
1365 spin_lock_bh(&adapter->adv_rss_lock); in iavf_add_adv_rss_cfg()
1366 list_for_each_entry(rss, &adapter->adv_rss_list_head, list) { in iavf_add_adv_rss_cfg()
1371 iavf_print_adv_rss_cfg(adapter, rss, in iavf_add_adv_rss_cfg()
1377 spin_unlock_bh(&adapter->adv_rss_lock); in iavf_add_adv_rss_cfg()
1380 adapter->current_op = VIRTCHNL_OP_ADD_RSS_CFG; in iavf_add_adv_rss_cfg()
1381 iavf_send_pf_msg(adapter, VIRTCHNL_OP_ADD_RSS_CFG, in iavf_add_adv_rss_cfg()
1384 adapter->aq_required &= ~IAVF_FLAG_AQ_ADD_ADV_RSS_CFG; in iavf_add_adv_rss_cfg()
1392 * @adapter: the VF adapter structure
1397 void iavf_del_adv_rss_cfg(struct iavf_adapter *adapter) in iavf_del_adv_rss_cfg() argument
1404 if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) { in iavf_del_adv_rss_cfg()
1406 dev_err(&adapter->pdev->dev, "Cannot remove RSS configuration, command %d pending\n", in iavf_del_adv_rss_cfg()
1407 adapter->current_op); in iavf_del_adv_rss_cfg()
1416 spin_lock_bh(&adapter->adv_rss_lock); in iavf_del_adv_rss_cfg()
1417 list_for_each_entry(rss, &adapter->adv_rss_list_head, list) { in iavf_del_adv_rss_cfg()
1425 spin_unlock_bh(&adapter->adv_rss_lock); in iavf_del_adv_rss_cfg()
1428 adapter->current_op = VIRTCHNL_OP_DEL_RSS_CFG; in iavf_del_adv_rss_cfg()
1429 iavf_send_pf_msg(adapter, VIRTCHNL_OP_DEL_RSS_CFG, in iavf_del_adv_rss_cfg()
1432 adapter->aq_required &= ~IAVF_FLAG_AQ_DEL_ADV_RSS_CFG; in iavf_del_adv_rss_cfg()
1440 * @adapter: adapter structure
1444 void iavf_request_reset(struct iavf_adapter *adapter) in iavf_request_reset() argument
1447 iavf_send_pf_msg(adapter, VIRTCHNL_OP_RESET_VF, NULL, 0); in iavf_request_reset()
1448 adapter->current_op = VIRTCHNL_OP_UNKNOWN; in iavf_request_reset()
1453 * @adapter: adapter structure
1463 void iavf_virtchnl_completion(struct iavf_adapter *adapter, in iavf_virtchnl_completion() argument
1467 struct net_device *netdev = adapter->netdev; in iavf_virtchnl_completion()
1472 bool link_up = iavf_get_vpe_link_status(adapter, vpe); in iavf_virtchnl_completion()
1476 iavf_set_adapter_link_speed_from_vpe(adapter, vpe); in iavf_virtchnl_completion()
1479 if (adapter->link_up == link_up) in iavf_virtchnl_completion()
1490 if (adapter->state != __IAVF_RUNNING) in iavf_virtchnl_completion()
1497 if (adapter->flags & in iavf_virtchnl_completion()
1502 adapter->link_up = link_up; in iavf_virtchnl_completion()
1510 iavf_print_link_message(adapter); in iavf_virtchnl_completion()
1513 dev_info(&adapter->pdev->dev, "Reset warning received from the PF\n"); in iavf_virtchnl_completion()
1514 if (!(adapter->flags & IAVF_FLAG_RESET_PENDING)) { in iavf_virtchnl_completion()
1515 adapter->flags |= IAVF_FLAG_RESET_PENDING; in iavf_virtchnl_completion()
1516 dev_info(&adapter->pdev->dev, "Scheduling reset task\n"); in iavf_virtchnl_completion()
1517 queue_work(iavf_wq, &adapter->reset_task); in iavf_virtchnl_completion()
1521 dev_err(&adapter->pdev->dev, "Unknown event %d from PF\n", in iavf_virtchnl_completion()
1530 dev_err(&adapter->pdev->dev, "Failed to add VLAN filter, error %s\n", in iavf_virtchnl_completion()
1531 iavf_stat_str(&adapter->hw, v_retval)); in iavf_virtchnl_completion()
1534 dev_err(&adapter->pdev->dev, "Failed to add MAC filter, error %s\n", in iavf_virtchnl_completion()
1535 iavf_stat_str(&adapter->hw, v_retval)); in iavf_virtchnl_completion()
1536 iavf_mac_add_reject(adapter); in iavf_virtchnl_completion()
1538 ether_addr_copy(adapter->hw.mac.addr, netdev->dev_addr); in iavf_virtchnl_completion()
1541 dev_err(&adapter->pdev->dev, "Failed to delete VLAN filter, error %s\n", in iavf_virtchnl_completion()
1542 iavf_stat_str(&adapter->hw, v_retval)); in iavf_virtchnl_completion()
1545 dev_err(&adapter->pdev->dev, "Failed to delete MAC filter, error %s\n", in iavf_virtchnl_completion()
1546 iavf_stat_str(&adapter->hw, v_retval)); in iavf_virtchnl_completion()
1549 dev_err(&adapter->pdev->dev, "Failed to configure queue channels, error %s\n", in iavf_virtchnl_completion()
1550 iavf_stat_str(&adapter->hw, v_retval)); in iavf_virtchnl_completion()
1551 adapter->flags &= ~IAVF_FLAG_REINIT_ITR_NEEDED; in iavf_virtchnl_completion()
1552 adapter->ch_config.state = __IAVF_TC_INVALID; in iavf_virtchnl_completion()
1557 dev_err(&adapter->pdev->dev, "Failed to disable queue channels, error %s\n", in iavf_virtchnl_completion()
1558 iavf_stat_str(&adapter->hw, v_retval)); in iavf_virtchnl_completion()
1559 adapter->flags &= ~IAVF_FLAG_REINIT_ITR_NEEDED; in iavf_virtchnl_completion()
1560 adapter->ch_config.state = __IAVF_TC_RUNNING; in iavf_virtchnl_completion()
1567 &adapter->cloud_filter_list, in iavf_virtchnl_completion()
1571 dev_info(&adapter->pdev->dev, "Failed to add cloud filter, error %s\n", in iavf_virtchnl_completion()
1572 iavf_stat_str(&adapter->hw, in iavf_virtchnl_completion()
1574 iavf_print_cloud_filter(adapter, in iavf_virtchnl_completion()
1578 adapter->num_cloud_filters--; in iavf_virtchnl_completion()
1586 list_for_each_entry(cf, &adapter->cloud_filter_list, in iavf_virtchnl_completion()
1590 dev_info(&adapter->pdev->dev, "Failed to del cloud filter, error %s\n", in iavf_virtchnl_completion()
1591 iavf_stat_str(&adapter->hw, in iavf_virtchnl_completion()
1593 iavf_print_cloud_filter(adapter, in iavf_virtchnl_completion()
1602 spin_lock_bh(&adapter->fdir_fltr_lock); in iavf_virtchnl_completion()
1604 &adapter->fdir_list_head, in iavf_virtchnl_completion()
1607 dev_info(&adapter->pdev->dev, "Failed to add Flow Director filter, error %s\n", in iavf_virtchnl_completion()
1608 iavf_stat_str(&adapter->hw, in iavf_virtchnl_completion()
1610 iavf_print_fdir_fltr(adapter, fdir); in iavf_virtchnl_completion()
1612 dev_err(&adapter->pdev->dev, in iavf_virtchnl_completion()
1616 adapter->fdir_active_fltr--; in iavf_virtchnl_completion()
1619 spin_unlock_bh(&adapter->fdir_fltr_lock); in iavf_virtchnl_completion()
1625 spin_lock_bh(&adapter->fdir_fltr_lock); in iavf_virtchnl_completion()
1626 list_for_each_entry(fdir, &adapter->fdir_list_head, in iavf_virtchnl_completion()
1630 dev_info(&adapter->pdev->dev, "Failed to del Flow Director filter, error %s\n", in iavf_virtchnl_completion()
1631 iavf_stat_str(&adapter->hw, in iavf_virtchnl_completion()
1633 iavf_print_fdir_fltr(adapter, fdir); in iavf_virtchnl_completion()
1636 spin_unlock_bh(&adapter->fdir_fltr_lock); in iavf_virtchnl_completion()
1642 spin_lock_bh(&adapter->adv_rss_lock); in iavf_virtchnl_completion()
1644 &adapter->adv_rss_list_head, in iavf_virtchnl_completion()
1647 iavf_print_adv_rss_cfg(adapter, rss, in iavf_virtchnl_completion()
1654 spin_unlock_bh(&adapter->adv_rss_lock); in iavf_virtchnl_completion()
1660 spin_lock_bh(&adapter->adv_rss_lock); in iavf_virtchnl_completion()
1661 list_for_each_entry(rss, &adapter->adv_rss_list_head, in iavf_virtchnl_completion()
1665 dev_err(&adapter->pdev->dev, "Failed to delete RSS configuration, error %s\n", in iavf_virtchnl_completion()
1666 iavf_stat_str(&adapter->hw, in iavf_virtchnl_completion()
1670 spin_unlock_bh(&adapter->adv_rss_lock); in iavf_virtchnl_completion()
1675 …dev_warn(&adapter->pdev->dev, "Changing VLAN Stripping is not allowed when Port VLAN is configured… in iavf_virtchnl_completion()
1678 dev_err(&adapter->pdev->dev, "PF returned error %d (%s) to our request %d\n", in iavf_virtchnl_completion()
1679 v_retval, iavf_stat_str(&adapter->hw, v_retval), in iavf_virtchnl_completion()
1686 iavf_mac_add_ok(adapter); in iavf_virtchnl_completion()
1687 if (!ether_addr_equal(netdev->dev_addr, adapter->hw.mac.addr)) in iavf_virtchnl_completion()
1688 ether_addr_copy(netdev->dev_addr, adapter->hw.mac.addr); in iavf_virtchnl_completion()
1704 adapter->current_stats = *stats; in iavf_virtchnl_completion()
1711 memcpy(adapter->vf_res, msg, min(msglen, len)); in iavf_virtchnl_completion()
1712 iavf_validate_num_queues(adapter); in iavf_virtchnl_completion()
1713 iavf_vf_parse_hw_config(&adapter->hw, adapter->vf_res); in iavf_virtchnl_completion()
1714 if (is_zero_ether_addr(adapter->hw.mac.addr)) { in iavf_virtchnl_completion()
1716 ether_addr_copy(adapter->hw.mac.addr, netdev->dev_addr); in iavf_virtchnl_completion()
1719 ether_addr_copy(netdev->dev_addr, adapter->hw.mac.addr); in iavf_virtchnl_completion()
1721 adapter->hw.mac.addr); in iavf_virtchnl_completion()
1723 spin_lock_bh(&adapter->mac_vlan_list_lock); in iavf_virtchnl_completion()
1724 iavf_add_filter(adapter, adapter->hw.mac.addr); in iavf_virtchnl_completion()
1725 spin_unlock_bh(&adapter->mac_vlan_list_lock); in iavf_virtchnl_completion()
1726 iavf_process_config(adapter); in iavf_virtchnl_completion()
1731 iavf_irq_enable(adapter, true); in iavf_virtchnl_completion()
1732 adapter->flags &= ~IAVF_FLAG_QUEUES_DISABLED; in iavf_virtchnl_completion()
1735 iavf_free_all_tx_resources(adapter); in iavf_virtchnl_completion()
1736 iavf_free_all_rx_resources(adapter); in iavf_virtchnl_completion()
1737 if (adapter->state == __IAVF_DOWN_PENDING) { in iavf_virtchnl_completion()
1738 adapter->state = __IAVF_DOWN; in iavf_virtchnl_completion()
1739 wake_up(&adapter->down_waitqueue); in iavf_virtchnl_completion()
1748 if (v_opcode != adapter->current_op) in iavf_virtchnl_completion()
1756 if (msglen && CLIENT_ENABLED(adapter)) in iavf_virtchnl_completion()
1757 iavf_notify_client_message(&adapter->vsi, msg, msglen); in iavf_virtchnl_completion()
1761 adapter->client_pending &= in iavf_virtchnl_completion()
1768 adapter->hena = vrh->hena; in iavf_virtchnl_completion()
1770 dev_warn(&adapter->pdev->dev, in iavf_virtchnl_completion()
1778 if (vfres->num_queue_pairs != adapter->num_req_queues) { in iavf_virtchnl_completion()
1779 dev_info(&adapter->pdev->dev, in iavf_virtchnl_completion()
1781 adapter->num_req_queues, in iavf_virtchnl_completion()
1783 adapter->num_req_queues = 0; in iavf_virtchnl_completion()
1784 adapter->flags &= ~IAVF_FLAG_REINIT_ITR_NEEDED; in iavf_virtchnl_completion()
1791 list_for_each_entry(cf, &adapter->cloud_filter_list, list) { in iavf_virtchnl_completion()
1800 list_for_each_entry_safe(cf, cftmp, &adapter->cloud_filter_list, in iavf_virtchnl_completion()
1806 adapter->num_cloud_filters--; in iavf_virtchnl_completion()
1815 spin_lock_bh(&adapter->fdir_fltr_lock); in iavf_virtchnl_completion()
1817 &adapter->fdir_list_head, in iavf_virtchnl_completion()
1821 dev_info(&adapter->pdev->dev, "Flow Director filter with location %u is added\n", in iavf_virtchnl_completion()
1826 dev_info(&adapter->pdev->dev, "Failed to add Flow Director filter with status: %d\n", in iavf_virtchnl_completion()
1828 iavf_print_fdir_fltr(adapter, fdir); in iavf_virtchnl_completion()
1831 adapter->fdir_active_fltr--; in iavf_virtchnl_completion()
1835 spin_unlock_bh(&adapter->fdir_fltr_lock); in iavf_virtchnl_completion()
1842 spin_lock_bh(&adapter->fdir_fltr_lock); in iavf_virtchnl_completion()
1843 list_for_each_entry_safe(fdir, fdir_tmp, &adapter->fdir_list_head, in iavf_virtchnl_completion()
1847 dev_info(&adapter->pdev->dev, "Flow Director filter with location %u is deleted\n", in iavf_virtchnl_completion()
1851 adapter->fdir_active_fltr--; in iavf_virtchnl_completion()
1854 dev_info(&adapter->pdev->dev, "Failed to delete Flow Director filter with status: %d\n", in iavf_virtchnl_completion()
1856 iavf_print_fdir_fltr(adapter, fdir); in iavf_virtchnl_completion()
1860 spin_unlock_bh(&adapter->fdir_fltr_lock); in iavf_virtchnl_completion()
1866 spin_lock_bh(&adapter->adv_rss_lock); in iavf_virtchnl_completion()
1867 list_for_each_entry(rss, &adapter->adv_rss_list_head, list) { in iavf_virtchnl_completion()
1869 iavf_print_adv_rss_cfg(adapter, rss, in iavf_virtchnl_completion()
1875 spin_unlock_bh(&adapter->adv_rss_lock); in iavf_virtchnl_completion()
1881 spin_lock_bh(&adapter->adv_rss_lock); in iavf_virtchnl_completion()
1883 &adapter->adv_rss_list_head, list) { in iavf_virtchnl_completion()
1889 spin_unlock_bh(&adapter->adv_rss_lock); in iavf_virtchnl_completion()
1893 if (adapter->current_op && (v_opcode != adapter->current_op)) in iavf_virtchnl_completion()
1894 dev_warn(&adapter->pdev->dev, "Expected response %d from PF, received %d\n", in iavf_virtchnl_completion()
1895 adapter->current_op, v_opcode); in iavf_virtchnl_completion()
1898 adapter->current_op = VIRTCHNL_OP_UNKNOWN; in iavf_virtchnl_completion()