diff options
author | Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com> | 2005-10-04 07:05:44 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-10-04 07:05:44 -0400 |
commit | e4c811c9d2f2728ce15440c99b3b44b72799b43f (patch) | |
tree | 0806fd1239c088d970db38c9a5bfec9b35ce3477 /drivers/net/e1000/e1000.h | |
parent | 2ae76d98fb9f0a9226dd62cf0a0b7547507d2862 (diff) |
e1000: Fixes for packet split related issues
Fixes for packet split related issues
* On platforms where PAGE_SIZE > 4K, driver will use only required number of
pages compared to always using 3 pages.
* Packet split won't be used if the PAGE_SIZE is > 16K
* Adds a statistics counter to splits.
* Setting the non Null ptr to zero sized buffers to solve packet split
receive descriptor error
* When the no of pages needed is calculated, the header buffer is not
included for a given MTU.
Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com>
Signed-off-by: Ganesh Venkatesan <ganesh.venkatesan@intel.com>
Signed-off-by: John Ronciak <john.ronciak@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to 'drivers/net/e1000/e1000.h')
-rw-r--r-- | drivers/net/e1000/e1000.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/e1000/e1000.h b/drivers/net/e1000/e1000.h index 9b7274b111f3..3f653a93e1bc 100644 --- a/drivers/net/e1000/e1000.h +++ b/drivers/net/e1000/e1000.h | |||
@@ -169,8 +169,8 @@ struct e1000_buffer { | |||
169 | uint16_t next_to_watch; | 169 | uint16_t next_to_watch; |
170 | }; | 170 | }; |
171 | 171 | ||
172 | struct e1000_ps_page { struct page *ps_page[MAX_PS_BUFFERS]; }; | 172 | struct e1000_ps_page { struct page *ps_page[PS_PAGE_BUFFERS]; }; |
173 | struct e1000_ps_page_dma { uint64_t ps_page_dma[MAX_PS_BUFFERS]; }; | 173 | struct e1000_ps_page_dma { uint64_t ps_page_dma[PS_PAGE_BUFFERS]; }; |
174 | 174 | ||
175 | struct e1000_tx_ring { | 175 | struct e1000_tx_ring { |
176 | /* pointer to the descriptor ring memory */ | 176 | /* pointer to the descriptor ring memory */ |
@@ -300,10 +300,11 @@ struct e1000_adapter { | |||
300 | 300 | ||
301 | uint64_t hw_csum_err; | 301 | uint64_t hw_csum_err; |
302 | uint64_t hw_csum_good; | 302 | uint64_t hw_csum_good; |
303 | uint64_t rx_hdr_split; | ||
303 | uint32_t rx_int_delay; | 304 | uint32_t rx_int_delay; |
304 | uint32_t rx_abs_int_delay; | 305 | uint32_t rx_abs_int_delay; |
305 | boolean_t rx_csum; | 306 | boolean_t rx_csum; |
306 | boolean_t rx_ps; | 307 | unsigned int rx_ps_pages; |
307 | uint32_t gorcl; | 308 | uint32_t gorcl; |
308 | uint64_t gorcl_old; | 309 | uint64_t gorcl_old; |
309 | uint16_t rx_ps_bsize0; | 310 | uint16_t rx_ps_bsize0; |