]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
i40e/i40evf: Use u64 values instead of casting them in TSO function
authorAlexander Duyck <aduyck@mirantis.com>
Mon, 25 Jan 2016 05:16:20 +0000 (21:16 -0800)
committerChuck Anderson <chuck.anderson@oracle.com>
Thu, 10 Mar 2016 16:37:34 +0000 (08:37 -0800)
Orabug: 22342532

Instead of casing u32 values to u64 it makes more sense to just start out
with u64 values in the first place.  This way we don't need to create a
mess with all of the casts needed to populate a 64b value.

Signed-off-by: Alexander Duyck <aduyck@mirantis.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
(cherry picked from commit 03f9d6a59f94f70ae775ca2aae04f2accc01a973)
Signed-off-by: Brian Maly <brian.maly@oracle.com>
drivers/net/ethernet/intel/i40e/i40e_txrx.c
drivers/net/ethernet/intel/i40evf/i40e_txrx.c

index 839bfa6ac76b2e650d764b108b8780547bd2e977..ead6d55e673ec43a8722d1fb9af6c24f444568fd 100644 (file)
@@ -2266,7 +2266,7 @@ out:
 static int i40e_tso(struct i40e_ring *tx_ring, struct sk_buff *skb,
                    u8 *hdr_len, u64 *cd_type_cmd_tso_mss)
 {
-       u32 cd_cmd, cd_tso_len, cd_mss;
+       u64 cd_cmd, cd_tso_len, cd_mss;
        struct ipv6hdr *ipv6h;
        struct tcphdr *tcph;
        struct iphdr *iph;
@@ -2308,10 +2308,9 @@ static int i40e_tso(struct i40e_ring *tx_ring, struct sk_buff *skb,
        cd_cmd = I40E_TX_CTX_DESC_TSO;
        cd_tso_len = skb->len - *hdr_len;
        cd_mss = skb_shinfo(skb)->gso_size;
-       *cd_type_cmd_tso_mss |= ((u64)cd_cmd << I40E_TXD_CTX_QW1_CMD_SHIFT) |
-                               ((u64)cd_tso_len <<
-                                I40E_TXD_CTX_QW1_TSO_LEN_SHIFT) |
-                               ((u64)cd_mss << I40E_TXD_CTX_QW1_MSS_SHIFT);
+       *cd_type_cmd_tso_mss |= (cd_cmd << I40E_TXD_CTX_QW1_CMD_SHIFT) |
+                               (cd_tso_len << I40E_TXD_CTX_QW1_TSO_LEN_SHIFT) |
+                               (cd_mss << I40E_TXD_CTX_QW1_MSS_SHIFT);
        return 1;
 }
 
index a8c716b1ff3f551f99f663fc17f2a8e88785ee40..8c3d70d9698c6b0e933dc6735796f789e70ea733 100644 (file)
@@ -1526,7 +1526,7 @@ out:
 static int i40e_tso(struct i40e_ring *tx_ring, struct sk_buff *skb,
                    u8 *hdr_len, u64 *cd_type_cmd_tso_mss)
 {
-       u32 cd_cmd, cd_tso_len, cd_mss;
+       u64 cd_cmd, cd_tso_len, cd_mss;
        struct ipv6hdr *ipv6h;
        struct tcphdr *tcph;
        struct iphdr *iph;
@@ -1568,10 +1568,9 @@ static int i40e_tso(struct i40e_ring *tx_ring, struct sk_buff *skb,
        cd_cmd = I40E_TX_CTX_DESC_TSO;
        cd_tso_len = skb->len - *hdr_len;
        cd_mss = skb_shinfo(skb)->gso_size;
-       *cd_type_cmd_tso_mss |= ((u64)cd_cmd << I40E_TXD_CTX_QW1_CMD_SHIFT) |
-                               ((u64)cd_tso_len <<
-                                I40E_TXD_CTX_QW1_TSO_LEN_SHIFT) |
-                               ((u64)cd_mss << I40E_TXD_CTX_QW1_MSS_SHIFT);
+       *cd_type_cmd_tso_mss |= (cd_cmd << I40E_TXD_CTX_QW1_CMD_SHIFT) |
+                               (cd_tso_len << I40E_TXD_CTX_QW1_TSO_LEN_SHIFT) |
+                               (cd_mss << I40E_TXD_CTX_QW1_MSS_SHIFT);
        return 1;
 }