]> git.baikalelectronics.ru Git - kernel.git/commitdiff
igb/igc: use ktime accessors for skb->tstamp
authorJacob Keller <jacob.e.keller@intel.com>
Wed, 6 Nov 2019 17:18:23 +0000 (09:18 -0800)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Sat, 9 Nov 2019 00:10:51 +0000 (16:10 -0800)
When implementing launch time support in the igb and igc drivers, the
skb->tstamp value is assumed to be a s64, but it's declared as a ktime_t
value.

Although ktime_t is typedef'd to s64 it wasn't always, and the kernel
provides accessors for ktime_t values.

Use the ktime_to_timespec64 and ktime_set accessors instead of directly
assuming that the variable is always an s64.

This improves portability if the code is ever moved to another kernel
version, or if the definition of ktime_t ever changes again in the
future.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Acked-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h
drivers/net/ethernet/intel/igb/igb_main.c
drivers/net/ethernet/intel/igc/igc_main.c

index 530613f31527db5e0721bd26ad883e2e3f62d1a9..69a2daaca5c560e7bfd1f28dc894ef8c6304ab5d 100644 (file)
@@ -20,6 +20,8 @@
 
 /* API version 1.7 implements additional link and PHY-specific APIs  */
 #define I40E_MINOR_VER_GET_LINK_INFO_XL710 0x0007
+/* API version 1.9 for X722 implements additional link and PHY-specific APIs */
+#define I40E_MINOR_VER_GET_LINK_INFO_X722 0x0009
 /* API version 1.6 for X722 devices adds ability to stop FW LLDP agent */
 #define I40E_MINOR_VER_FW_LLDP_STOPPABLE_X722 0x0006
 
index 9148c62d9ac5ec03e10bd308bcc331663ea5729d..ed7e667d7eb2923a0c89f1a3344795245702162f 100644 (file)
@@ -5675,8 +5675,8 @@ static void igb_tx_ctxtdesc(struct igb_ring *tx_ring,
         * should have been handled by the upper layers.
         */
        if (tx_ring->launchtime_enable) {
-               ts = ns_to_timespec64(first->skb->tstamp);
-               first->skb->tstamp = 0;
+               ts = ktime_to_timespec64(first->skb->tstamp);
+               first->skb->tstamp = ktime_set(0, 0);
                context_desc->seqnum_seed = cpu_to_le32(ts.tv_nsec / 32);
        } else {
                context_desc->seqnum_seed = 0;
index 8e424dfab12ea9eb20a88c35504923fc89a06f6a..24888676f69ba0896a19a56ab53a6c78e8f77e82 100644 (file)
@@ -824,8 +824,8 @@ static void igc_tx_ctxtdesc(struct igc_ring *tx_ring,
         * should have been handled by the upper layers.
         */
        if (tx_ring->launchtime_enable) {
-               ts = ns_to_timespec64(first->skb->tstamp);
-               first->skb->tstamp = 0;
+               ts = ktime_to_timespec64(first->skb->tstamp);
+               first->skb->tstamp = ktime_set(0, 0);
                context_desc->launch_time = cpu_to_le32(ts.tv_nsec / 32);
        } else {
                context_desc->launch_time = 0;