Lines Matching refs:nic_dev

499 	struct hinic_dev *nic_dev = netdev_priv(netdev);  in hinic_get_sriov_info_by_pcidev()  local
501 return &nic_dev->sriov_info; in hinic_get_sriov_info_by_pcidev()
581 struct hinic_dev *nic_dev = netdev_priv(netdev); in hinic_ndo_get_vf_config() local
584 sriov_info = &nic_dev->sriov_info; in hinic_ndo_get_vf_config()
625 struct hinic_dev *nic_dev = netdev_priv(netdev); in hinic_ndo_set_vf_mac() local
629 sriov_info = &nic_dev->sriov_info; in hinic_ndo_set_vf_mac()
637 netif_info(nic_dev, drv, netdev, "Setting MAC %pM on VF %d\n", mac, vf); in hinic_ndo_set_vf_mac()
638 netif_info(nic_dev, drv, netdev, "Reload the VF driver to make this change effective."); in hinic_ndo_set_vf_mac()
683 static int hinic_update_mac_vlan(struct hinic_dev *nic_dev, u16 old_vlan, in hinic_update_mac_vlan() argument
690 if (!nic_dev || old_vlan >= VLAN_N_VID || new_vlan >= VLAN_N_VID) in hinic_update_mac_vlan()
693 vf_info = nic_dev->hwdev->func_to_io.vf_infos + HW_VF_ID_TO_OS(vf_id); in hinic_update_mac_vlan()
701 err = hinic_port_del_mac(nic_dev, vf_info->vf_mac_addr, vlan_id); in hinic_update_mac_vlan()
703 dev_err(&nic_dev->hwdev->hwif->pdev->dev, "Failed to delete VF %d MAC %pM vlan %d\n", in hinic_update_mac_vlan()
712 err = hinic_port_add_mac(nic_dev, vf_info->vf_mac_addr, vlan_id); in hinic_update_mac_vlan()
714 dev_err(&nic_dev->hwdev->hwif->pdev->dev, "Failed to add VF %d MAC %pM vlan %d\n", in hinic_update_mac_vlan()
725 hinic_port_add_mac(nic_dev, vf_info->vf_mac_addr, vlan_id); in hinic_update_mac_vlan()
730 static int set_hw_vf_vlan(struct hinic_dev *nic_dev, in set_hw_vf_vlan() argument
738 err = hinic_kill_vf_vlan(nic_dev->hwdev, in set_hw_vf_vlan()
741 dev_err(&nic_dev->sriov_info.pdev->dev, "Failed to delete vf %d old vlan %d\n", in set_hw_vf_vlan()
746 err = hinic_add_vf_vlan(nic_dev->hwdev, in set_hw_vf_vlan()
749 dev_err(&nic_dev->sriov_info.pdev->dev, "Failed to add vf %d new vlan %d\n", in set_hw_vf_vlan()
754 err = hinic_kill_vf_vlan(nic_dev->hwdev, OS_VF_ID_TO_HW(vf)); in set_hw_vf_vlan()
756 dev_err(&nic_dev->sriov_info.pdev->dev, "Failed to delete vf %d vlan %d\n", in set_hw_vf_vlan()
762 err = hinic_update_mac_vlan(nic_dev, old_vlan, vlan, in set_hw_vf_vlan()
772 struct hinic_dev *nic_dev = netdev_priv(netdev); in hinic_ndo_set_vf_vlan() local
776 sriov_info = &nic_dev->sriov_info; in hinic_ndo_set_vf_vlan()
782 cur_vlanprio = hinic_vf_info_vlanprio(nic_dev->hwdev, in hinic_ndo_set_vf_vlan()
788 return set_hw_vf_vlan(nic_dev, cur_vlanprio, vf, vlan, qos); in hinic_ndo_set_vf_vlan()
844 struct hinic_dev *nic_dev = netdev_priv(netdev); in hinic_ndo_set_vf_bw() local
849 if (vf >= nic_dev->sriov_info.num_vfs) { in hinic_ndo_set_vf_bw()
850 netif_err(nic_dev, drv, netdev, "VF number must be less than %d\n", in hinic_ndo_set_vf_bw()
851 nic_dev->sriov_info.num_vfs); in hinic_ndo_set_vf_bw()
856 netif_err(nic_dev, drv, netdev, "Max rate %d must be greater than or equal to min rate %d\n", in hinic_ndo_set_vf_bw()
861 err = hinic_port_link_state(nic_dev, &link_state); in hinic_ndo_set_vf_bw()
863 netif_err(nic_dev, drv, netdev, in hinic_ndo_set_vf_bw()
869 netif_err(nic_dev, drv, netdev, in hinic_ndo_set_vf_bw()
874 err = hinic_port_get_cap(nic_dev, &port_cap); in hinic_ndo_set_vf_bw()
880 netif_err(nic_dev, drv, netdev, "Max tx rate must be in [0 - %d]\n", in hinic_ndo_set_vf_bw()
885 err = hinic_set_vf_tx_rate(nic_dev->hwdev, OS_VF_ID_TO_HW(vf), in hinic_ndo_set_vf_bw()
888 netif_err(nic_dev, drv, netdev, in hinic_ndo_set_vf_bw()
896 netif_info(nic_dev, drv, netdev, in hinic_ndo_set_vf_bw()
937 struct hinic_dev *nic_dev = netdev_priv(netdev); in hinic_ndo_set_vf_spoofchk() local
942 sriov_info = &nic_dev->sriov_info; in hinic_ndo_set_vf_spoofchk()
946 cur_spoofchk = nic_dev->hwdev->func_to_io.vf_infos[vf].spoofchk; in hinic_ndo_set_vf_spoofchk()
955 netif_info(nic_dev, drv, netdev, "Set VF %d spoofchk %s successfully\n", in hinic_ndo_set_vf_spoofchk()
958 netif_err(nic_dev, drv, netdev, in hinic_ndo_set_vf_spoofchk()
1002 struct hinic_dev *nic_dev = netdev_priv(netdev); in hinic_ndo_set_vf_link_state() local
1005 sriov_info = &nic_dev->sriov_info; in hinic_ndo_set_vf_link_state()
1008 netif_err(nic_dev, drv, netdev, in hinic_ndo_set_vf_link_state()
1115 static void hinic_clear_vf_infos(struct hinic_dev *nic_dev, u16 vf_id) in hinic_clear_vf_infos() argument
1119 vf_infos = nic_dev->hwdev->func_to_io.vf_infos + HW_VF_ID_TO_OS(vf_id); in hinic_clear_vf_infos()
1121 hinic_port_del_mac(nic_dev, vf_infos->vf_mac_addr, 0); in hinic_clear_vf_infos()
1123 if (hinic_vf_info_vlanprio(nic_dev->hwdev, vf_id)) in hinic_clear_vf_infos()
1124 hinic_kill_vf_vlan(nic_dev->hwdev, vf_id); in hinic_clear_vf_infos()
1127 hinic_set_vf_tx_rate(nic_dev->hwdev, vf_id, 0, 0); in hinic_clear_vf_infos()
1130 hinic_set_vf_spoofchk(nic_dev->hwdev, vf_id, false); in hinic_clear_vf_infos()
1133 hinic_set_vf_trust(nic_dev->hwdev, vf_id, false); in hinic_clear_vf_infos()
1137 hinic_init_vf_infos(&nic_dev->hwdev->func_to_io, HW_VF_ID_TO_OS(vf_id)); in hinic_clear_vf_infos()
1143 struct hinic_dev *nic_dev; in hinic_deinit_vf_hw() local
1146 nic_dev = container_of(sriov_info, struct hinic_dev, sriov_info); in hinic_deinit_vf_hw()
1149 func_idx = hinic_glb_pf_vf_offset(nic_dev->hwdev->hwif) + idx; in hinic_deinit_vf_hw()
1150 hinic_set_wq_page_size(nic_dev->hwdev, func_idx, in hinic_deinit_vf_hw()
1152 hinic_clear_vf_infos(nic_dev, idx); in hinic_deinit_vf_hw()