ptp: convert remaining drivers to adjfine interface
[sfrench/cifs-2.6.git] / drivers / net / ethernet / cavium / liquidio / lio_main.c
index d312bd5949353c6b9fa1a0318a30c2dbcfbd04bb..cc88e743d96320b6b27975866ae5e571f4882c84 100644 (file)
@@ -1512,14 +1512,17 @@ static void free_netsgbuf_with_resp(void *buf)
 }
 
 /**
- * liquidio_ptp_adjfreq - Adjust ptp frequency
+ * liquidio_ptp_adjfine - Adjust ptp frequency
  * @ptp: PTP clock info
- * @ppb: how much to adjust by, in parts-per-billion
+ * @scaled_ppm: how much to adjust by, in scaled parts-per-million
+ *
+ * Scaled parts per million is ppm with a 16-bit binary fractional field.
  */
-static int liquidio_ptp_adjfreq(struct ptp_clock_info *ptp, s32 ppb)
+static int liquidio_ptp_adjfine(struct ptp_clock_info *ptp, long scaled_ppm)
 {
        struct lio *lio = container_of(ptp, struct lio, ptp_info);
        struct octeon_device *oct = (struct octeon_device *)lio->oct_dev;
+       s32 ppb = scaled_ppm_to_ppb(scaled_ppm);
        u64 comp, delta;
        unsigned long flags;
        bool neg_adj = false;
@@ -1643,7 +1646,7 @@ static void oct_ptp_open(struct net_device *netdev)
        lio->ptp_info.n_ext_ts = 0;
        lio->ptp_info.n_per_out = 0;
        lio->ptp_info.pps = 0;
-       lio->ptp_info.adjfreq = liquidio_ptp_adjfreq;
+       lio->ptp_info.adjfine = liquidio_ptp_adjfine;
        lio->ptp_info.adjtime = liquidio_ptp_adjtime;
        lio->ptp_info.gettime64 = liquidio_ptp_gettime;
        lio->ptp_info.settime64 = liquidio_ptp_settime;