1. 11 Oct, 2019 1 commit
    • Jean-Claude BAU's avatar
      Fix select() call returning EINVAL · f80b4f95
      Jean-Claude BAU authored
      During intensive tests playing with ports up and down, the select() call
      returned sometime the error value EINVAL because the given timeout was
  2. 24 May, 2019 1 commit
  3. 25 Feb, 2019 1 commit
    • baujc's avatar
      Big update 2 · 515af578
      baujc authored
      . Better integrate of code optimization with PPSi Kconfig
      . PPSi Kconfig changes to simplify the code in PPSi and avoid #ifdef ..
      . Improve code optimization
      . Move some declaration in ppsi.h in other files to ligthen ppsi.h
      . Improvement of timers: global or instance dependent, dyn. allocation,
      renaming for better diagnostics, disabling allowed, ...
      . New behaviour for the PPS output generation (configurable,...)
      . Move control of the timing mode from HAL to PPSi
      . Optimization of code when a Protocol extension is not available
      . BMCA: Calculate the ebest,... only one time and then trigger all
      instances to execute the bmca state descision
      . Fix bug in the calculation of the clockIdentity to bring it into
      compliance with PTP spec 2008 document
      . Fix a bug related to Announce message received in SLAVE/UNCALIB
      . WR ext: use dynamic timer and adapt to new PPS generation
      . HA ext: Fix bug in fault injection mechanism
  4. 29 Jan, 2019 1 commit
    • baujc's avatar
      Big update ... · c81db09e
      baujc authored
      - New L1Sync and PTP servo calculation (delayAsym,...)
      - Make function calls more uniforms between extensions
      - refactoring
      - Add a new state machine to enable/disable an extension and provide
      only PTP support: New timer, new hooks, ...
      - Fix bug in time format conversion
      - Code removed when an extension is not required (#ifdef XXX )
      - Align the PTP and L1Sync servo calculation (shared fct, same
      - Force only one servo running at a given time for a given instance
      - New servo reset hook : called by main loop
      - Add function to converte a time into a string
      - Force to stay in FAULTY state during 60s
      - Optimise function wrs_enable_timing_output()
  5. 21 Nov, 2018 3 commits
    • Jean-Claude BAU's avatar
      Fix issues with standart ptp (e2e & p2p) · ada5fb06
      Jean-Claude BAU authored
      In the ptp servo the adjustment of the time was too slow. When the
      difference of the time with the master was less than 1 second, the
      adjustment was done only with the frequency. In case if the difference
      is 0.999s, it can take a very long time to adjust the time.
      Changes made :
      - Adjust with frequency only when time difference is below 20ms
      - Check the timestamp validity before each calculation
      - Create a new function to check the timestamps and use it on all
      servos. This improve significantly the size of the code.
      - Add verification in order not to set an invalid UNIX time
    • Jean-Claude BAU's avatar
      Optimization timeout generation · a1858022
      Jean-Claude BAU authored
      - Reset local remaining time-out when 'select' exits due to a signal
    • Jean-Claude BAU's avatar
      Change the pp_msgtype_info structure · e0b61c86
      Jean-Claude BAU authored
      - This structure is changed in order to be able to use SIGNALING
      messages with non-fowardable MAC address. This have an impact on many
      places as we have to distinguish two kind of signaling messages
  6. 12 Sep, 2017 1 commit
    • Sven Meier's avatar
      utc&leap: fixed kernel issue with leap second handling · b2f4280d
      Sven Meier authored
      kernel has two bugs regarding leap second handling: it need to have the
      leap second flags cleared twice before setting them and it doesn't clear the leap second flags after the leap second happened. A workaround was implemented
  7. 29 Aug, 2017 3 commits
  8. 09 Aug, 2017 1 commit
  9. 07 Aug, 2017 1 commit
  10. 03 Aug, 2017 1 commit
  11. 20 Jul, 2017 2 commits
    • Sven Meier's avatar
      bmc & wr locking: added leap second propagation and added reset of locking · bc586acd
      Sven Meier authored
      Leap seconds are now also fetched from the system in case we are a grandmaster
      A reset of the locking procedure was added so a locked switch can get master again
    • Sven Meier's avatar
      bmc & cleanup: fixes after the audit portings · 8633ced3
      Sven Meier authored
      The audit portings changed the timely behaviour of the ppsi which cause wrong behaviours,
      the timeout scheme was changed to only reset timeouts where needed and in all non PTP
      states. UTC offset is now fetched from the system where supported, link up/down is now
      considered in the BMC, also some state changes where cleaned up to be out of the BMC, e.g.
      state changes based on timeouts between PreMaster and Master or between Uncalibrated and Slave.
  12. 06 Apr, 2017 1 commit
  13. 23 Feb, 2017 2 commits
  14. 31 Jan, 2017 1 commit
  15. 12 Dec, 2016 1 commit
  16. 02 Dec, 2016 1 commit
  17. 21 Nov, 2016 1 commit
  18. 04 Nov, 2016 1 commit
    • Alessandro Rubini's avatar
      remove arguments to net->send; some fixes as side effect · faa87f7a
      Alessandro Rubini authored
      Most arguments of net->send are redundant, as the ppi includes all
      info. In particular, chtype and "is_pdelay_addr" derive from the
      message type.  And the timestamp is always internal.
      I chose not to remove message, len and msgtype because the message
      being sent includes the header (ppi->tx_offset), so there's some
      calculation to extract them.  This may happen in a later commit, if I
      find that is a size improvement.
      Bugs fixed as a side effect:
         - the "if" for "is_pelay" missed PDELAY_RESP_F_UP (now it's in msgtype.c)
         - wrpc pdelay was always using the e2e mac address
      This commit decreases the size of all archs by 60 bytes, but increases
      wrpc by 20 bytes because of the fix above
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
  19. 20 Sep, 2016 1 commit
  20. 16 May, 2016 2 commits
  21. 08 Apr, 2016 1 commit
  22. 21 Aug, 2015 1 commit
    • Alessandro Rubini's avatar
      unix and wrs socket: open in non-blocking mode and report write errors · 4c6953fb
      Alessandro Rubini authored
      It may happen, though rarely, that frames are not sent (or not freed
      at kernel level), and we build up an output queue, so at some point we
      get -EAGAIN on sending.
      With blocking writes, this situation was stalling the whole process.
      This patch helped us diagnosing a problem in our own network driver,
      which had a memory leakage, but using non-blocking sockets and
      reporting erors is the right thing to do anyways.
      This patch reports the error using pp_diag with a priority 0; thus
      the message is always printed, but by virtue of pp_diag we have the
      name of the port automatically added.
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
  23. 09 Jul, 2015 1 commit
  24. 06 Jul, 2015 6 commits
  25. 07 Nov, 2014 3 commits
  26. 22 Sep, 2014 1 commit
    • Alessandro Rubini's avatar
      general: rename freq_ppm to freq_ppb (and fix arch-bare) · aa29b554
      Alessandro Rubini authored
      All adjustments are passed as part-per-billion, so after getting mad
      in understanding what freq_ppm was, I renamed all of them to freq_ppb.
      While making changes I verified this is what it is. Thus I fixed the comment
      in ppsi.h (that was wrong by a factor of 64) and the adjustment code in
      bare-time.c that made the same error (I admit I don't test arch-bare often).
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>