Commit d3bd3a5e authored by Padmanabh Ratnakar's avatar Padmanabh Ratnakar Committed by David S. Miller

be2net: Enable RSS UDP hashing for Lancer and Skyhawk

Signed-off-by: default avatarPadmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b4e32a71
...@@ -457,6 +457,9 @@ struct be_adapter { ...@@ -457,6 +457,9 @@ struct be_adapter {
#define lancer_chip(adapter) ((adapter->pdev->device == OC_DEVICE_ID3) || \ #define lancer_chip(adapter) ((adapter->pdev->device == OC_DEVICE_ID3) || \
(adapter->pdev->device == OC_DEVICE_ID4)) (adapter->pdev->device == OC_DEVICE_ID4))
#define skyhawk_chip(adapter) (adapter->pdev->device == OC_DEVICE_ID5)
#define be_roce_supported(adapter) ((adapter->if_type == SLI_INTF_TYPE_3 || \ #define be_roce_supported(adapter) ((adapter->if_type == SLI_INTF_TYPE_3 || \
adapter->sli_family == SKYHAWK_SLI_FAMILY) && \ adapter->sli_family == SKYHAWK_SLI_FAMILY) && \
(adapter->function_mode & RDMA_ENABLED)) (adapter->function_mode & RDMA_ENABLED))
......
...@@ -1792,6 +1792,13 @@ int be_cmd_rss_config(struct be_adapter *adapter, u8 *rsstable, u16 table_size) ...@@ -1792,6 +1792,13 @@ int be_cmd_rss_config(struct be_adapter *adapter, u8 *rsstable, u16 table_size)
req->if_id = cpu_to_le32(adapter->if_handle); req->if_id = cpu_to_le32(adapter->if_handle);
req->enable_rss = cpu_to_le16(RSS_ENABLE_TCP_IPV4 | RSS_ENABLE_IPV4 | req->enable_rss = cpu_to_le16(RSS_ENABLE_TCP_IPV4 | RSS_ENABLE_IPV4 |
RSS_ENABLE_TCP_IPV6 | RSS_ENABLE_IPV6); RSS_ENABLE_TCP_IPV6 | RSS_ENABLE_IPV6);
if (lancer_chip(adapter) || skyhawk_chip(adapter)) {
req->hdr.version = 1;
req->enable_rss |= cpu_to_le16(RSS_ENABLE_UDP_IPV4 |
RSS_ENABLE_UDP_IPV6);
}
req->cpu_table_size_log2 = cpu_to_le16(fls(table_size) - 1); req->cpu_table_size_log2 = cpu_to_le16(fls(table_size) - 1);
memcpy(req->cpu_table, rsstable, table_size); memcpy(req->cpu_table, rsstable, table_size);
memcpy(req->hash, myhash, sizeof(myhash)); memcpy(req->hash, myhash, sizeof(myhash));
......
...@@ -1089,6 +1089,8 @@ struct be_cmd_resp_query_fw_cfg { ...@@ -1089,6 +1089,8 @@ struct be_cmd_resp_query_fw_cfg {
#define RSS_ENABLE_TCP_IPV4 0x2 #define RSS_ENABLE_TCP_IPV4 0x2
#define RSS_ENABLE_IPV6 0x4 #define RSS_ENABLE_IPV6 0x4
#define RSS_ENABLE_TCP_IPV6 0x8 #define RSS_ENABLE_TCP_IPV6 0x8
#define RSS_ENABLE_UDP_IPV4 0x10
#define RSS_ENABLE_UDP_IPV6 0x20
struct be_cmd_req_rss_config { struct be_cmd_req_rss_config {
struct be_cmd_req_hdr hdr; struct be_cmd_req_hdr hdr;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment