From: Padmanabh Ratnakar Date: Thu, 12 Jul 2012 03:57:47 +0000 (+0000) Subject: be2net: Enable RSS UDP hashing for Lancer and Skyhawk X-Git-Tag: v2.6.39-400.9.0~364 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=c56dc042cedf62d82e4951b30ac5eea807444dbc;p=users%2Fjedix%2Flinux-maple.git be2net: Enable RSS UDP hashing for Lancer and Skyhawk Signed-off-by: Padmanabh Ratnakar Signed-off-by: David S. Miller --- diff --git a/drivers/net/benet/be.h b/drivers/net/benet/be.h index 821edd14e276..d449c5b5716c 100644 --- a/drivers/net/benet/be.h +++ b/drivers/net/benet/be.h @@ -453,6 +453,9 @@ struct be_adapter { #define lancer_chip(adapter) ((adapter->pdev->device == OC_DEVICE_ID3) || \ (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 || \ adapter->sli_family == SKYHAWK_SLI_FAMILY) && \ (adapter->function_mode & RDMA_ENABLED)) diff --git a/drivers/net/benet/be_cmds.c b/drivers/net/benet/be_cmds.c index 7b97ae0ac119..24bd4ca44fa1 100644 --- a/drivers/net/benet/be_cmds.c +++ b/drivers/net/benet/be_cmds.c @@ -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->enable_rss = cpu_to_le16(RSS_ENABLE_TCP_IPV4 | RSS_ENABLE_IPV4 | 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); memcpy(req->cpu_table, rsstable, table_size); memcpy(req->hash, myhash, sizeof(myhash)); diff --git a/drivers/net/benet/be_cmds.h b/drivers/net/benet/be_cmds.h index 9247b57a2920..c6593e173862 100644 --- a/drivers/net/benet/be_cmds.h +++ b/drivers/net/benet/be_cmds.h @@ -1089,6 +1089,8 @@ struct be_cmd_resp_query_fw_cfg { #define RSS_ENABLE_TCP_IPV4 0x2 #define RSS_ENABLE_IPV6 0x4 #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_hdr hdr;