igb: Implement Tx timestamp
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> Reviewed-by: Sriram Yagnaraman <sriram.yagnaraman@est.tech> Signed-off-by: Jason Wang <jasowang@redhat.com>
This commit is contained in:
parent
3a9926d939
commit
3dfc616eab
@ -659,6 +659,13 @@ igb_process_tx_desc(IGBCore *core,
|
||||
tx->ctx[idx].vlan_macip_lens >> IGB_TX_FLAGS_VLAN_SHIFT,
|
||||
!!(tx->first_cmd_type_len & E1000_TXD_CMD_VLE));
|
||||
|
||||
if ((tx->first_cmd_type_len & E1000_ADVTXD_MAC_TSTAMP) &&
|
||||
(core->mac[TSYNCTXCTL] & E1000_TSYNCTXCTL_ENABLED) &&
|
||||
!(core->mac[TSYNCTXCTL] & E1000_TSYNCTXCTL_VALID)) {
|
||||
core->mac[TSYNCTXCTL] |= E1000_TSYNCTXCTL_VALID;
|
||||
e1000x_timestamp(core->mac, core->timadj, TXSTMPL, TXSTMPH);
|
||||
}
|
||||
|
||||
if (igb_tx_pkt_send(core, tx, queue_index)) {
|
||||
igb_on_tx_done_update_stats(core, tx->tx_pkt, queue_index);
|
||||
}
|
||||
|
@ -322,6 +322,9 @@ union e1000_adv_rx_desc {
|
||||
/* E1000_EITR_CNT_IGNR is only for 82576 and newer */
|
||||
#define E1000_EITR_CNT_IGNR 0x80000000 /* Don't reset counters on write */
|
||||
|
||||
#define E1000_TSYNCTXCTL_VALID 0x00000001 /* tx timestamp valid */
|
||||
#define E1000_TSYNCTXCTL_ENABLED 0x00000010 /* enable tx timestampping */
|
||||
|
||||
/* PCI Express Control */
|
||||
#define E1000_GCR_CMPL_TMOUT_MASK 0x0000F000
|
||||
#define E1000_GCR_CMPL_TMOUT_10ms 0x00001000
|
||||
|
Loading…
Reference in New Issue
Block a user