aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/igb/igb.h
diff options
context:
space:
mode:
authorPatrick Ohly <patrick.ohly@intel.com>2009-02-12 00:03:43 -0500
committerDavid S. Miller <davem@davemloft.net>2009-02-16 02:13:27 -0500
commit33af6bcc005a826726b48e8775df5d58112bc10b (patch)
treef56d49b32b2183e076741b590bb7ebd797d53c99 /drivers/net/igb/igb.h
parentc6cb090ba7cd88aec03718dab76e4dad56862cae (diff)
igb: use timecompare to implement hardware time stamping
Both TX and RX hardware time stamping are implemented. Due to hardware limitations it is not possible to verify reliably which packet was time stamped when multiple were pending for sending; this could be solved by only allowing one packet marked for hardware time stamping into the queue (not implemented yet). RX time stamping relies on the flag in the packet descriptor which marks packets that were time stamped. In "all packet" mode this flag is not set. TODO: also support that mode (even though it'll suffer from race conditions). Signed-off-by: John Ronciak <john.ronciak@intel.com> Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/igb/igb.h')
-rw-r--r--drivers/net/igb/igb.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/igb/igb.h b/drivers/net/igb/igb.h
index 797a9fe107ad..bb8c35cec1ab 100644
--- a/drivers/net/igb/igb.h
+++ b/drivers/net/igb/igb.h
@@ -35,6 +35,8 @@
35#include "e1000_82575.h" 35#include "e1000_82575.h"
36 36
37#include <linux/clocksource.h> 37#include <linux/clocksource.h>
38#include <linux/timecompare.h>
39#include <linux/net_tstamp.h>
38 40
39struct igb_adapter; 41struct igb_adapter;
40 42
@@ -255,6 +257,8 @@ struct igb_adapter {
255 struct net_device_stats net_stats; 257 struct net_device_stats net_stats;
256 struct cyclecounter cycles; 258 struct cyclecounter cycles;
257 struct timecounter clock; 259 struct timecounter clock;
260 struct timecompare compare;
261 struct hwtstamp_config hwtstamp_config;
258 262
259 /* structs defined in e1000_hw.h */ 263 /* structs defined in e1000_hw.h */
260 struct e1000_hw hw; 264 struct e1000_hw hw;