diff options
author | Eilon Greenstein <eilong@broadcom.com> | 2009-02-12 11:36:43 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-02-16 10:31:15 +0300 |
commit | 1c06328c0345638ea7532b45cadfe713c9e9781e (patch) | |
tree | f0bc6c0986f22802655b347367ff5222074870dc /drivers/net/bnx2x_hsi.h | |
parent | 8a1c38d17d88c8df3dcbea1c01a390ab2087f8ad (diff) | |
download | linux-1c06328c0345638ea7532b45cadfe713c9e9781e.tar.xz |
bnx2x: Flow control enhancement
Setting better HW thresholds and enabling FW capabilities for better
enforcement. Also set the HW to more efficiently use the internal buffers if
this is a single port design
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bnx2x_hsi.h')
-rw-r--r-- | drivers/net/bnx2x_hsi.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/drivers/net/bnx2x_hsi.h b/drivers/net/bnx2x_hsi.h index a4a6039ef8cf..b0f41d1f9ab4 100644 --- a/drivers/net/bnx2x_hsi.h +++ b/drivers/net/bnx2x_hsi.h @@ -2615,6 +2615,41 @@ struct tstorm_eth_tpa_exist { /* + * rx rings pause data for E1h only + */ +struct ustorm_eth_rx_pause_data_e1h { +#if defined(__BIG_ENDIAN) + u16 bd_thr_low; + u16 cqe_thr_low; +#elif defined(__LITTLE_ENDIAN) + u16 cqe_thr_low; + u16 bd_thr_low; +#endif +#if defined(__BIG_ENDIAN) + u16 cos; + u16 sge_thr_low; +#elif defined(__LITTLE_ENDIAN) + u16 sge_thr_low; + u16 cos; +#endif +#if defined(__BIG_ENDIAN) + u16 bd_thr_high; + u16 cqe_thr_high; +#elif defined(__LITTLE_ENDIAN) + u16 cqe_thr_high; + u16 bd_thr_high; +#endif +#if defined(__BIG_ENDIAN) + u16 reserved0; + u16 sge_thr_high; +#elif defined(__LITTLE_ENDIAN) + u16 sge_thr_high; + u16 reserved0; +#endif +}; + + +/* * Three RX producers for ETH */ struct ustorm_eth_rx_producers { |