Lines Matching refs:nic_dev

500 	struct hinic_dev *nic_dev = netdev_priv(netdev);  in hinic_get_sriov_info_by_pcidev()  local
502 return &nic_dev->sriov_info; in hinic_get_sriov_info_by_pcidev()
582 struct hinic_dev *nic_dev = netdev_priv(netdev); in hinic_ndo_get_vf_config() local
585 sriov_info = &nic_dev->sriov_info; in hinic_ndo_get_vf_config()
626 struct hinic_dev *nic_dev = netdev_priv(netdev); in hinic_ndo_set_vf_mac() local
630 sriov_info = &nic_dev->sriov_info; in hinic_ndo_set_vf_mac()
638 netif_info(nic_dev, drv, netdev, "Setting MAC %pM on VF %d\n", mac, vf); in hinic_ndo_set_vf_mac()
639 netif_info(nic_dev, drv, netdev, "Reload the VF driver to make this change effective."); in hinic_ndo_set_vf_mac()
684 static int hinic_update_mac_vlan(struct hinic_dev *nic_dev, u16 old_vlan, in hinic_update_mac_vlan() argument
691 if (!nic_dev || old_vlan >= VLAN_N_VID || new_vlan >= VLAN_N_VID) in hinic_update_mac_vlan()
694 vf_info = nic_dev->hwdev->func_to_io.vf_infos + HW_VF_ID_TO_OS(vf_id); in hinic_update_mac_vlan()
702 err = hinic_port_del_mac(nic_dev, vf_info->vf_mac_addr, vlan_id); in hinic_update_mac_vlan()
704 dev_err(&nic_dev->hwdev->hwif->pdev->dev, "Failed to delete VF %d MAC %pM vlan %d\n", in hinic_update_mac_vlan()
713 err = hinic_port_add_mac(nic_dev, vf_info->vf_mac_addr, vlan_id); in hinic_update_mac_vlan()
715 dev_err(&nic_dev->hwdev->hwif->pdev->dev, "Failed to add VF %d MAC %pM vlan %d\n", in hinic_update_mac_vlan()
726 hinic_port_add_mac(nic_dev, vf_info->vf_mac_addr, vlan_id); in hinic_update_mac_vlan()
731 static int set_hw_vf_vlan(struct hinic_dev *nic_dev, in set_hw_vf_vlan() argument
739 err = hinic_kill_vf_vlan(nic_dev->hwdev, in set_hw_vf_vlan()
742 dev_err(&nic_dev->sriov_info.pdev->dev, "Failed to delete vf %d old vlan %d\n", in set_hw_vf_vlan()
747 err = hinic_add_vf_vlan(nic_dev->hwdev, in set_hw_vf_vlan()
750 dev_err(&nic_dev->sriov_info.pdev->dev, "Failed to add vf %d new vlan %d\n", in set_hw_vf_vlan()
755 err = hinic_kill_vf_vlan(nic_dev->hwdev, OS_VF_ID_TO_HW(vf)); in set_hw_vf_vlan()
757 dev_err(&nic_dev->sriov_info.pdev->dev, "Failed to delete vf %d vlan %d\n", in set_hw_vf_vlan()
763 err = hinic_update_mac_vlan(nic_dev, old_vlan, vlan, in set_hw_vf_vlan()
773 struct hinic_dev *nic_dev = netdev_priv(netdev); in hinic_ndo_set_vf_vlan() local
777 sriov_info = &nic_dev->sriov_info; in hinic_ndo_set_vf_vlan()
783 cur_vlanprio = hinic_vf_info_vlanprio(nic_dev->hwdev, in hinic_ndo_set_vf_vlan()
789 return set_hw_vf_vlan(nic_dev, cur_vlanprio, vf, vlan, qos); in hinic_ndo_set_vf_vlan()
845 struct hinic_dev *nic_dev = netdev_priv(netdev); in hinic_ndo_set_vf_bw() local
850 if (vf >= nic_dev->sriov_info.num_vfs) { in hinic_ndo_set_vf_bw()
851 netif_err(nic_dev, drv, netdev, "VF number must be less than %d\n", in hinic_ndo_set_vf_bw()
852 nic_dev->sriov_info.num_vfs); in hinic_ndo_set_vf_bw()
856 err = hinic_port_link_state(nic_dev, &link_state); in hinic_ndo_set_vf_bw()
858 netif_err(nic_dev, drv, netdev, in hinic_ndo_set_vf_bw()
864 netif_err(nic_dev, drv, netdev, in hinic_ndo_set_vf_bw()
869 err = hinic_port_get_cap(nic_dev, &port_cap); in hinic_ndo_set_vf_bw()
875 netif_err(nic_dev, drv, netdev, "Max tx rate must be in [0 - %d]\n", in hinic_ndo_set_vf_bw()
880 err = hinic_set_vf_tx_rate(nic_dev->hwdev, OS_VF_ID_TO_HW(vf), in hinic_ndo_set_vf_bw()
883 netif_err(nic_dev, drv, netdev, in hinic_ndo_set_vf_bw()
891 netif_info(nic_dev, drv, netdev, in hinic_ndo_set_vf_bw()
932 struct hinic_dev *nic_dev = netdev_priv(netdev); in hinic_ndo_set_vf_spoofchk() local
937 sriov_info = &nic_dev->sriov_info; in hinic_ndo_set_vf_spoofchk()
941 cur_spoofchk = nic_dev->hwdev->func_to_io.vf_infos[vf].spoofchk; in hinic_ndo_set_vf_spoofchk()
950 netif_info(nic_dev, drv, netdev, "Set VF %d spoofchk %s successfully\n", in hinic_ndo_set_vf_spoofchk()
953 netif_err(nic_dev, drv, netdev, in hinic_ndo_set_vf_spoofchk()
997 struct hinic_dev *nic_dev = netdev_priv(netdev); in hinic_ndo_set_vf_link_state() local
1000 sriov_info = &nic_dev->sriov_info; in hinic_ndo_set_vf_link_state()
1003 netif_err(nic_dev, drv, netdev, in hinic_ndo_set_vf_link_state()
1110 static void hinic_clear_vf_infos(struct hinic_dev *nic_dev, u16 vf_id) in hinic_clear_vf_infos() argument
1114 vf_infos = nic_dev->hwdev->func_to_io.vf_infos + HW_VF_ID_TO_OS(vf_id); in hinic_clear_vf_infos()
1116 hinic_port_del_mac(nic_dev, vf_infos->vf_mac_addr, 0); in hinic_clear_vf_infos()
1118 if (hinic_vf_info_vlanprio(nic_dev->hwdev, vf_id)) in hinic_clear_vf_infos()
1119 hinic_kill_vf_vlan(nic_dev->hwdev, vf_id); in hinic_clear_vf_infos()
1122 hinic_set_vf_tx_rate(nic_dev->hwdev, vf_id, 0, 0); in hinic_clear_vf_infos()
1125 hinic_set_vf_spoofchk(nic_dev->hwdev, vf_id, false); in hinic_clear_vf_infos()
1128 hinic_set_vf_trust(nic_dev->hwdev, vf_id, false); in hinic_clear_vf_infos()
1132 hinic_init_vf_infos(&nic_dev->hwdev->func_to_io, HW_VF_ID_TO_OS(vf_id)); in hinic_clear_vf_infos()
1138 struct hinic_dev *nic_dev; in hinic_deinit_vf_hw() local
1141 nic_dev = container_of(sriov_info, struct hinic_dev, sriov_info); in hinic_deinit_vf_hw()
1144 func_idx = hinic_glb_pf_vf_offset(nic_dev->hwdev->hwif) + idx; in hinic_deinit_vf_hw()
1145 hinic_set_wq_page_size(nic_dev->hwdev, func_idx, in hinic_deinit_vf_hw()
1147 hinic_clear_vf_infos(nic_dev, idx); in hinic_deinit_vf_hw()