Lines Matching full:app
18 nfp_net_sriov_check(struct nfp_app *app, int vf, u16 cap, const char *msg) in nfp_net_sriov_check() argument
22 if (!app || !app->pf->vfcfg_tbl2) in nfp_net_sriov_check()
25 cap_vf = readw(app->pf->vfcfg_tbl2 + NFP_NET_VF_CFG_MB_CAP); in nfp_net_sriov_check()
27 nfp_warn(app->pf->cpp, "ndo_set_vf_%s not supported\n", msg); in nfp_net_sriov_check()
31 if (vf < 0 || vf >= app->pf->num_vfs) { in nfp_net_sriov_check()
32 nfp_warn(app->pf->cpp, "invalid VF id %d\n", vf); in nfp_net_sriov_check()
40 nfp_net_sriov_update(struct nfp_app *app, int vf, u16 update, const char *msg) in nfp_net_sriov_update() argument
46 writeb(vf, app->pf->vfcfg_tbl2 + NFP_NET_VF_CFG_MB_VF_NUM); in nfp_net_sriov_update()
47 writew(update, app->pf->vfcfg_tbl2 + NFP_NET_VF_CFG_MB_UPD); in nfp_net_sriov_update()
49 nn = list_first_entry(&app->pf->vnics, struct nfp_net, vnic_list); in nfp_net_sriov_update()
55 ret = readw(app->pf->vfcfg_tbl2 + NFP_NET_VF_CFG_MB_RET); in nfp_net_sriov_update()
57 nfp_warn(app->pf->cpp, in nfp_net_sriov_update()
64 struct nfp_app *app = nfp_app_from_netdev(netdev); in nfp_app_set_vf_mac() local
68 err = nfp_net_sriov_check(app, vf, NFP_NET_VF_CFG_MB_CAP_MAC, "mac"); in nfp_app_set_vf_mac()
73 nfp_warn(app->pf->cpp, in nfp_app_set_vf_mac()
81 writel(get_unaligned_be32(mac), app->pf->vfcfg_tbl2 + vf_offset); in nfp_app_set_vf_mac()
83 app->pf->vfcfg_tbl2 + vf_offset + NFP_NET_VF_CFG_MAC_LO); in nfp_app_set_vf_mac()
85 err = nfp_net_sriov_update(app, vf, NFP_NET_VF_CFG_MB_UPD_MAC, "MAC"); in nfp_app_set_vf_mac()
87 nfp_info(app->pf->cpp, in nfp_app_set_vf_mac()
97 struct nfp_app *app = nfp_app_from_netdev(netdev); in nfp_app_set_vf_vlan() local
102 err = nfp_net_sriov_check(app, vf, NFP_NET_VF_CFG_MB_CAP_VLAN, "vlan"); in nfp_app_set_vf_vlan()
110 nfp_warn(app->pf->cpp, in nfp_app_set_vf_vlan()
119 writew(vlan_tci, app->pf->vfcfg_tbl2 + vf_offset + NFP_NET_VF_CFG_VLAN); in nfp_app_set_vf_vlan()
121 return nfp_net_sriov_update(app, vf, NFP_NET_VF_CFG_MB_UPD_VLAN, in nfp_app_set_vf_vlan()
127 struct nfp_app *app = nfp_app_from_netdev(netdev); in nfp_app_set_vf_spoofchk() local
132 err = nfp_net_sriov_check(app, vf, NFP_NET_VF_CFG_MB_CAP_SPOOF, in nfp_app_set_vf_spoofchk()
140 vf_ctrl = readb(app->pf->vfcfg_tbl2 + vf_offset); in nfp_app_set_vf_spoofchk()
143 writeb(vf_ctrl, app->pf->vfcfg_tbl2 + vf_offset); in nfp_app_set_vf_spoofchk()
145 return nfp_net_sriov_update(app, vf, NFP_NET_VF_CFG_MB_UPD_SPOOF, in nfp_app_set_vf_spoofchk()
151 struct nfp_app *app = nfp_app_from_netdev(netdev); in nfp_app_set_vf_trust() local
156 err = nfp_net_sriov_check(app, vf, NFP_NET_VF_CFG_MB_CAP_TRUST, in nfp_app_set_vf_trust()
164 vf_ctrl = readb(app->pf->vfcfg_tbl2 + vf_offset); in nfp_app_set_vf_trust()
167 writeb(vf_ctrl, app->pf->vfcfg_tbl2 + vf_offset); in nfp_app_set_vf_trust()
169 return nfp_net_sriov_update(app, vf, NFP_NET_VF_CFG_MB_UPD_TRUST, in nfp_app_set_vf_trust()
176 struct nfp_app *app = nfp_app_from_netdev(netdev); in nfp_app_set_vf_link_state() local
181 err = nfp_net_sriov_check(app, vf, NFP_NET_VF_CFG_MB_CAP_LINK_STATE, in nfp_app_set_vf_link_state()
198 vf_ctrl = readb(app->pf->vfcfg_tbl2 + vf_offset); in nfp_app_set_vf_link_state()
201 writeb(vf_ctrl, app->pf->vfcfg_tbl2 + vf_offset); in nfp_app_set_vf_link_state()
203 return nfp_net_sriov_update(app, vf, NFP_NET_VF_CFG_MB_UPD_LINK_STATE, in nfp_app_set_vf_link_state()
210 struct nfp_app *app = nfp_app_from_netdev(netdev); in nfp_app_get_vf_config() local
218 err = nfp_net_sriov_check(app, vf, 0, ""); in nfp_app_get_vf_config()
224 mac_hi = readl(app->pf->vfcfg_tbl2 + vf_offset); in nfp_app_get_vf_config()
225 mac_lo = readw(app->pf->vfcfg_tbl2 + vf_offset + NFP_NET_VF_CFG_MAC_LO); in nfp_app_get_vf_config()
227 flags = readb(app->pf->vfcfg_tbl2 + vf_offset + NFP_NET_VF_CFG_CTRL); in nfp_app_get_vf_config()
228 vlan_tci = readw(app->pf->vfcfg_tbl2 + vf_offset + NFP_NET_VF_CFG_VLAN); in nfp_app_get_vf_config()