diff options
author | Shmulik Ravid <shmulikr@broadcom.com> | 2010-12-30 01:27:03 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-12-31 13:50:55 -0500 |
commit | 785b9b1aebcb748fb7627ad4c12dffb7f4f91b55 (patch) | |
tree | 44d6a8d19df9fd7d4f68998ed4176ea75ad3068a /drivers/net/bnx2x/bnx2x_main.c | |
parent | ea45fe4e176a42d2396878f530cfdc8265bef37b (diff) |
bnx2x: adding dcbnl support
Adding dcbnl implementation to bnx2x allowing users to manage the
embedded DCBX engine.
This patch is dependent on the following patches:
[net-next-2.6 PATCH 1/3] dcbnl: add support for ieee8021Qaz attributes
[net-next-2.6 PATCH 2/3] dcbnl: add appliction tlv handlers
[net-next-2.6 PATCH 3/3] net_dcb: add application notifiers
Signed-off-by: Shmulik Ravid <shmulikr@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bnx2x/bnx2x_main.c')
-rw-r--r-- | drivers/net/bnx2x/bnx2x_main.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/net/bnx2x/bnx2x_main.c b/drivers/net/bnx2x/bnx2x_main.c index cf54427a8d80..489a5512a04d 100644 --- a/drivers/net/bnx2x/bnx2x_main.c +++ b/drivers/net/bnx2x/bnx2x_main.c | |||
@@ -3107,7 +3107,8 @@ static inline void bnx2x_attn_int_deasserted3(struct bnx2x *bp, u32 attn) | |||
3107 | bnx2x_pmf_update(bp); | 3107 | bnx2x_pmf_update(bp); |
3108 | 3108 | ||
3109 | if (bp->port.pmf && | 3109 | if (bp->port.pmf && |
3110 | (val & DRV_STATUS_DCBX_NEGOTIATION_RESULTS)) | 3110 | (val & DRV_STATUS_DCBX_NEGOTIATION_RESULTS) && |
3111 | bp->dcbx_enabled > 0) | ||
3111 | /* start dcbx state machine */ | 3112 | /* start dcbx state machine */ |
3112 | bnx2x_dcbx_set_params(bp, | 3113 | bnx2x_dcbx_set_params(bp, |
3113 | BNX2X_DCBX_STATE_NEG_RECEIVED); | 3114 | BNX2X_DCBX_STATE_NEG_RECEIVED); |
@@ -8795,6 +8796,7 @@ static int __devinit bnx2x_init_bp(struct bnx2x *bp) | |||
8795 | bp->timer.data = (unsigned long) bp; | 8796 | bp->timer.data = (unsigned long) bp; |
8796 | bp->timer.function = bnx2x_timer; | 8797 | bp->timer.function = bnx2x_timer; |
8797 | 8798 | ||
8799 | bnx2x_dcbx_set_state(bp, true, BNX2X_DCBX_ENABLED_ON_NEG_ON); | ||
8798 | bnx2x_dcbx_init_params(bp); | 8800 | bnx2x_dcbx_init_params(bp); |
8799 | 8801 | ||
8800 | return rc; | 8802 | return rc; |
@@ -9146,6 +9148,10 @@ static int __devinit bnx2x_init_dev(struct pci_dev *pdev, | |||
9146 | dev->vlan_features |= (NETIF_F_TSO | NETIF_F_TSO_ECN); | 9148 | dev->vlan_features |= (NETIF_F_TSO | NETIF_F_TSO_ECN); |
9147 | dev->vlan_features |= NETIF_F_TSO6; | 9149 | dev->vlan_features |= NETIF_F_TSO6; |
9148 | 9150 | ||
9151 | #ifdef BCM_DCB | ||
9152 | dev->dcbnl_ops = &bnx2x_dcbnl_ops; | ||
9153 | #endif | ||
9154 | |||
9149 | /* get_port_hwinfo() will set prtad and mmds properly */ | 9155 | /* get_port_hwinfo() will set prtad and mmds properly */ |
9150 | bp->mdio.prtad = MDIO_PRTAD_NONE; | 9156 | bp->mdio.prtad = MDIO_PRTAD_NONE; |
9151 | bp->mdio.mmds = 0; | 9157 | bp->mdio.mmds = 0; |