aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/qlge/qlge.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/qlge/qlge.h')
-rw-r--r--drivers/net/qlge/qlge.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/drivers/net/qlge/qlge.h b/drivers/net/qlge/qlge.h
index 421471790601..bc7a2e43c62e 100644
--- a/drivers/net/qlge/qlge.h
+++ b/drivers/net/qlge/qlge.h
@@ -56,7 +56,8 @@
56 MAX_DB_PAGES_PER_BQ(NUM_LARGE_BUFFERS) * sizeof(u64)) 56 MAX_DB_PAGES_PER_BQ(NUM_LARGE_BUFFERS) * sizeof(u64))
57#define SMALL_BUFFER_SIZE 512 57#define SMALL_BUFFER_SIZE 512
58#define SMALL_BUF_MAP_SIZE (SMALL_BUFFER_SIZE / 2) 58#define SMALL_BUF_MAP_SIZE (SMALL_BUFFER_SIZE / 2)
59#define LARGE_BUFFER_SIZE PAGE_SIZE 59#define LARGE_BUFFER_MAX_SIZE 8192
60#define LARGE_BUFFER_MIN_SIZE 2048
60#define MAX_SPLIT_SIZE 1023 61#define MAX_SPLIT_SIZE 1023
61#define QLGE_SB_PAD 32 62#define QLGE_SB_PAD 32
62 63
@@ -1201,9 +1202,17 @@ struct tx_ring_desc {
1201 struct tx_ring_desc *next; 1202 struct tx_ring_desc *next;
1202}; 1203};
1203 1204
1205struct page_chunk {
1206 struct page *page; /* master page */
1207 char *va; /* virt addr for this chunk */
1208 u64 map; /* mapping for master */
1209 unsigned int offset; /* offset for this chunk */
1210 unsigned int last_flag; /* flag set for last chunk in page */
1211};
1212
1204struct bq_desc { 1213struct bq_desc {
1205 union { 1214 union {
1206 struct page *lbq_page; 1215 struct page_chunk pg_chunk;
1207 struct sk_buff *skb; 1216 struct sk_buff *skb;
1208 } p; 1217 } p;
1209 __le64 *addr; 1218 __le64 *addr;
@@ -1272,6 +1281,7 @@ struct rx_ring {
1272 dma_addr_t lbq_base_dma; 1281 dma_addr_t lbq_base_dma;
1273 void *lbq_base_indirect; 1282 void *lbq_base_indirect;
1274 dma_addr_t lbq_base_indirect_dma; 1283 dma_addr_t lbq_base_indirect_dma;
1284 struct page_chunk pg_chunk; /* current page for chunks */
1275 struct bq_desc *lbq; /* array of control blocks */ 1285 struct bq_desc *lbq; /* array of control blocks */
1276 void __iomem *lbq_prod_idx_db_reg; /* PCI doorbell mem area + 0x18 */ 1286 void __iomem *lbq_prod_idx_db_reg; /* PCI doorbell mem area + 0x18 */
1277 u32 lbq_prod_idx; /* current sw prod idx */ 1287 u32 lbq_prod_idx; /* current sw prod idx */
@@ -1526,6 +1536,7 @@ struct ql_adapter {
1526 1536
1527 struct rx_ring rx_ring[MAX_RX_RINGS]; 1537 struct rx_ring rx_ring[MAX_RX_RINGS];
1528 struct tx_ring tx_ring[MAX_TX_RINGS]; 1538 struct tx_ring tx_ring[MAX_TX_RINGS];
1539 unsigned int lbq_buf_order;
1529 1540
1530 int rx_csum; 1541 int rx_csum;
1531 u32 default_rx_queue; 1542 u32 default_rx_queue;