diff options
Diffstat (limited to 'drivers/net/sky2.h')
-rw-r--r-- | drivers/net/sky2.h | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/drivers/net/sky2.h b/drivers/net/sky2.h index 0bebfb3638f6..084eff21b67a 100644 --- a/drivers/net/sky2.h +++ b/drivers/net/sky2.h | |||
@@ -694,8 +694,21 @@ enum { | |||
694 | TXA_CTRL = 0x0210,/* 8 bit Tx Arbiter Control Register */ | 694 | TXA_CTRL = 0x0210,/* 8 bit Tx Arbiter Control Register */ |
695 | TXA_TEST = 0x0211,/* 8 bit Tx Arbiter Test Register */ | 695 | TXA_TEST = 0x0211,/* 8 bit Tx Arbiter Test Register */ |
696 | TXA_STAT = 0x0212,/* 8 bit Tx Arbiter Status Register */ | 696 | TXA_STAT = 0x0212,/* 8 bit Tx Arbiter Status Register */ |
697 | |||
698 | RSS_KEY = 0x0220, /* RSS Key setup */ | ||
699 | RSS_CFG = 0x0248, /* RSS Configuration */ | ||
697 | }; | 700 | }; |
698 | 701 | ||
702 | enum { | ||
703 | HASH_TCP_IPV6_EX_CTRL = 1<<5, | ||
704 | HASH_IPV6_EX_CTRL = 1<<4, | ||
705 | HASH_TCP_IPV6_CTRL = 1<<3, | ||
706 | HASH_IPV6_CTRL = 1<<2, | ||
707 | HASH_TCP_IPV4_CTRL = 1<<1, | ||
708 | HASH_IPV4_CTRL = 1<<0, | ||
709 | |||
710 | HASH_ALL = 0x3f, | ||
711 | }; | ||
699 | 712 | ||
700 | enum { | 713 | enum { |
701 | B6_EXT_REG = 0x0300,/* External registers (GENESIS only) */ | 714 | B6_EXT_REG = 0x0300,/* External registers (GENESIS only) */ |
@@ -2169,14 +2182,14 @@ struct tx_ring_info { | |||
2169 | unsigned long flags; | 2182 | unsigned long flags; |
2170 | #define TX_MAP_SINGLE 0x0001 | 2183 | #define TX_MAP_SINGLE 0x0001 |
2171 | #define TX_MAP_PAGE 0x0002 | 2184 | #define TX_MAP_PAGE 0x0002 |
2172 | DECLARE_PCI_UNMAP_ADDR(mapaddr); | 2185 | DEFINE_DMA_UNMAP_ADDR(mapaddr); |
2173 | DECLARE_PCI_UNMAP_LEN(maplen); | 2186 | DEFINE_DMA_UNMAP_LEN(maplen); |
2174 | }; | 2187 | }; |
2175 | 2188 | ||
2176 | struct rx_ring_info { | 2189 | struct rx_ring_info { |
2177 | struct sk_buff *skb; | 2190 | struct sk_buff *skb; |
2178 | dma_addr_t data_addr; | 2191 | dma_addr_t data_addr; |
2179 | DECLARE_PCI_UNMAP_LEN(data_size); | 2192 | DEFINE_DMA_UNMAP_LEN(data_size); |
2180 | dma_addr_t frag_addr[ETH_JUMBO_MTU >> PAGE_SHIFT]; | 2193 | dma_addr_t frag_addr[ETH_JUMBO_MTU >> PAGE_SHIFT]; |
2181 | }; | 2194 | }; |
2182 | 2195 | ||
@@ -2261,6 +2274,7 @@ struct sky2_hw { | |||
2261 | #define SKY2_HW_NEW_LE 0x00000020 /* new LSOv2 format */ | 2274 | #define SKY2_HW_NEW_LE 0x00000020 /* new LSOv2 format */ |
2262 | #define SKY2_HW_AUTO_TX_SUM 0x00000040 /* new IP decode for Tx */ | 2275 | #define SKY2_HW_AUTO_TX_SUM 0x00000040 /* new IP decode for Tx */ |
2263 | #define SKY2_HW_ADV_POWER_CTL 0x00000080 /* additional PHY power regs */ | 2276 | #define SKY2_HW_ADV_POWER_CTL 0x00000080 /* additional PHY power regs */ |
2277 | #define SKY2_HW_RSS_BROKEN 0x00000100 | ||
2264 | 2278 | ||
2265 | u8 chip_id; | 2279 | u8 chip_id; |
2266 | u8 chip_rev; | 2280 | u8 chip_rev; |
@@ -2268,6 +2282,7 @@ struct sky2_hw { | |||
2268 | u8 ports; | 2282 | u8 ports; |
2269 | 2283 | ||
2270 | struct sky2_status_le *st_le; | 2284 | struct sky2_status_le *st_le; |
2285 | u32 st_size; | ||
2271 | u32 st_idx; | 2286 | u32 st_idx; |
2272 | dma_addr_t st_dma; | 2287 | dma_addr_t st_dma; |
2273 | 2288 | ||