diff options
author | Michael Chan <mchan@broadcom.com> | 2005-08-25 15:36:58 -0700 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2005-08-29 16:10:38 -0700 |
commit | e89bbf1049aac3625fdafe3657ed8d7d5373d351 (patch) | |
tree | 15e0fc01d553ce5bc38de546d80f5f2e3736b0bf /drivers/net/bnx2.h | |
parent | cd339a0ed61097d92ce03b6d1042b1e4d58535e7 (diff) | |
download | talos-obmc-linux-e89bbf1049aac3625fdafe3657ed8d7d5373d351.tar.gz talos-obmc-linux-e89bbf1049aac3625fdafe3657ed8d7d5373d351.zip |
[BNX2]: remove atomics in tx
Remove atomic operations in the fast tx path. Expensive atomic
operations were used to keep track of the number of available tx
descriptors. The new code uses the difference between the consumer
and producer index to determine the number of free tx descriptors.
As suggested by Jeff Garzik, the name of the inline function is
changed to all lower case.
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bnx2.h')
-rw-r--r-- | drivers/net/bnx2.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/bnx2.h b/drivers/net/bnx2.h index e1fb099acbf2..9ad3f5740cd8 100644 --- a/drivers/net/bnx2.h +++ b/drivers/net/bnx2.h @@ -3841,12 +3841,12 @@ struct bnx2 { struct status_block *status_blk; u32 last_status_idx; - atomic_t tx_avail_bd; struct tx_bd *tx_desc_ring; struct sw_bd *tx_buf_ring; u32 tx_prod_bseq; u16 tx_prod; u16 tx_cons; + int tx_ring_size; #ifdef BCM_VLAN struct vlan_group *vlgrp; @@ -3929,7 +3929,6 @@ struct bnx2 { u16 fw_wr_seq; u16 fw_drv_pulse_wr_seq; - int tx_ring_size; dma_addr_t tx_desc_mapping; |