diff options
author | gallatin <gallatin@FreeBSD.org> | 2006-09-15 15:41:28 +0000 |
---|---|---|
committer | gallatin <gallatin@FreeBSD.org> | 2006-09-15 15:41:28 +0000 |
commit | 4647503ce7e8dcaab8d047404f59856bb2736393 (patch) | |
tree | 0bd848bcb09c914cf96234ea3a982f5ffeef5f5d /sys/dev/mxge/if_mxge_var.h | |
parent | c9a02b4657ff2eeb566e1489ac274bcdacf12668 (diff) | |
download | FreeBSD-src-4647503ce7e8dcaab8d047404f59856bb2736393.zip FreeBSD-src-4647503ce7e8dcaab8d047404f59856bb2736393.tar.gz |
- Added TSO support. This entailed increasing the number of send descriptors
in the transmit busdma tag, so I moved the segment list off the
stack.
- Fixed transmit routine to ensure it doesn't read past the end
of an mbuf when parsing headers.
- Corrected handling of odd length segments. Setting MXGEFW_FLAGS_ALIGN_ODD
is required only when offloading the checksum of that frame.
Sponsored by: Myricom Inc.
Diffstat (limited to 'sys/dev/mxge/if_mxge_var.h')
-rw-r--r-- | sys/dev/mxge/if_mxge_var.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/dev/mxge/if_mxge_var.h b/sys/dev/mxge/if_mxge_var.h index 35b78b2..cc1acf1 100644 --- a/sys/dev/mxge/if_mxge_var.h +++ b/sys/dev/mxge/if_mxge_var.h @@ -43,7 +43,8 @@ $FreeBSD$ #define MXGE_FW_OFFSET 1024*1024 #define MXGE_EEPROM_STRINGS_SIZE 256 -#define MXGE_MAX_SEND_DESC 12 +#define MXGE_MAX_SEND_DESC 64 /* should be large enough for + any TSO packet */ typedef struct { void *addr; @@ -97,6 +98,7 @@ typedef struct volatile uint8_t *wc_fifo; /* w/c send fifo address */ mcp_kreq_ether_send_t *req_list; /* host shadow of sendq */ char *req_bytes; + bus_dma_segment_t *seg_list; struct mxge_tx_buffer_state *info; bus_dma_tag_t dmat; int req; /* transmits submitted */ @@ -104,6 +106,7 @@ typedef struct int done; /* transmits completed */ int pkt_done; /* packets completed */ int boundary; /* boundary transmits cannot cross*/ + } mxge_tx_buf_t; typedef struct { @@ -155,7 +158,7 @@ typedef struct { char *mac_addr_string; char product_code_string[64]; char serial_number_string[64]; - + char scratch[256]; } mxge_softc_t; #define MXGE_PCI_VENDOR_MYRICOM 0x14c1 |