]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
be2net: Enable RSS UDP hashing for Lancer and Skyhawk
authorPadmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Thu, 12 Jul 2012 03:57:47 +0000 (03:57 +0000)
committerMaxim Uvarov <maxim.uvarov@oracle.com>
Mon, 27 Aug 2012 14:06:31 +0000 (07:06 -0700)
Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/benet/be.h
drivers/net/benet/be_cmds.c
drivers/net/benet/be_cmds.h

index 821edd14e27610519a7b694f4f93b388eead8de8..d449c5b5716c2c44f0096adb2ef8d3003a9476d0 100644 (file)
@@ -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))
index 7b97ae0ac11975de58e721b21e9f15bd546bec07..24bd4ca44fa1f759753a7457596d4dd41aa2953d 100644 (file)
@@ -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));
index 9247b57a2920c59c70cc043091664fe43d812f7a..c6593e173862adc3d50ed19107f43af8f1ce9b5c 100644 (file)
@@ -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;