|
@@ -221,6 +221,7 @@ struct igb_ring {
|
|
struct igb_tx_buffer *tx_buffer_info;
|
|
struct igb_tx_buffer *tx_buffer_info;
|
|
struct igb_rx_buffer *rx_buffer_info;
|
|
struct igb_rx_buffer *rx_buffer_info;
|
|
};
|
|
};
|
|
|
|
+ unsigned long last_rx_timestamp;
|
|
void *desc; /* descriptor ring memory */
|
|
void *desc; /* descriptor ring memory */
|
|
unsigned long flags; /* ring specific flags */
|
|
unsigned long flags; /* ring specific flags */
|
|
void __iomem *tail; /* pointer to ring tail register */
|
|
void __iomem *tail; /* pointer to ring tail register */
|
|
@@ -415,10 +416,12 @@ struct igb_adapter {
|
|
struct work_struct ptp_tx_work;
|
|
struct work_struct ptp_tx_work;
|
|
struct sk_buff *ptp_tx_skb;
|
|
struct sk_buff *ptp_tx_skb;
|
|
unsigned long ptp_tx_start;
|
|
unsigned long ptp_tx_start;
|
|
|
|
+ unsigned long last_rx_ptp_check;
|
|
spinlock_t tmreg_lock;
|
|
spinlock_t tmreg_lock;
|
|
struct cyclecounter cc;
|
|
struct cyclecounter cc;
|
|
struct timecounter tc;
|
|
struct timecounter tc;
|
|
u32 tx_hwtstamp_timeouts;
|
|
u32 tx_hwtstamp_timeouts;
|
|
|
|
+ u32 rx_hwtstamp_cleared;
|
|
|
|
|
|
char fw_version[32];
|
|
char fw_version[32];
|
|
#ifdef CONFIG_IGB_HWMON
|
|
#ifdef CONFIG_IGB_HWMON
|
|
@@ -486,6 +489,7 @@ extern void igb_ptp_init(struct igb_adapter *adapter);
|
|
extern void igb_ptp_stop(struct igb_adapter *adapter);
|
|
extern void igb_ptp_stop(struct igb_adapter *adapter);
|
|
extern void igb_ptp_reset(struct igb_adapter *adapter);
|
|
extern void igb_ptp_reset(struct igb_adapter *adapter);
|
|
extern void igb_ptp_tx_work(struct work_struct *work);
|
|
extern void igb_ptp_tx_work(struct work_struct *work);
|
|
|
|
+extern void igb_ptp_rx_hang(struct igb_adapter *adapter);
|
|
extern void igb_ptp_tx_hwtstamp(struct igb_adapter *adapter);
|
|
extern void igb_ptp_tx_hwtstamp(struct igb_adapter *adapter);
|
|
extern void igb_ptp_rx_rgtstamp(struct igb_q_vector *q_vector,
|
|
extern void igb_ptp_rx_rgtstamp(struct igb_q_vector *q_vector,
|
|
struct sk_buff *skb);
|
|
struct sk_buff *skb);
|