• Alessandro Rubini's avatar
    wr-servo: loose track_phase when big offset · 5c5c8039
    Alessandro Rubini authored
    Even if we count failure events for SNMP (in the switch), we actually
    never generate them.  The code has always been tracking phase for
    any offset smaller than one clock tick (8ns or 16ns), but we'd better
    jump in phase (and leave TRACK_PHASE servo state) and this is a failure.
    
    With this commit, to loos track_phase in wrpc you can just force
    the setpoint far enough from the calculated one: e.g.
    
      [..] cko:2 setp:929 [...]
    
      wrc# pll sps 0 500
    
      [...]  ss:'SYNC_PHASE' [...] cko:431 setp:1367 [...]
    
    then it takes 15 iterations to converge, but that's because the
    calculations the first time (as shown) are wrong. A real glitch
    loosing track_phase would be recovered in 3 iterations.
    Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
    5c5c8039
Name
Last commit
Last update
..
Makefile Loading commit data...
common-fun.c Loading commit data...
fsm-table.c Loading commit data...
hooks.c Loading commit data...
state-wr-calibrated.c Loading commit data...
state-wr-calibration.c Loading commit data...
state-wr-link-on.c Loading commit data...
state-wr-locked.c Loading commit data...
state-wr-m-lock.c Loading commit data...
state-wr-present.c Loading commit data...
state-wr-resp-calib-req.c Loading commit data...
state-wr-s-lock.c Loading commit data...
wr-api.h Loading commit data...
wr-constants.h Loading commit data...
wr-msg.c Loading commit data...
wr-servo.c Loading commit data...