summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/netronome/nfp/nfp_port.h
diff options
context:
space:
mode:
authorJakub Kicinski <jakub.kicinski@netronome.com>2017-05-26 01:03:36 -0700
committerDavid S. Miller <davem@davemloft.net>2017-05-26 11:01:49 -0400
commitec8b1fbe682deb376062c5ed04ef9c78160ffbf0 (patch)
tree778e83b04aede19923261c5cd4ed443c10498b43 /drivers/net/ethernet/netronome/nfp/nfp_port.h
parentf0b81195381f0fd9ec84009a0e5a4bb12ccc9637 (diff)
downloadlinux-stable-ec8b1fbe682deb376062c5ed04ef9c78160ffbf0.tar.gz
linux-stable-ec8b1fbe682deb376062c5ed04ef9c78160ffbf0.tar.bz2
linux-stable-ec8b1fbe682deb376062c5ed04ef9c78160ffbf0.zip
nfp: support port splitting via devlink
Add support for configuring port split with devlink. Add devlink callbacks to validate requested config and call NSP helpers. Getting the right nfp_port structure can be done with simple iteration. Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com> Reviewed-by: Simon Horman <simon.horman@netronome.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/netronome/nfp/nfp_port.h')
-rw-r--r--drivers/net/ethernet/netronome/nfp/nfp_port.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethernet/netronome/nfp/nfp_port.h b/drivers/net/ethernet/netronome/nfp/nfp_port.h
index 36a540b514be..4d1a9b3fed41 100644
--- a/drivers/net/ethernet/netronome/nfp/nfp_port.h
+++ b/drivers/net/ethernet/netronome/nfp/nfp_port.h
@@ -38,6 +38,7 @@
struct net_device;
struct nfp_app;
+struct nfp_pf;
struct nfp_port;
/**
@@ -90,6 +91,8 @@ struct nfp_port {
};
struct nfp_port *nfp_port_from_netdev(struct net_device *netdev);
+struct nfp_port *
+nfp_port_from_id(struct nfp_pf *pf, enum nfp_port_type type, unsigned int id);
struct nfp_eth_table_port *__nfp_port_get_eth_port(struct nfp_port *port);
struct nfp_eth_table_port *nfp_port_get_eth_port(struct nfp_port *port);
@@ -103,6 +106,7 @@ void nfp_port_free(struct nfp_port *port);
int nfp_net_refresh_eth_port(struct nfp_port *port);
void nfp_net_refresh_port_table(struct nfp_port *port);
+int nfp_net_refresh_port_table_sync(struct nfp_pf *pf);
int nfp_devlink_port_register(struct nfp_app *app, struct nfp_port *port);
void nfp_devlink_port_unregister(struct nfp_port *port);