Lines Matching full:app

30 nfp_abm_setup_tc(struct nfp_app *app, struct net_device *netdev,  in nfp_abm_setup_tc()  argument
57 nfp_abm_repr_get(struct nfp_app *app, u32 port_id, bool *redir_egress) in nfp_abm_repr_get() argument
66 reprs = rcu_dereference(app->reprs[rtype]); in nfp_abm_repr_get()
77 nfp_abm_spawn_repr(struct nfp_app *app, struct nfp_abm_link *alink, in nfp_abm_spawn_repr() argument
96 netdev = nfp_repr_alloc_mqs(app, txqs, 1); in nfp_abm_spawn_repr()
102 port = nfp_port_alloc(app, ptype, netdev); in nfp_abm_spawn_repr()
110 err = nfp_port_init_phy_port(app->pf, app, port, alink->id); in nfp_abm_spawn_repr()
115 port->pf_split = app->pf->max_data_vnics > 1; in nfp_abm_spawn_repr()
123 err = nfp_repr_init(app, netdev, nfp_abm_portid(rtype, alink->id), in nfp_abm_spawn_repr()
128 reprs = nfp_reprs_get_locked(app, rtype); in nfp_abm_spawn_repr()
129 WARN(nfp_repr_get_locked(app, reprs, alink->id), "duplicate repr"); in nfp_abm_spawn_repr()
134 nfp_info(app->cpp, "%s Port %d Representor(%s) created\n", in nfp_abm_spawn_repr()
148 nfp_abm_kill_repr(struct nfp_app *app, struct nfp_abm_link *alink, in nfp_abm_kill_repr() argument
154 reprs = nfp_reprs_get_locked(app, rtype); in nfp_abm_kill_repr()
155 netdev = nfp_repr_get_locked(app, reprs, alink->id); in nfp_abm_kill_repr()
169 nfp_abm_kill_repr(abm->app, alink, NFP_REPR_TYPE_PF); in nfp_abm_kill_reprs()
170 nfp_abm_kill_repr(abm->app, alink, NFP_REPR_TYPE_PHYS_PORT); in nfp_abm_kill_reprs()
175 struct nfp_pf *pf = abm->app->pf; in nfp_abm_kill_reprs_all()
182 static enum devlink_eswitch_mode nfp_abm_eswitch_mode_get(struct nfp_app *app) in nfp_abm_eswitch_mode_get() argument
184 struct nfp_abm *abm = app->priv; in nfp_abm_eswitch_mode_get()
206 struct nfp_app *app = abm->app; in nfp_abm_eswitch_set_switchdev() local
207 struct nfp_pf *pf = app->pf; in nfp_abm_eswitch_set_switchdev()
221 err = nfp_abm_spawn_repr(app, alink, NFP_PORT_PHYS_PORT); in nfp_abm_eswitch_set_switchdev()
225 err = nfp_abm_spawn_repr(app, alink, NFP_PORT_PF_PORT); in nfp_abm_eswitch_set_switchdev()
239 static int nfp_abm_eswitch_mode_set(struct nfp_app *app, u16 mode) in nfp_abm_eswitch_mode_set() argument
241 struct nfp_abm *abm = app->priv; in nfp_abm_eswitch_mode_set()
313 nfp_abm_vnic_alloc(struct nfp_app *app, struct nfp_net *nn, unsigned int id) in nfp_abm_vnic_alloc() argument
315 struct nfp_eth_table_port *eth_port = &app->pf->eth_tbl->ports[id]; in nfp_abm_vnic_alloc()
316 struct nfp_abm *abm = app->priv; in nfp_abm_vnic_alloc()
341 /* This is a multi-host app, make sure MAC/PHY is up, but don't in nfp_abm_vnic_alloc()
344 err = nfp_eth_set_configured(app->cpp, eth_port->index, true); in nfp_abm_vnic_alloc()
350 nfp_abm_vnic_set_mac(app->pf, abm, nn, id); in nfp_abm_vnic_alloc()
362 static void nfp_abm_vnic_free(struct nfp_app *app, struct nfp_net *nn) in nfp_abm_vnic_free() argument
372 static int nfp_abm_vnic_init(struct nfp_app *app, struct nfp_net *nn) in nfp_abm_vnic_init() argument
382 nfp_abm_port_get_stats(struct nfp_app *app, struct nfp_port *port, u64 *data) in nfp_abm_port_get_stats() argument
399 nfp_abm_port_get_stats_count(struct nfp_app *app, struct nfp_port *port) in nfp_abm_port_get_stats_count() argument
411 nfp_abm_port_get_stats_strings(struct nfp_app *app, struct nfp_port *port, in nfp_abm_port_get_stats_strings() argument
443 static int nfp_abm_init(struct nfp_app *app) in nfp_abm_init() argument
445 struct nfp_pf *pf = app->pf; in nfp_abm_init()
460 nfp_warn(app->cpp, "ABM NIC requires mac_stats symbol\n"); in nfp_abm_init()
467 app->priv = abm; in nfp_abm_init()
468 abm->app = app; in nfp_abm_init()
499 RCU_INIT_POINTER(app->reprs[NFP_REPR_TYPE_PHYS_PORT], reprs); in nfp_abm_init()
504 RCU_INIT_POINTER(app->reprs[NFP_REPR_TYPE_PF], reprs); in nfp_abm_init()
509 nfp_reprs_clean_and_free_by_type(app, NFP_REPR_TYPE_PHYS_PORT); in nfp_abm_init()
518 app->priv = NULL; in nfp_abm_init()
522 static void nfp_abm_clean(struct nfp_app *app) in nfp_abm_clean() argument
524 struct nfp_abm *abm = app->priv; in nfp_abm_clean()
527 nfp_reprs_clean_and_free_by_type(app, NFP_REPR_TYPE_PF); in nfp_abm_clean()
528 nfp_reprs_clean_and_free_by_type(app, NFP_REPR_TYPE_PHYS_PORT); in nfp_abm_clean()
533 app->priv = NULL; in nfp_abm_clean()