Lines Matching defs:app

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