netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [net-next 0/4] Update the driver version to 3.2.21.1
@ 2013-05-10 17:02 Rasesh Mody
  2013-05-10 17:02 ` [net-next 1/4] bna: Clear Driver Config Flags When HW Resets Rasesh Mody
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Rasesh Mody @ 2013-05-10 17:02 UTC (permalink / raw)
  To: davem, netdev; +Cc: adapter_linux_open_src_team, Rasesh Mody

Hi Dave,

        The following patch-set includes enhancements, bug fixes and firmware
        updates for BNA driver. It updates the Brocade BFA driver to v3.2.21.1.

        The patches have been compiled and tested against net-next 3.9.0.

Thanks,
Rasesh

Rasesh Mody (4):
  bna: Clear Driver Config Flags When HW Resets
  bna: Fix Ucast Failure Handling
  bna: Enahncement to Identify Default IOC Function
  bna: Driver and Firmware Updated

 drivers/net/ethernet/brocade/bna/bfa_defs.h  |    3 ++-
 drivers/net/ethernet/brocade/bna/bfa_ioc.c   |    7 ++++---
 drivers/net/ethernet/brocade/bna/bfa_ioc.h   |    2 ++
 drivers/net/ethernet/brocade/bna/bna.h       |    2 ++
 drivers/net/ethernet/brocade/bna/bna_enet.c  |    7 ++++++-
 drivers/net/ethernet/brocade/bna/bna_tx_rx.c |   15 +++++++++++++++
 drivers/net/ethernet/brocade/bna/bnad.c      |    3 +++
 drivers/net/ethernet/brocade/bna/bnad.h      |    2 +-
 drivers/net/ethernet/brocade/bna/cna.h       |    4 ++--
 9 files changed, 37 insertions(+), 8 deletions(-)

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

* [net-next 1/4] bna: Clear Driver Config Flags When HW Resets
  2013-05-10 17:02 [net-next 0/4] Update the driver version to 3.2.21.1 Rasesh Mody
@ 2013-05-10 17:02 ` Rasesh Mody
  2013-05-12  0:38   ` David Miller
  2013-05-10 17:02 ` [net-next 2/4] bna: Fix Ucast Failure Handling Rasesh Mody
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 6+ messages in thread
From: Rasesh Mody @ 2013-05-10 17:02 UTC (permalink / raw)
  To: davem, netdev; +Cc: adapter_linux_open_src_team, Rasesh Mody

        Driver configuration flags are retained across open/stop operations
        preventing configurations to be set in next open/stop.
        Setting MTU on a 1020 causes network to fail until a reboot is performed
        on the host.

        Clear the flags when configuration resets in hardware.

Signed-off-by: Rasesh Mody <rmody@brocade.com>
---
 drivers/net/ethernet/brocade/bna/bnad.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/net/ethernet/brocade/bna/bnad.c b/drivers/net/ethernet/brocade/bna/bnad.c
index ce4a030..a6c16a2 100644
--- a/drivers/net/ethernet/brocade/bna/bnad.c
+++ b/drivers/net/ethernet/brocade/bna/bnad.c
@@ -2624,6 +2624,9 @@ bnad_stop(struct net_device *netdev)
 	bnad_destroy_tx(bnad, 0);
 	bnad_destroy_rx(bnad, 0);
 
+	/* These config flags are cleared in the hardware */
+	bnad->cfg_flags &= ~(BNAD_CF_ALLMULTI | BNAD_CF_PROMISC);
+
 	/* Synchronize mailbox IRQ */
 	bnad_mbox_irq_sync(bnad);
 
-- 
1.7.1

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

* [net-next 2/4] bna: Fix Ucast Failure Handling
  2013-05-10 17:02 [net-next 0/4] Update the driver version to 3.2.21.1 Rasesh Mody
  2013-05-10 17:02 ` [net-next 1/4] bna: Clear Driver Config Flags When HW Resets Rasesh Mody
@ 2013-05-10 17:02 ` Rasesh Mody
  2013-05-10 17:02 ` [net-next 3/4] bna: Enahncement to Identify Default IOC Function Rasesh Mody
  2013-05-10 17:02 ` [net-next 4/4] bna: Driver and Firmware Updated Rasesh Mody
  3 siblings, 0 replies; 6+ messages in thread
From: Rasesh Mody @ 2013-05-10 17:02 UTC (permalink / raw)
  To: davem, netdev; +Cc: adapter_linux_open_src_team, Rasesh Mody

        Failure of the UCAST set for base mac address fails when user
        configures a duplicate mac address that matches that of another vNIC
        on the same port.
        The bna does not handle the ucast failure and keeps this address in
        cache. On disable of the vNIC, bna tries to delete the failed base mac
        address and the fw asserts.

        On failure of ucast address, mark ucast address set to false.

