From: Sathya Perla <sathya.perla@broadcom.com>
Date: Tue, 25 Jul 2017 13:28:41 -0400
Subject: bnxt_en: fix switchdev port naming for external-port-rep and vf-reps
Patch-mainline: v4.14-rc1
Git-commit: 53f70b8b5aa06db53eb06f092342e6073891729a
References: bsc#1050242 FATE#322914
Fix the phys_port_name for the external physical port to be in
"pA" format and that of VF-rep to be in "pCvfD" format as
suggested by Jakub Kicinski.
Fixes: c124a62ff2dd ("bnxt_en: add support for port_attr_get and get_phys_port_name")
Signed-off-by: Sathya Perla <sathya.perla@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 6 +-----
drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c | 4 +++-
2 files changed, 4 insertions(+), 6 deletions(-)
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
@@ -7542,11 +7542,7 @@ static int bnxt_get_phys_port_name(struc
if (!BNXT_PF(bp))
return -EOPNOTSUPP;
- /* The switch-id that the pf belongs to is exported by
- * the switchdev ndo. This name is just to distinguish from the
- * vf-rep ports.
- */
- rc = snprintf(buf, len, "pf%d", bp->pf.port_id);
+ rc = snprintf(buf, len, "p%d", bp->pf.port_id);
if (rc >= len)
return -EOPNOTSUPP;
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c
@@ -141,9 +141,11 @@ static int bnxt_vf_rep_get_phys_port_nam
size_t len)
{
struct bnxt_vf_rep *vf_rep = netdev_priv(dev);
+ struct pci_dev *pf_pdev = vf_rep->bp->pdev;
int rc;
- rc = snprintf(buf, len, "vfr%d", vf_rep->vf_idx);
+ rc = snprintf(buf, len, "pf%dvf%d", PCI_FUNC(pf_pdev->devfn),
+ vf_rep->vf_idx);
if (rc >= len)
return -EOPNOTSUPP;
return 0;