xenomai.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
* [PATCH] drivers/net/freescale: Convert to adjfine interface
@ 2023-01-05  6:59 Jan Kiszka
  0 siblings, 0 replies; only message in thread
From: Jan Kiszka @ 2023-01-05  6:59 UTC (permalink / raw)
  To: Xenomai; +Cc: Jean-Baptiste Trédez, Gunter Grau

From: Jan Kiszka <jan.kiszka@siemens.com>

Extracted from upstream commit e2bd9c76c89fbe25df351fc5902cbbcca6a7d372.
We can apply this unconditionally as the adjfine interface was already
present in 5.10, the oldest supported kernel here.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 kernel/drivers/net/drivers/freescale/fec_ptp.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/kernel/drivers/net/drivers/freescale/fec_ptp.c b/kernel/drivers/net/drivers/freescale/fec_ptp.c
index d71eac7e19..e7ccf7d676 100644
--- a/kernel/drivers/net/drivers/freescale/fec_ptp.c
+++ b/kernel/drivers/net/drivers/freescale/fec_ptp.c
@@ -268,18 +268,21 @@ void fec_ptp_start_cyclecounter(struct net_device *ndev)
 }
 
 /**
- * fec_ptp_adjfreq - adjust ptp cycle frequency
+ * fec_ptp_adjfine - adjust ptp cycle frequency
  * @ptp: the ptp clock structure
- * @ppb: parts per billion adjustment from base
+ * @scaled_ppm: scaled parts per million adjustment from base
  *
  * Adjust the frequency of the ptp cycle counter by the
- * indicated ppb from the base frequency.
+ * indicated amount from the base frequency.
+ *
+ * Scaled parts per million is ppm with a 16-bit binary fractional field.
  *
  * Because ENET hardware frequency adjust is complex,
  * using software method to do that.
  */
-static int fec_ptp_adjfreq(struct ptp_clock_info *ptp, s32 ppb)
+static int fec_ptp_adjfine(struct ptp_clock_info *ptp, long scaled_ppm)
 {
+	s32 ppb = scaled_ppm_to_ppb(scaled_ppm);
 	unsigned long flags;
 	int neg_adj = 0;
 	u32 i, tmp;
@@ -595,7 +598,7 @@ void fec_ptp_init(struct platform_device *pdev, int irq_idx)
 	fep->ptp_caps.n_per_out = 0;
 	fep->ptp_caps.n_pins = 0;
 	fep->ptp_caps.pps = 1;
-	fep->ptp_caps.adjfreq = fec_ptp_adjfreq;
+	fep->ptp_caps.adjfine = fec_ptp_adjfine;
 	fep->ptp_caps.adjtime = fec_ptp_adjtime;
 	fep->ptp_caps.gettime64 = fec_ptp_gettime;
 	fep->ptp_caps.settime64 = fec_ptp_settime;
-- 
2.35.3

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2023-01-05  6:59 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-05  6:59 [PATCH] drivers/net/freescale: Convert to adjfine interface Jan Kiszka

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).