All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next 0/3] bnxt_en: Fix kbuild errors and rename phys_port_name.
@ 2017-07-25 17:28 Michael Chan
  2017-07-25 17:28 ` [PATCH net-next 1/3] bnxt_en: include bnxt_vfr.c code under CONFIG_BNXT_SRIOV switch Michael Chan
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Michael Chan @ 2017-07-25 17:28 UTC (permalink / raw)
  To: davem; +Cc: netdev

Fix 2 more kbuild errors (the first one already fixed by DaveM), and rename
the physical port name.

Sathya Perla (3):
  bnxt_en: include bnxt_vfr.c code under CONFIG_BNXT_SRIOV switch
  bnxt_en: use SWITCHDEV_SET_OPS() for setting vf_rep_switchdev_ops
  bnxt_en: fix switchdev port naming for external-port-rep and vf-reps

 drivers/net/ethernet/broadcom/bnxt/bnxt.c     |  6 +-----
 drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c | 10 +++++++--
 drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.h | 30 +++++++++++++++++++++++++++
 3 files changed, 39 insertions(+), 7 deletions(-)

-- 
1.8.3.1

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH net-next 1/3] bnxt_en: include bnxt_vfr.c code under CONFIG_BNXT_SRIOV switch
  2017-07-25 17:28 [PATCH net-next 0/3] bnxt_en: Fix kbuild errors and rename phys_port_name Michael Chan
@ 2017-07-25 17:28 ` Michael Chan
  2017-07-25 17:28 ` [PATCH net-next 2/3] bnxt_en: use SWITCHDEV_SET_OPS() for setting vf_rep_switchdev_ops Michael Chan
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 7+ messages in thread
From: Michael Chan @ 2017-07-25 17:28 UTC (permalink / raw)
  To: davem; +Cc: netdev, Sathya Perla

From: Sathya Perla <sathya.perla@broadcom.com>

And define empty functions in bnxt_vfr.h when CONFIG_BNXT_SRIOV is not
defined.

This fixes build error when CONFIG_BNXT_SRIOV is switched off:
>> drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c:165:16: error: 'struct
>> bnxt' has no member named 'sriov_lock'

Reported-by: kbuild test robot <lkp@intel.com>
Fixes: 4ab0c6a8ffd7 ("bnxt_en: add support to enable VF-representors")
Signed-off-by: Sathya Perla <sathya.perla@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
---
 drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c |  4 ++++
 drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.h | 30 +++++++++++++++++++++++++++
 2 files changed, 34 insertions(+)

diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c
index 83478e9..a52e292 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c
@@ -16,6 +16,8 @@
 #include "bnxt.h"
 #include "bnxt_vfr.h"
 
+#ifdef CONFIG_BNXT_SRIOV
+
 #define CFA_HANDLE_INVALID		0xffff
 #define VF_IDX_INVALID			0xffff
 
@@ -487,3 +489,5 @@ void bnxt_dl_unregister(struct bnxt *bp)
 	devlink_unregister(dl);
 	devlink_free(dl);
 }
+
+#endif
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.h b/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.h
index c6cd55a..e55a3b6 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.h
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.h
@@ -10,6 +10,8 @@
 #ifndef BNXT_VFR_H
 #define BNXT_VFR_H
 
+#ifdef CONFIG_BNXT_SRIOV
+
 #define	MAX_CFA_CODE			65536
 
 /* Struct to hold housekeeping info needed by devlink interface */
@@ -39,4 +41,32 @@ static inline void bnxt_link_bp_to_dl(struct devlink *dl, struct bnxt *bp)
 void bnxt_vf_rep_rx(struct bnxt *bp, struct sk_buff *skb);
 struct net_device *bnxt_get_vf_rep(struct bnxt *bp, u16 cfa_code);
 
+#else
+
+static inline int bnxt_dl_register(struct bnxt *bp)
+{
+	return 0;
+}
+
+static inline void bnxt_dl_unregister(struct bnxt *bp)
+{
+}
+
+static inline void bnxt_vf_reps_close(struct bnxt *bp)
+{
+}
+
+static inline void bnxt_vf_reps_open(struct bnxt *bp)
+{
+}
+
+static inline void bnxt_vf_rep_rx(struct bnxt *bp, struct sk_buff *skb)
+{
+}
+
+static inline struct net_device *bnxt_get_vf_rep(struct bnxt *bp, u16 cfa_code)
+{
+	return NULL;
+}
+#endif /* CONFIG_BNXT_SRIOV */
 #endif /* BNXT_VFR_H */
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH net-next 2/3] bnxt_en: use SWITCHDEV_SET_OPS() for setting vf_rep_switchdev_ops
  2017-07-25 17:28 [PATCH net-next 0/3] bnxt_en: Fix kbuild errors and rename phys_port_name Michael Chan
  2017-07-25 17:28 ` [PATCH net-next 1/3] bnxt_en: include bnxt_vfr.c code under CONFIG_BNXT_SRIOV switch Michael Chan
