Skip to content

Commit

Permalink
qlcnic: enable RSS for TCP over IPv6
Browse files Browse the repository at this point in the history
o This patch enables RSS for TYPE-C packets to enable RSS for TCP over IPv6

Signed-off-by: Shahed Shaikh <shahed.shaikh@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Shahed Shaikh authored and David S. Miller committed Jan 27, 2013
1 parent 776e7bd commit efbcb1b
Showing 1 changed file with 15 additions and 6 deletions.
21 changes: 15 additions & 6 deletions drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
Original file line number Diff line number Diff line change
Expand Up @@ -756,7 +756,10 @@ int qlcnic_config_bridged_mode(struct qlcnic_adapter *adapter, u32 enable)
}


#define RSS_HASHTYPE_IP_TCP 0x3
#define QLCNIC_RSS_HASHTYPE_IP_TCP 0x3
#define QLCNIC_ENABLE_TYPE_C_RSS BIT_10
#define QLCNIC_RSS_FEATURE_FLAG (1ULL << 63)
#define QLCNIC_RSS_IND_TABLE_MASK 0x7ULL

int qlcnic_82xx_config_rss(struct qlcnic_adapter *adapter, int enable)
{
Expand All @@ -783,13 +786,19 @@ int qlcnic_82xx_config_rss(struct qlcnic_adapter *adapter, int enable)
* 7-6: hash_type_ipv6
* 8: enable
* 9: use indirection table
* 47-10: reserved
* 63-48: indirection table mask
* 10: type-c rss
* 11: udp rss
* 47-12: reserved
* 62-48: indirection table mask
* 63: feature flag
*/
word = ((u64)(RSS_HASHTYPE_IP_TCP & 0x3) << 4) |
((u64)(RSS_HASHTYPE_IP_TCP & 0x3) << 6) |
word = ((u64)(QLCNIC_RSS_HASHTYPE_IP_TCP & 0x3) << 4) |
((u64)(QLCNIC_RSS_HASHTYPE_IP_TCP & 0x3) << 6) |
((u64)(enable & 0x1) << 8) |
((0x7ULL) << 48);
((u64)QLCNIC_RSS_IND_TABLE_MASK << 48) |
(u64)QLCNIC_ENABLE_TYPE_C_RSS |
(u64)QLCNIC_RSS_FEATURE_FLAG;

req.words[0] = cpu_to_le64(word);
for (i = 0; i < 5; i++)
req.words[i+1] = cpu_to_le64(key[i]);
Expand Down

0 comments on commit efbcb1b

Please sign in to comment.