aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000/e1000.h
diff options
context:
space:
mode:
authorMallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com>2005-10-04 07:05:44 -0400
committerJeff Garzik <jgarzik@pobox.com>2005-10-04 07:05:44 -0400
commite4c811c9d2f2728ce15440c99b3b44b72799b43f (patch)
tree0806fd1239c088d970db38c9a5bfec9b35ce3477 /drivers/net/e1000/e1000.h
parent2ae76d98fb9f0a9226dd62cf0a0b7547507d2862 (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.h7
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
172struct e1000_ps_page { struct page *ps_page[MAX_PS_BUFFERS]; }; 172struct e1000_ps_page { struct page *ps_page[PS_PAGE_BUFFERS]; };
173struct e1000_ps_page_dma { uint64_t ps_page_dma[MAX_PS_BUFFERS]; }; 173struct e1000_ps_page_dma { uint64_t ps_page_dma[PS_PAGE_BUFFERS]; };
174 174
175struct e1000_tx_ring { 175struct 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;