Forum | Documentation | Website | Blog

Skip to content
Snippets Groups Projects
  1. Oct 13, 2021
  2. Oct 09, 2021
  3. Oct 07, 2021
  4. Sep 30, 2021
  5. Sep 27, 2021
  6. 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
  7. Sep 23, 2021