Forum | Documentation | Website | Blog

Skip to content
Snippets Groups Projects
  1. Oct 07, 2021
  2. Sep 30, 2021
  3. Sep 27, 2021
  4. Sep 24, 2021
    • Grygorii Strashko's avatar
      net: ethernet: ti: icss_iep: fix phc2sys sync · b958a399
      Grygorii Strashko authored and Vignesh Raghavendra's avatar Vignesh Raghavendra committed
      
      Now when phc2sys is running to sync sys-clock to PHC the sync doesn't
      happen:
      
      phc2sys[2046.273]: CLOCK_REALTIME phc offset -1588667462018990140 s0 freq +100000000 delay 1048389136
      phc2sys[2047.273]: clockcheck: clock jumped backward or running slower than expected!
      phc2sys[2047.273]: CLOCK_REALTIME phc offset -1588667463942743044 s0 freq +100000000 delay      0
      phc2sys[2048.273]: CLOCK_REALTIME phc offset -864962291571182424 s2 freq +100000000 delay 1447410346965662944
      phc2sys[2049.273]: clockcheck: clock jumped backward or running slower than expected!
      phc2sys[2049.273]: CLOCK_REALTIME phc offset -1588667465352817468 s0 freq +100000000 delay 1048389136
      
      cmd master:
      phc2sys -a -rr -m -q -l5&
      ptp4l -2 -i eth0 -l5 -m -q --priority1 127&
      
      cmd slave:
      phc2sys -a -r -q -m -l6&
      ptp4l -2 -s -i eth3 -m -q -l5&
      
      The issue is due PTP IEP PHC clock was converted to use .gettimex64()
      callback and code path for AM65x SR1.0 IEP was updated properly to fill
      struct ptp_system_timestamp *sts parameter, but the same is missing for
      AM65x SR2.0 IEP code path where gettime() is implemented in icssg_prueth
      driver through .gettime() callback.
      
      Hence fix AM65x SR2.0 IEP to pass struct ptp_system_timestamp to
      icss_iep_clockops.gettime() callback and fill it properly. After this
      change:
      
      phc2sys -a -r -q -m -l6
      phc2sys[177.659]: reconfiguring after port state change
      phc2sys[177.659]: selecting CLOCK_REALTIME for synchronization
      phc2sys[177.659]: selecting eth3 as the master clock
      phc2sys[177.659]: CLOCK_REALTIME phc offset 43656345542569315 s0 freq      +0 delay    330
      phc2sys[178.659]: CLOCK_REALTIME phc offset 43656345542534414 s1 freq  -34897 delay    330
      phc2sys[179.659]: CLOCK_REALTIME phc offset        -2 s2 freq  -34899 delay    330
      phc2sys[180.660]: CLOCK_REALTIME phc offset       -19 s2 freq  -34917 delay    325
      phc2sys[181.660]: CLOCK_REALTIME phc offset       -18 s2 freq  -34921 delay    330
      phc2sys[182.660]: CLOCK_REALTIME phc offset       -48 s2 freq  -34957 delay    330
      phc2sys[183.660]: CLOCK_REALTIME phc offset       -34 s2 freq  -34957 delay    330
      phc2sys[184.660]: CLOCK_REALTIME phc offset       -32 s2 freq  -34965 delay    325
      phc2sys[185.660]: CLOCK_REALTIME phc offset       -12 s2 freq  -34955 delay    330
      phc2sys[186.660]: CLOCK_REALTIME phc offset         1 s2 freq  -34946 delay    330
      phc2sys[187.660]: CLOCK_REALTIME phc offset         2 s2 freq  -34944 delay    330
      
      Signed-off-by: default avatarGrygorii Strashko <grygorii.strashko@ti.com>
      Signed-off-by: default avatarVignesh Raghavendra <vigneshr@ti.com>
      b958a399
    • Adrien Ricciardi's avatar
      net: ti: prueth_core: always initialize firmware offsets field · 169d40d4
      Adrien Ricciardi authored and Vignesh Raghavendra's avatar Vignesh Raghavendra committed
      
      prueth_set_fw_offsets() is always called by prueth_probe(), so make sure
      that prueth->fw_offsets is never NULL.
      
      Signed-off-by: default avatarAdrien Ricciardi <aricciardi@baylibre.com>
      Signed-off-by: default avatarNeil Armstrong <narmstrong@baylibre.com>
      169d40d4
  5. Sep 23, 2021