@@ -146,8 +146,11 @@ static int aq_nic_update_link_status(struct aq_nic_s *self)
146146 self -> aq_hw -> aq_link_status .mbps );
147147 aq_nic_update_interrupt_moderation_settings (self );
148148
149- if (self -> aq_ptp )
149+ if (self -> aq_ptp ) {
150150 aq_ptp_clock_init (self );
151+ aq_ptp_tm_offset_set (self ,
152+ self -> aq_hw -> aq_link_status .mbps );
153+ }
151154
152155 /* Driver has to update flow control settings on RX block
153156 * on any link event.
@@ -196,6 +199,8 @@ static void aq_nic_service_task(struct work_struct *work)
196199 service_task );
197200 int err ;
198201
202+ aq_ptp_service_task (self );
203+
199204 if (aq_utils_obj_test (& self -> flags , AQ_NIC_FLAGS_IS_NOT_READY ))
200205 return ;
201206
@@ -408,6 +413,10 @@ int aq_nic_start(struct aq_nic_s *self)
408413 goto err_exit ;
409414 }
410415
416+ err = aq_ptp_irq_alloc (self );
417+ if (err < 0 )
418+ goto err_exit ;
419+
411420 if (self -> aq_nic_cfg .link_irq_vec ) {
412421 int irqvec = pci_irq_vector (self -> pdev ,
413422 self -> aq_nic_cfg .link_irq_vec );
@@ -440,9 +449,8 @@ int aq_nic_start(struct aq_nic_s *self)
440449 return err ;
441450}
442451
443- static unsigned int aq_nic_map_skb (struct aq_nic_s * self ,
444- struct sk_buff * skb ,
445- struct aq_ring_s * ring )
452+ unsigned int aq_nic_map_skb (struct aq_nic_s * self , struct sk_buff * skb ,
453+ struct aq_ring_s * ring )
446454{
447455 unsigned int ret = 0U ;
448456 unsigned int nr_frags = skb_shinfo (skb )-> nr_frags ;
@@ -973,6 +981,8 @@ int aq_nic_stop(struct aq_nic_s *self)
973981 else
974982 aq_pci_func_free_irqs (self );
975983
984+ aq_ptp_irq_free (self );
985+
976986 for (i = 0U , aq_vec = self -> aq_vec [0 ];
977987 self -> aq_vecs > i ; ++ i , aq_vec = self -> aq_vec [i ])
978988 aq_vec_stop (aq_vec );
0 commit comments