diff options
author | Michael Chan <mchan@broadcom.com> | 2008-06-19 19:41:08 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-06-19 19:41:08 -0400 |
commit | 43e80b89b65cbc62b5e0fde09b47c9fc572a8b11 (patch) | |
tree | 894984eda36c720a44e00a6bd1c1c2567b45102b /drivers/net/bnx2.h | |
parent | bb4f98abf590cf9899017f14f1a54984f02a0009 (diff) |
bnx2: Optimize fast-path tx and rx work.
Add hw_tx_cons_ptr and hw_rx_cons_ptr to speed up the retreival of
the tx and rx consumer index, since the MSI-X and default status
blocks have different structures.
Combine status_blk and status_blk_msix into a union. We'll only use
one type of status block for each vector.
Separate the code to detect more rx and tx work from the code to
detect link related work.
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Benjamin Li <benli@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 | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/net/bnx2.h b/drivers/net/bnx2.h index 1c5ce80f6269..362bef6ff5ff 100644 --- a/drivers/net/bnx2.h +++ b/drivers/net/bnx2.h | |||
@@ -6609,8 +6609,12 @@ struct bnx2_rx_ring_info { | |||
6609 | struct bnx2_napi { | 6609 | struct bnx2_napi { |
6610 | struct napi_struct napi ____cacheline_aligned; | 6610 | struct napi_struct napi ____cacheline_aligned; |
6611 | struct bnx2 *bp; | 6611 | struct bnx2 *bp; |
6612 | struct status_block *status_blk; | 6612 | union { |
6613 | struct status_block_msix *status_blk_msix; | 6613 | struct status_block *msi; |
6614 | struct status_block_msix *msix; | ||
6615 | } status_blk; | ||
6616 | u16 *hw_tx_cons_ptr; | ||
6617 | u16 *hw_rx_cons_ptr; | ||
6614 | u32 last_status_idx; | 6618 | u32 last_status_idx; |
6615 | u32 int_num; | 6619 | u32 int_num; |
6616 | 6620 | ||
@@ -6759,7 +6763,6 @@ struct bnx2 { | |||
6759 | 6763 | ||
6760 | u32 stats_ticks; | 6764 | u32 stats_ticks; |
6761 | 6765 | ||
6762 | struct status_block *status_blk; | ||
6763 | dma_addr_t status_blk_mapping; | 6766 | dma_addr_t status_blk_mapping; |
6764 | 6767 | ||
6765 | struct statistics_block *stats_blk; | 6768 | struct statistics_block *stats_blk; |