diff options
author | Vladislav Zolotarov <vladz@broadcom.com> | 2011-05-04 19:48:23 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-05-05 13:44:33 -0400 |
commit | 2ae17f666099c952053eea7c64cac8189dd76f72 (patch) | |
tree | 69da6881c755adccec1ef4e09ec28bc499e979e9 /drivers/net/bnx2x/bnx2x.h | |
parent | 34da9e50e908c4553ddefb38da2c5bacbe2bba58 (diff) |
bnx2x: link report improvements
To avoid link notification duplication
Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Vladislav Zolotarov <vladz@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.h')
-rw-r--r-- | drivers/net/bnx2x/bnx2x.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/net/bnx2x/bnx2x.h b/drivers/net/bnx2x/bnx2x.h index 9e87417f6ec7..1a005a484bea 100644 --- a/drivers/net/bnx2x/bnx2x.h +++ b/drivers/net/bnx2x/bnx2x.h | |||
@@ -893,6 +893,22 @@ typedef enum { | |||
893 | (&bp->def_status_blk->sp_sb.\ | 893 | (&bp->def_status_blk->sp_sb.\ |
894 | index_values[HC_SP_INDEX_EQ_CONS]) | 894 | index_values[HC_SP_INDEX_EQ_CONS]) |
895 | 895 | ||
896 | /* This is a data that will be used to create a link report message. | ||
897 | * We will keep the data used for the last link report in order | ||
898 | * to prevent reporting the same link parameters twice. | ||
899 | */ | ||
900 | struct bnx2x_link_report_data { | ||
901 | u16 line_speed; /* Effective line speed */ | ||
902 | unsigned long link_report_flags;/* BNX2X_LINK_REPORT_XXX flags */ | ||
903 | }; | ||
904 | |||
905 | enum { | ||
906 | BNX2X_LINK_REPORT_FD, /* Full DUPLEX */ | ||
907 | BNX2X_LINK_REPORT_LINK_DOWN, | ||
908 | BNX2X_LINK_REPORT_RX_FC_ON, | ||
909 | BNX2X_LINK_REPORT_TX_FC_ON, | ||
910 | }; | ||
911 | |||
896 | struct bnx2x { | 912 | struct bnx2x { |
897 | /* Fields used in the tx and intr/napi performance paths | 913 | /* Fields used in the tx and intr/napi performance paths |
898 | * are grouped together in the beginning of the structure | 914 | * are grouped together in the beginning of the structure |
@@ -1025,6 +1041,9 @@ struct bnx2x { | |||
1025 | 1041 | ||
1026 | struct link_params link_params; | 1042 | struct link_params link_params; |
1027 | struct link_vars link_vars; | 1043 | struct link_vars link_vars; |
1044 | u32 link_cnt; | ||
1045 | struct bnx2x_link_report_data last_reported_link; | ||
1046 | |||
1028 | struct mdio_if_info mdio; | 1047 | struct mdio_if_info mdio; |
1029 | 1048 | ||
1030 | struct bnx2x_common common; | 1049 | struct bnx2x_common common; |
@@ -1441,6 +1460,8 @@ struct bnx2x_func_init_params { | |||
1441 | #define WAIT_RAMROD_POLL 0x01 | 1460 | #define WAIT_RAMROD_POLL 0x01 |
1442 | #define WAIT_RAMROD_COMMON 0x02 | 1461 | #define WAIT_RAMROD_COMMON 0x02 |
1443 | 1462 | ||
1463 | void bnx2x_read_mf_cfg(struct bnx2x *bp); | ||
1464 | |||
1444 | /* dmae */ | 1465 | /* dmae */ |
1445 | void bnx2x_read_dmae(struct bnx2x *bp, u32 src_addr, u32 len32); | 1466 | void bnx2x_read_dmae(struct bnx2x *bp, u32 src_addr, u32 len32); |
1446 | void bnx2x_write_dmae(struct bnx2x *bp, dma_addr_t dma_addr, u32 dst_addr, | 1467 | void bnx2x_write_dmae(struct bnx2x *bp, dma_addr_t dma_addr, u32 dst_addr, |