• Home
  • Raw
  • Download

Lines Matching refs:nic_dev

498 	struct hinic_dev *nic_dev = netdev_priv(netdev);  in hinic_get_sriov_info_by_pcidev()  local
500 return &nic_dev->sriov_info; in hinic_get_sriov_info_by_pcidev()
580 struct hinic_dev *nic_dev = netdev_priv(netdev); in hinic_ndo_get_vf_config() local
583 sriov_info = &nic_dev->sriov_info; in hinic_ndo_get_vf_config()
624 struct hinic_dev *nic_dev = netdev_priv(netdev); in hinic_ndo_set_vf_mac() local
628 sriov_info = &nic_dev->sriov_info; in hinic_ndo_set_vf_mac()
636 netif_info(nic_dev, drv, netdev, "Setting MAC %pM on VF %d\n", mac, vf); in hinic_ndo_set_vf_mac()
637 netif_info(nic_dev, drv, netdev, "Reload the VF driver to make this change effective."); in hinic_ndo_set_vf_mac()
682 static int hinic_update_mac_vlan(struct hinic_dev *nic_dev, u16 old_vlan, in hinic_update_mac_vlan() argument
689 if (!nic_dev || old_vlan >= VLAN_N_VID || new_vlan >= VLAN_N_VID) in hinic_update_mac_vlan()
692 vf_info = nic_dev->hwdev->func_to_io.vf_infos + HW_VF_ID_TO_OS(vf_id); in hinic_update_mac_vlan()
700 err = hinic_port_del_mac(nic_dev, vf_info->vf_mac_addr, vlan_id); in hinic_update_mac_vlan()
702 dev_err(&nic_dev->hwdev->hwif->pdev->dev, "Failed to delete VF %d MAC %pM vlan %d\n", in hinic_update_mac_vlan()
711 err = hinic_port_add_mac(nic_dev, vf_info->vf_mac_addr, vlan_id); in hinic_update_mac_vlan()
713 dev_err(&nic_dev->hwdev->hwif->pdev->dev, "Failed to add VF %d MAC %pM vlan %d\n", in hinic_update_mac_vlan()
724 hinic_port_add_mac(nic_dev, vf_info->vf_mac_addr, vlan_id); in hinic_update_mac_vlan()
729 static int set_hw_vf_vlan(struct hinic_dev *nic_dev, in set_hw_vf_vlan() argument
737 err = hinic_kill_vf_vlan(nic_dev->hwdev, in set_hw_vf_vlan()
740 dev_err(&nic_dev->sriov_info.pdev->dev, "Failed to delete vf %d old vlan %d\n", in set_hw_vf_vlan()
745 err = hinic_add_vf_vlan(nic_dev->hwdev, in set_hw_vf_vlan()
748 dev_err(&nic_dev->sriov_info.pdev->dev, "Failed to add vf %d new vlan %d\n", in set_hw_vf_vlan()
753 err = hinic_kill_vf_vlan(nic_dev->hwdev, OS_VF_ID_TO_HW(vf)); in set_hw_vf_vlan()
755 dev_err(&nic_dev->sriov_info.pdev->dev, "Failed to delete vf %d vlan %d\n", in set_hw_vf_vlan()
761 err = hinic_update_mac_vlan(nic_dev, old_vlan, vlan, in set_hw_vf_vlan()
771 struct hinic_dev *nic_dev = netdev_priv(netdev); in hinic_ndo_set_vf_vlan() local
775 sriov_info = &nic_dev->sriov_info; in hinic_ndo_set_vf_vlan()
781 cur_vlanprio = hinic_vf_info_vlanprio(nic_dev->hwdev, in hinic_ndo_set_vf_vlan()
787 return set_hw_vf_vlan(nic_dev, cur_vlanprio, vf, vlan, qos); in hinic_ndo_set_vf_vlan()
843 struct hinic_dev *nic_dev = netdev_priv(netdev); in hinic_ndo_set_vf_bw() local
848 if (vf >= nic_dev->sriov_info.num_vfs) { in hinic_ndo_set_vf_bw()
849 netif_err(nic_dev, drv, netdev, "VF number must be less than %d\n", in hinic_ndo_set_vf_bw()
850 nic_dev->sriov_info.num_vfs); in hinic_ndo_set_vf_bw()
855 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()
860 err = hinic_port_link_state(nic_dev, &link_state); in hinic_ndo_set_vf_bw()
862 netif_err(nic_dev, drv, netdev, in hinic_ndo_set_vf_bw()
868 netif_err(nic_dev, drv, netdev, in hinic_ndo_set_vf_bw()
873 err = hinic_port_get_cap(nic_dev, &port_cap); in hinic_ndo_set_vf_bw()
879 netif_err(nic_dev, drv, netdev, "Max tx rate must be in [0 - %d]\n", in hinic_ndo_set_vf_bw()
884 err = hinic_set_vf_tx_rate(nic_dev->hwdev, OS_VF_ID_TO_HW(vf), in hinic_ndo_set_vf_bw()
887 netif_err(nic_dev, drv, netdev, in hinic_ndo_set_vf_bw()
895 netif_info(nic_dev, drv, netdev, in hinic_ndo_set_vf_bw()
936 struct hinic_dev *nic_dev = netdev_priv(netdev); in hinic_ndo_set_vf_spoofchk() local
941 sriov_info = &nic_dev->sriov_info; in hinic_ndo_set_vf_spoofchk()
945 cur_spoofchk = nic_dev->hwdev->func_to_io.vf_infos[vf].spoofchk; in hinic_ndo_set_vf_spoofchk()
954 netif_info(nic_dev, drv, netdev, "Set VF %d spoofchk %s successfully\n", in hinic_ndo_set_vf_spoofchk()
957 netif_err(nic_dev, drv, netdev, in hinic_ndo_set_vf_spoofchk()
1001 struct hinic_dev *nic_dev = netdev_priv(netdev); in hinic_ndo_set_vf_link_state() local
1004 sriov_info = &nic_dev->sriov_info; in hinic_ndo_set_vf_link_state()
1007 netif_err(nic_dev, drv, netdev, in hinic_ndo_set_vf_link_state()
1114 static void hinic_clear_vf_infos(struct hinic_dev *nic_dev, u16 vf_id) in hinic_clear_vf_infos() argument
1118 vf_infos = nic_dev->hwdev->func_to_io.vf_infos + HW_VF_ID_TO_OS(vf_id); in hinic_clear_vf_infos()
1120 hinic_port_del_mac(nic_dev, vf_infos->vf_mac_addr, 0); in hinic_clear_vf_infos()
1122 if (hinic_vf_info_vlanprio(nic_dev->hwdev, vf_id)) in hinic_clear_vf_infos()
1123 hinic_kill_vf_vlan(nic_dev->hwdev, vf_id); in hinic_clear_vf_infos()
1126 hinic_set_vf_tx_rate(nic_dev->hwdev, vf_id, 0, 0); in hinic_clear_vf_infos()
1129 hinic_set_vf_spoofchk(nic_dev->hwdev, vf_id, false); in hinic_clear_vf_infos()
1132 hinic_set_vf_trust(nic_dev->hwdev, vf_id, false); in hinic_clear_vf_infos()
1136 hinic_init_vf_infos(&nic_dev->hwdev->func_to_io, HW_VF_ID_TO_OS(vf_id)); in hinic_clear_vf_infos()
1142 struct hinic_dev *nic_dev; in hinic_deinit_vf_hw() local
1145 nic_dev = container_of(sriov_info, struct hinic_dev, sriov_info); in hinic_deinit_vf_hw()
1148 func_idx = hinic_glb_pf_vf_offset(nic_dev->hwdev->hwif) + idx; in hinic_deinit_vf_hw()
1149 hinic_set_wq_page_size(nic_dev->hwdev, func_idx, in hinic_deinit_vf_hw()
1151 hinic_clear_vf_infos(nic_dev, idx); in hinic_deinit_vf_hw()