@ 2017-07-25 17:28 ` Michael Chan
  2017-07-25 17:28 ` [PATCH net-next 3/3] bnxt_en: fix switchdev port naming for external-port-rep and vf-reps Michael Chan
  2017-07-25 19:48 ` [PATCH net-next 0/3] bnxt_en: Fix kbuild errors and rename phys_port_name David Miller
  3 siblings, 0 replies; 7+ messages in thread
From: Michael Chan @ 2017-07-25 17:28 UTC (permalink / raw)
  To: davem; +Cc: netdev, Sathya Perla

From: Sathya Perla <sathya.perla@broadcom.com>

This fixes the build error:
‘struct net_device’ has no member named ‘switchdev_ops’

Reported-by: kbuild test robot <lkp@intel.com>
Fixes: c124a62ff2dd ("bnxt_en: add support for port_attr_get and and get_phys_port_name")
Signed-off-by: Sathya Perla <sathya.perla@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
---
 drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c
index a52e292..c00352a 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c
@@ -304,7 +304,7 @@ static void bnxt_vf_rep_netdev_init(struct bnxt *bp, struct bnxt_vf_rep *vf_rep,
 
 	dev->netdev_ops = &bnxt_vf_rep_netdev_ops;
 	dev->ethtool_ops = &bnxt_vf_rep_ethtool_ops;
-	dev->switchdev_ops = &bnxt_vf_rep_switchdev_ops;
+	SWITCHDEV_SET_OPS(dev, &bnxt_vf_rep_switchdev_ops);
 	/* Just inherit all the featues of the parent PF as the VF-R
 	 * uses the RX/TX rings of the parent PF
 	 */
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH net-next 3/3] bnxt_en: fix switchdev port naming for external-port-rep and vf-reps
  2017-07-25 17:28 [PATCH net-next 0/3] bnxt_en: Fix kbuild errors and rename phys_port_name Michael Chan
  2017-07-25 17:28 ` [PATCH net-next 1/3] bnxt_en: include bnxt_vfr.c code under CONFIG_BNXT_SRIOV switch Michael Chan
  2017-07-25 17:28 ` [PATCH net-next 2/3] bnxt_en: use SWITCHDEV_SET_OPS() for setting vf_rep_switchdev_ops Michael Chan
@ 2017-07-25 17:28 ` Michael Chan
  2017-07-25 19:48 ` [PATCH net-next 0/3] bnxt_en: Fix kbuild errors and rename phys_port_name David Miller
  3 siblings, 0 replies; 7+ messages in thread
From: Michael Chan @ 2017-07-25 17:28 UTC (permalink / raw)
  To: davem; +Cc: netdev, Sathya Perla

From: Sathya Perla <sathya.perla@broadcom.com>

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>
---
 drivers/net/ethernet/broadcom/bnxt/bnxt.c     | 6 +-----
 drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c | 4 +++-
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
index badbc35..4b32cf0 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
@@ -7556,11 +7556,7 @@ static int bnxt_get_phys_port_name(struct net_device *dev, char *buf,
 	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;
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c
index c00352a..b05c5d0 100644
--- 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_name(struct net_device *dev, char *buf,
 					  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;
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH net-next 0/3] bnxt_en: Fix kbuild errors and rename phys_port_name.
  2017-07-25 17:28 [PATCH net-next 0/3] bnxt_en: Fix kbuild errors and rename phys_port_name Michael Chan
                   ` (2 preceding siblings ...)
  2017-07-25 17:28 ` [PATCH net-next 3/3] bnxt_en: fix switchdev port naming for external-port-rep and vf-reps Michael Chan
@ 2017-07-25 19:48 ` David Miller
  3 siblings, 0 replies; 7+ messages in thread
From: David Miller @ 2017-07-25 19:48 UTC (permalink / raw)
  To: michael.chan; +Cc: netdev

From: Michael Chan <michael.chan@broadcom.com>
Date: Tue, 25 Jul 2017 13:28:38 -0400

