summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYinjun Zhang <yinjun.zhang@corigine.com>2023-04-05 14:08:29 +0200
committerPaolo Abeni <pabeni@redhat.com>2023-04-06 15:43:36 +0200
commit0ebd4fd6b9064764a3af3d671463b1350abffb6c (patch)
treed6f86bc6f59cf1660ab9666cb5de64ae1bf2783b
parent905a9eb5f636f3312964b162362e4d6ca4e37378 (diff)
downloadlinux-stable-0ebd4fd6b9064764a3af3d671463b1350abffb6c.tar.gz
linux-stable-0ebd4fd6b9064764a3af3d671463b1350abffb6c.tar.bz2
linux-stable-0ebd4fd6b9064764a3af3d671463b1350abffb6c.zip
nfp: initialize netdev's dev_port with correct id
`dev_port` is used to differentiate devices that instantiate from the same function, which is the case in most of NFP NICs. In some customized scenario, `dev_port` is used to rename netdev instead of `phys_port_name`. Example rules using `dev_port`: SUBSYSTEM=="net", ACTION=="add", KERNELS=="0000:e1:00.0", ATTR{dev_port}=="0", NAME:="ens8np0" SUBSYSTEM=="net", ACTION=="add", KERNELS=="0000:e1:00.0", ATTR{dev_port}=="1", NAME:="ens8np1" To take port split case into account, here we initialize `dev_port` according to the port sequence in eth_table from management firmware instead of using port label id directly. And management firmware makes sure that port sequence matches its label id. Signed-off-by: Yinjun Zhang <yinjun.zhang@corigine.com> Acked-by: Simon Horman <simon.horman@corigine.com> Signed-off-by: Louis Peens <louis.peens@corigine.com> Link: https://lore.kernel.org/r/20230405120829.28817-1-louis.peens@corigine.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
-rw-r--r--drivers/net/ethernet/netronome/nfp/nfp_port.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/netronome/nfp/nfp_port.c b/drivers/net/ethernet/netronome/nfp/nfp_port.c
index 4f2308570dcf..54640bcb70fb 100644
--- a/drivers/net/ethernet/netronome/nfp/nfp_port.c
+++ b/drivers/net/ethernet/netronome/nfp/nfp_port.c
@@ -189,6 +189,7 @@ int nfp_port_init_phy_port(struct nfp_pf *pf, struct nfp_app *app,
port->eth_port = &pf->eth_tbl->ports[id];
port->eth_id = pf->eth_tbl->ports[id].index;
+ port->netdev->dev_port = id;
if (pf->mac_stats_mem)
port->eth_stats =
pf->mac_stats_mem + port->eth_id * NFP_MAC_STATS_SIZE;