linux/drivers/net/ethernet/freescale
Fugang Duan 34270f5f6f net: fec: ptp: correct the ENET_ATCOR value
The current driver adjust freq formula is:
fe * diff = ppb * pc
Note:
  fe: ENET ref clock frequency in Hz
  diff = inc_corr - inc: difference between default increment and correction increment
  ppb: parts per billion adjustment from base
  pc: correction period (in number of fe clock cycles)

The correction increment will be used after N cycles of regular increments,
not every N cycles (with N being the correction period). For example, set ENET_ATCOR=4,
INC=8, INC_CORR=9, there will be 4 increments of 8 (ENET_ATINC[INC]) , followed by 1
increment of 9 (ENET_ATINC[INC_CORR]).

So, the correct formula is:
	fe * diff = ppb * (pc + 1)

For ENET_ATCOR, a value 0 disables the correction counter and no corrections occur.
So base on the origin formula, set pc = pc > 1 ? pc - 1 : pc.

Signed-off-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: Frank Li <Frank.Li@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-06-07 15:30:42 -07:00
..
fs_enet net/fsl: constify of_device_id array 2015-03-17 15:00:21 -04:00
Kconfig net/fsl: remove dependency FSL_SOC from MDIO 2015-03-11 16:37:50 -04:00
Makefile gianfar: Remove sysfs stubs for FIFOCFG and stashing 2014-02-18 15:03:02 -05:00
fec.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-01-15 00:53:17 -05:00
fec_main.c net: fec: add support of ethtool get_regs 2015-05-11 14:09:36 -04:00
fec_mpc52xx.c net/fsl: constify of_device_id array 2015-03-17 15:00:21 -04:00
fec_mpc52xx.h drivers/net: fix up stale paths from driver reorg 2012-01-30 12:54:40 -05:00
fec_mpc52xx_phy.c net/fsl: constify of_device_id array 2015-03-17 15:00:21 -04:00
fec_ptp.c net: fec: ptp: correct the ENET_ATCOR value 2015-06-07 15:30:42 -07:00
fsl_pq_mdio.c net/fsl: constify of_device_id array 2015-03-17 15:00:21 -04:00
gianfar.c gianfar: Enable changing mac addr when if up 2015-05-09 17:37:46 -04:00
gianfar.h gianfar: Make FCB access endian safe 2015-03-15 19:56:47 -04:00
gianfar_ethtool.c gianfar: correct the bad expression while writing bit-pattern 2015-02-04 13:55:24 -08:00
gianfar_ptp.c ptp: gianfar: use helpers for converting ns to timespec. 2015-03-31 17:19:18 -04:00
ucc_geth.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-04-02 16:16:53 -04:00
ucc_geth.h net: remove skb recycling 2012-10-07 00:40:54 -04:00
ucc_geth_ethtool.c net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
xgmac_mdio.c net/fsl: constify of_device_id array 2015-03-17 15:00:21 -04:00