> Fix 2 more kbuild errors (the first one already fixed by DaveM), and rename
> the physical port name.

Series applied, thanks for working to clear this all up.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH net-next 1/3] bnxt_en: include bnxt_vfr.c code under CONFIG_BNXT_SRIOV switch
  2017-07-25 10:49 [PATCH net-next 1/3] bnxt_en: include bnxt_vfr.c code under CONFIG_BNXT_SRIOV switch Sathya Perla
@ 2017-07-25 16:34 ` Michael Chan
  0 siblings, 0 replies; 7+ messages in thread
From: Michael Chan @ 2017-07-25 16:34 UTC (permalink / raw)
  To: Sathya Perla; +Cc: Netdev

On Tue, Jul 25, 2017 at 3:49 AM, Sathya Perla <sathya.perla@broadcom.com> wrote:
> This fixes build error when CONFIG_BNXT_SRIOV is switched off:
>>> drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c:165:16: error: 'struct
>>> bnxt' has no member named 'sriov_lock'
>
> Reported-by: kbuild test robot <lkp@intel.com>
> Fixes: 4ab0c6a8ffd7 ("bnxt_en: add support to enable VF-representors")
> Signed-off-by: Sathya Perla <sathya.perla@broadcom.com>
> ---
>  drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c
> index 83478e9..86850ae 100644
> --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c
> +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c
> @@ -16,6 +16,8 @@
>  #include "bnxt.h"
>  #include "bnxt_vfr.h"
>
> +#ifdef CONFIG_BNXT_SRIOV
> +
>  #define CFA_HANDLE_INVALID             0xffff
>  #define VF_IDX_INVALID                 0xffff
>
> @@ -487,3 +489,5 @@ void bnxt_dl_unregister(struct bnxt *bp)
>         devlink_unregister(dl);
>         devlink_free(dl);
>  }
> +
> +#endif /* CONFIG_BNXT_SRIOV */

This won't work.  It will cause undefined symbols if CONFIG_BNXT_SRIOV
is not defined.  I will fix everything up and resend all 3 patches.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH net-next 1/3] bnxt_en: include bnxt_vfr.c code under CONFIG_BNXT_SRIOV switch
@ 2017-07-25 10:49 Sathya Perla
  2017-07-25 16:34 ` Michael Chan
  0 siblings, 1 reply; 7+ messages in thread
From: Sathya Perla @ 2017-07-25 10:49 UTC (permalink / raw)
  To: netdev

This fixes build error when CONFIG_BNXT_SRIOV is switched off:
>> drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c:165:16: error: 'struct
>> bnxt' has no member named 'sriov_lock'

Reported-by: kbuild test robot <lkp@intel.com>
Fixes: 4ab0c6a8ffd7 ("bnxt_en: add support to enable VF-representors")
Signed-off-by: Sathya Perla <sathya.perla@broadcom.com>
---
 drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c
index 83478e9..86850ae 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c
@@ -16,6 +16,8 @@
 #include "bnxt.h"
 #include "bnxt_vfr.h"
 
+#ifdef CONFIG_BNXT_SRIOV
+
 #define CFA_HANDLE_INVALID		0xffff
 #define VF_IDX_INVALID			0xffff
 
@@ -487,3 +489,5 @@ void bnxt_dl_unregister(struct bnxt *bp)
 	devlink_unregister(dl);
 	devlink_free(dl);
 }
+
+#endif /* CONFIG_BNXT_SRIOV */
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-07-25 19:48 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-25 17:28 [PATCH net-next 0/3] bnxt_en: Fix kbuild errors and rename phys_port_name Michael Chan
2017-07-25 17:28 ` [PATCH net-next 1/3] bnxt_en: include bnxt_vfr.c code under CONFIG_BNXT_SRIOV switch Michael Chan
2017-07-25 17:28 ` [PATCH net-next 2/3] bnxt_en: use SWITCHDEV_SET_OPS() for setting vf_rep_switchdev_ops Michael Chan
2017-07-25 17:28 ` [PATCH net-next 3/3] bnxt_en: fix switchdev port naming for external-port-rep and vf-reps Michael Chan
2017-07-25 19:48 ` [PATCH net-next 0/3] bnxt_en: Fix kbuild errors and rename phys_port_name David Miller
  -- strict thread matches above, loose matches on Subject: below --
2017-07-25 10:49 [PATCH net-next 1/3] bnxt_en: include bnxt_vfr.c code under CONFIG_BNXT_SRIOV switch Sathya Perla
2017-07-25 16:34 ` Michael Chan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.