diff options
author | Stephen Hemminger <shemminger@vyatta.com> | 2010-04-24 23:04:12 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-04-24 23:04:12 -0400 |
commit | bf73130d7f98c8c4db143e2dc4982f4eefd5d5e5 (patch) | |
tree | 19a73b4ce836c4a7224706de5febb77ab1ca0c7f /drivers/net/sky2.h | |
parent | b7d6a4321195c32b548f0185a2fa0b8f6e02bcfc (diff) |
sky2: add support for receive hashing
Sky2 hardware supports hardware receive hash calculation.
Now that Receive Packet Steering is available, add support
to enable it.
This version does not depend on CONFIG_RPS. Also set_flags rejects
all values except RXHASH, so driver won't have to change next time
somebody adds a new one.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sky2.h')
-rw-r--r-- | drivers/net/sky2.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/net/sky2.h b/drivers/net/sky2.h index 125b5bd01524..545a3f41ef56 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) */ |
@@ -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; |