summaryrefslogtreecommitdiffstats
path: root/sys/dev/mxge/if_mxge_var.h
diff options
context:
space:
mode:
authorgallatin <gallatin@FreeBSD.org>2006-09-15 15:41:28 +0000
committergallatin <gallatin@FreeBSD.org>2006-09-15 15:41:28 +0000
commit4647503ce7e8dcaab8d047404f59856bb2736393 (patch)
tree0bd848bcb09c914cf96234ea3a982f5ffeef5f5d /sys/dev/mxge/if_mxge_var.h
parentc9a02b4657ff2eeb566e1489ac274bcdacf12668 (diff)
downloadFreeBSD-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.h7
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
OpenPOWER on IntegriCloud