Signed-off-by: Rasesh Mody <rmody@brocade.com>
---
 drivers/net/ethernet/brocade/bna/bna.h       |    2 ++
 drivers/net/ethernet/brocade/bna/bna_enet.c  |    7 ++++++-
 drivers/net/ethernet/brocade/bna/bna_tx_rx.c |   15 +++++++++++++++
 3 files changed, 23 insertions(+), 1 deletions(-)

diff --git a/drivers/net/ethernet/brocade/bna/bna.h b/drivers/net/ethernet/brocade/bna/bna.h
index 25dae75..f1eafc4 100644
--- a/drivers/net/ethernet/brocade/bna/bna.h
+++ b/drivers/net/ethernet/brocade/bna/bna.h
@@ -455,6 +455,8 @@ void bna_bfi_rx_enet_stop_rsp(struct bna_rx *rx,
 void bna_bfi_rxf_cfg_rsp(struct bna_rxf *rxf, struct bfi_msgq_mhdr *msghdr);
 void bna_bfi_rxf_mcast_add_rsp(struct bna_rxf *rxf,
 			       struct bfi_msgq_mhdr *msghdr);
+void bna_bfi_rxf_ucast_set_rsp(struct bna_rxf *rxf,
+			       struct bfi_msgq_mhdr *msghdr);
 
 /* APIs for BNA */
 void bna_rx_mod_init(struct bna_rx_mod *rx_mod, struct bna *bna,
diff --git a/drivers/net/ethernet/brocade/bna/bna_enet.c b/drivers/net/ethernet/brocade/bna/bna_enet.c
index db14f69..3ca77fa 100644
--- a/drivers/net/ethernet/brocade/bna/bna_enet.c
+++ b/drivers/net/ethernet/brocade/bna/bna_enet.c
@@ -298,7 +298,6 @@ bna_msgq_rsp_handler(void *arg, struct bfi_msgq_mhdr *msghdr)
 	case BFI_ENET_I2H_RSS_ENABLE_RSP:
 	case BFI_ENET_I2H_RX_PROMISCUOUS_RSP:
 	case BFI_ENET_I2H_RX_DEFAULT_RSP:
-	case BFI_ENET_I2H_MAC_UCAST_SET_RSP:
 	case BFI_ENET_I2H_MAC_UCAST_CLR_RSP:
 	case BFI_ENET_I2H_MAC_UCAST_ADD_RSP:
 	case BFI_ENET_I2H_MAC_UCAST_DEL_RSP:
@@ -311,6 +310,12 @@ bna_msgq_rsp_handler(void *arg, struct bfi_msgq_mhdr *msghdr)
 			bna_bfi_rxf_cfg_rsp(&rx->rxf, msghdr);
 		break;
 
+	case BFI_ENET_I2H_MAC_UCAST_SET_RSP:
+		bna_rx_from_rid(bna, msghdr->enet_id, rx);
+		if (rx)
+			bna_bfi_rxf_ucast_set_rsp(&rx->rxf, msghdr);
+		break;
+
 	case BFI_ENET_I2H_MAC_MCAST_ADD_RSP:
 		bna_rx_from_rid(bna, msghdr->enet_id, rx);
 		if (rx)
diff --git a/drivers/net/ethernet/brocade/bna/bna_tx_rx.c b/drivers/net/ethernet/brocade/bna/bna_tx_rx.c
index ea6f4a0..57cd1bf 100644
--- a/drivers/net/ethernet/brocade/bna/bna_tx_rx.c
+++ b/drivers/net/ethernet/brocade/bna/bna_tx_rx.c
@@ -711,6 +711,21 @@ bna_bfi_rxf_cfg_rsp(struct bna_rxf *rxf, struct bfi_msgq_mhdr *msghdr)
 }
 
 void
+bna_bfi_rxf_ucast_set_rsp(struct bna_rxf *rxf,
+			struct bfi_msgq_mhdr *msghdr)
+{
+	struct bfi_enet_rsp *rsp =
+		(struct bfi_enet_rsp *)msghdr;
+
+	if (rsp->error) {
+		/* Clear ucast from cache */
+		rxf->ucast_active_set = 0;
+	}
+
+	bfa_fsm_send_event(rxf, RXF_E_FW_RESP);
+}
+
+void
 bna_bfi_rxf_mcast_add_rsp(struct bna_rxf *rxf,
 			struct bfi_msgq_mhdr *msghdr)
 {
-- 
1.7.1

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

* [net-next 3/4] bna: Enahncement to Identify Default IOC Function
  2013-05-10 17:02 [net-next 0/4] Update the driver version to 3.2.21.1 Rasesh Mody
  2013-05-10 17:02 ` [net-next 1/4] bna: Clear Driver Config Flags When HW Resets Rasesh Mody
  2013-05-10 17:02 ` [net-next 2/4] bna: Fix Ucast Failure Handling Rasesh Mody
@ 2013-05-10 17:02 ` Rasesh Mody
  2013-05-10 17:02 ` [net-next 4/4] bna: Driver and Firmware Updated Rasesh Mody
  3 siblings, 0 replies; 6+ messages in thread
From: Rasesh Mody @ 2013-05-10 17:02 UTC (permalink / raw)
  To: davem, netdev; +Cc: adapter_linux_open_src_team, Rasesh Mody

        User should not be allowed to delete base function of eth port. Add a
        new field to the bfa ioc attributes structure to indicate if the given
        ioc is default function on the port or not.

Signed-off-by: Rasesh Mody <rmody@brocade.com>
---
 drivers/net/ethernet/brocade/bna/bfa_defs.h |    3 ++-
 drivers/net/ethernet/brocade/bna/bfa_ioc.c  |    7 ++++---
 drivers/net/ethernet/brocade/bna/bfa_ioc.h  |    2 ++
 3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/brocade/bna/bfa_defs.h b/drivers/net/ethernet/brocade/bna/bfa_defs.h
index e423f82..b7d8127 100644
--- a/drivers/net/ethernet/brocade/bna/bfa_defs.h
+++ b/drivers/net/ethernet/brocade/bna/bfa_defs.h
@@ -164,7 +164,8 @@ struct bfa_ioc_attr {
 	u8				port_mode;	/*!< enum bfa_mode */
 	u8				cap_bm;		/*!< capability */
 	u8				port_mode_cfg;	/*!< enum bfa_mode */
-	u8				rsvd[4];	/*!< 64bit align */
+	u8				def_fn;		/*!< 1 if default fn */
+	u8				rsvd[3];	/*!< 64bit align */
 };
 
 /* Adapter capability mask definition */
diff --git a/drivers/net/ethernet/brocade/bna/bfa_ioc.c b/drivers/net/ethernet/brocade/bna/bfa_ioc.c
index f2b73ff..6f3cac0 100644
--- a/drivers/net/ethernet/brocade/bna/bfa_ioc.c
+++ b/drivers/net/ethernet/brocade/bna/bfa_ioc.c
@@ -2371,7 +2371,7 @@ bfa_nw_ioc_get_attr(struct bfa_ioc *ioc, struct bfa_ioc_attr *ioc_attr)
 	memset((void *)ioc_attr, 0, sizeof(struct bfa_ioc_attr));
 
 	ioc_attr->state = bfa_ioc_get_state(ioc);
-	ioc_attr->port_id = ioc->port_id;
+	ioc_attr->port_id = bfa_ioc_portid(ioc);
 	ioc_attr->port_mode = ioc->port_mode;
 
 	ioc_attr->port_mode_cfg = ioc->port_mode_cfg;
@@ -2381,8 +2381,9 @@ bfa_nw_ioc_get_attr(struct bfa_ioc *ioc, struct bfa_ioc_attr *ioc_attr)
 
 	bfa_ioc_get_adapter_attr(ioc, &ioc_attr->adapter_attr);
 
-	ioc_attr->pci_attr.device_id = ioc->pcidev.device_id;
-	ioc_attr->pci_attr.pcifn = ioc->pcidev.pci_func;
+	ioc_attr->pci_attr.device_id = bfa_ioc_devid(ioc);
+	ioc_attr->pci_attr.pcifn = bfa_ioc_pcifn(ioc);
+	ioc_attr->def_fn = bfa_ioc_is_default(ioc);
 	bfa_ioc_get_pci_chip_rev(ioc, ioc_attr->pci_attr.chip_rev);
 }
 
diff --git a/drivers/net/ethernet/brocade/bna/bfa_ioc.h b/drivers/net/ethernet/brocade/bna/bfa_ioc.h
index 63a85e5..f04e0aa 100644
--- a/drivers/net/ethernet/brocade/bna/bfa_ioc.h
+++ b/drivers/net/ethernet/brocade/bna/bfa_ioc.h
@@ -222,6 +222,8 @@ struct bfa_ioc_hwif {
 #define bfa_ioc_bar0(__ioc)		((__ioc)->pcidev.pci_bar_kva)
 #define bfa_ioc_portid(__ioc)		((__ioc)->port_id)
 #define bfa_ioc_asic_gen(__ioc)		((__ioc)->asic_gen)
+#define bfa_ioc_is_default(__ioc)	\
+	(bfa_ioc_pcifn(__ioc) == bfa_ioc_portid(__ioc))
 #define bfa_ioc_fetch_stats(__ioc, __stats) \
 		(((__stats)->drv_stats) = (__ioc)->stats)
 #define bfa_ioc_clr_stats(__ioc)	\
-- 
1.7.1

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

* [net-next 4/4] bna: Driver and Firmware Updated
  2013-05-10 17:02 [net-next 0/4] Update the driver version to 3.2.21.1 Rasesh Mody
                   ` (2 preceding siblings ...)
  2013-05-10 17:02 ` [net-next 3/4] bna: Enahncement to Identify Default IOC Function Rasesh Mody
@ 2013-05-10 17:02 ` Rasesh Mody
  3 siblings, 0 replies; 6+ messages in thread
From: Rasesh Mody @ 2013-05-10 17:02 UTC (permalink / raw)
  To: davem, netdev; +Cc: adapter_linux_open_src_team, Rasesh Mody

        Driver and Firmware versions updated to 3.2.21.1.

Signed-off-by: Rasesh Mody <rmody@brocade.com>
---
 drivers/net/ethernet/brocade/bna/bnad.h |    2 +-
 drivers/net/ethernet/brocade/bna/cna.h  |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/brocade/bna/bnad.h b/drivers/net/ethernet/brocade/bna/bnad.h
index c1d0bc0..aefee77 100644
--- a/drivers/net/ethernet/brocade/bna/bnad.h
+++ b/drivers/net/ethernet/brocade/bna/bnad.h
@@ -71,7 +71,7 @@ struct bnad_rx_ctrl {
 #define BNAD_NAME			"bna"
 #define BNAD_NAME_LEN			64
 
-#define BNAD_VERSION			"3.1.2.1"
+#define BNAD_VERSION			"3.2.21.1"
 
 #define BNAD_MAILBOX_MSIX_INDEX		0
 #define BNAD_MAILBOX_MSIX_VECTORS	1
diff --git a/drivers/net/ethernet/brocade/bna/cna.h b/drivers/net/ethernet/brocade/bna/cna.h
index 14ca931..c37f706 100644
--- a/drivers/net/ethernet/brocade/bna/cna.h
+++ b/drivers/net/ethernet/brocade/bna/cna.h
@@ -37,8 +37,8 @@
 
 extern char bfa_version[];
 
-#define CNA_FW_FILE_CT	"ctfw-3.1.0.0.bin"
-#define CNA_FW_FILE_CT2	"ct2fw-3.1.0.0.bin"
+#define CNA_FW_FILE_CT	"ctfw-3.2.1.0.bin"
+#define CNA_FW_FILE_CT2	"ct2fw-3.2.1.0.bin"
 #define FC_SYMNAME_MAX	256	/*!< max name server symbolic name size */
 
 #pragma pack(1)
-- 
1.7.1

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

* Re: [net-next 1/4] bna: Clear Driver Config Flags When HW Resets
  2013-05-10 17:02 ` [net-next 1/4] bna: Clear Driver Config Flags When HW Resets Rasesh Mody
@ 2013-05-12  0:38   ` David Miller
  0 siblings, 0 replies; 6+ messages in thread
From: David Miller @ 2013-05-12  0:38 UTC (permalink / raw)
  To: rmody; +Cc: netdev, adapter_linux_open_src_team

From: Rasesh Mody <rmody@brocade.com>
Date: Fri, 10 May 2013 10:02:14 -0700

>         Driver configuration flags are retained across open/stop operations
>         preventing configurations to be set in next open/stop.
>         Setting MTU on a 1020 causes network to fail until a reboot is performed
>         on the host.
> 
>         Clear the flags when configuration resets in hardware.

Please stop indenting your commit messages like this, nobody else
does this, so I cannot imagine where you observed this convention.

Resubmit this patch series with this corrected, thanks.

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

end of thread, other threads:[~2013-05-12  0:38 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-05-10 17:02 [net-next 0/4] Update the driver version to 3.2.21.1 Rasesh Mody
2013-05-10 17:02 ` [net-next 1/4] bna: Clear Driver Config Flags When HW Resets Rasesh Mody
2013-05-12  0:38   ` David Miller
2013-05-10 17:02 ` [net-next 2/4] bna: Fix Ucast Failure Handling Rasesh Mody
2013-05-10 17:02 ` [net-next 3/4] bna: Enahncement to Identify Default IOC Function Rasesh Mody
2013-05-10 17:02 ` [net-next 4/4] bna: Driver and Firmware Updated Rasesh Mody

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).