1. 17 Jul, 2014 1 commit
  2. 18 Jun, 2014 2 commits
    • Wesley W. Terpstra's avatar
      wr_endpoint: fix (one cause of) packet filter misclassification · 4177c4b6
      Wesley W. Terpstra authored
      The symptom of this bug is that about 3% of the time a WR endpoint will
      power-up such that it always fails to reach track phase state.  This is
      caused by the endpoint dropping the first PTP packet after calibration.
      
      The packet is dropped, because it is misclassified. This happens because
      it is possible for the U_match_buffer and fab_pipe in the RX path to
      become desynchronized. When this happens, packets receive the classification
      of the previous packet. Since calibration is slow, it is virtually assured
      that a BOOTP request is seen, leading to the misclassification of the
      following PTP packet.
      
      The U_match_buffer can become desynchronized multiple ways, but the one we
      saw "in the wild" is due to the lowering of PFCR0 in wrpc-sw during packet
      filter configuration.  Due to an unsafe transfer from clk_sys to clk_rx in
      ep_packet_filter:p_gen_status, it is possible for the transition of PFCR0 to
      cause a glitch that sets done_int high, even though there is no packet being
      processed.  This puts an excess class tag into U_match_buffer, which leads
      to the mismatch between packets and classes.  This patch fixes the transfer.
      
      Unfortunately, even after this patch, it is my opinion that this code
      remains completely unsafe.  The core problem is that desynchronization of
      U_match_buffer and fab_pipe is possible at all.  This is a very brittle
      design.  One can imagine many scenarios that can lead to this state, after
      which point the WR endpoint will never recover.  A simple example: consider
      a packet arriving while PFCR0 is switched.  ep_rx_path:mbuf_we can then
      pulse twice, once, or never for the packet depending on the race condition
      between ematch_done and pfilter_done.  If this happens, the RX path will
      remain permanently desynchronized.
      4177c4b6
    • Wesley W. Terpstra's avatar
      softpll: fix power-on reset glitch · 1098119a
      Wesley W. Terpstra authored
      The softpll_ng takes in a reset line from the sys clock domain.
      It instantiates several dmtd_with_deglitcher FSMs which need reset.
      
      The symptom of this bug is that on 3% of power-ups, some of the
      deglitchers will not issue tags, because they power-on into an
      undefined FSM state. This is caused by feeding the reset from a
      different clock domain, leading to a race condition on release.
      
      There was some code that probably used to solve this issue, whereby
      the sys reset was synchronized to the clk_dmtd_i. However, the
      softpll_ng instantiates multiple deglitchers, each in a different
      domain and thus this single synchronizer chain can not work for all
      of the deglitcher instances.
      
      The fix is simple: synchronize the reset for each clock domain.
      1098119a
  3. 22 May, 2014 1 commit
    • Wesley W. Terpstra's avatar
      arria5: revert commit 34d0a504 · b230184b
      Wesley W. Terpstra authored
      When using a 1GHz WR-synchronous sample clock to drive LVDS, the
      phase between the clock enable and VCO should be -1.5 periods.
      
      There was a bug in the project whereby the altera_phase core was
      misconfigured to move the WR ref in relation to the TX clock, while
      forgetting to move the LVDS VCO and enable clocks. Now that this
      phase shift is applied equally to all PLL outputs, the work around
      discovered in commit 34d0a504 is not necessary.
      b230184b
  4. 19 May, 2014 2 commits
  5. 16 May, 2014 3 commits
  6. 12 May, 2014 1 commit
  7. 08 May, 2014 10 commits
  8. 28 Apr, 2014 1 commit
  9. 04 Apr, 2014 2 commits
  10. 03 Apr, 2014 2 commits
  11. 27 Mar, 2014 2 commits
  12. 26 Mar, 2014 1 commit
  13. 24 Mar, 2014 1 commit
  14. 19 Mar, 2014 1 commit
    • Grzegorz Daniluk's avatar
      wr_endpoint: fix sof detection in tx_framer · 3fbaa93c
      Grzegorz Daniluk authored
      Under higher load of traffic SOF was being detected while main FSM was
      not yet done with sending frame. That caused OOB FSM to reset and "tx
      timestamp never became available" warnings in WR PTP Core software.
      3fbaa93c
  15. 18 Mar, 2014 1 commit
  16. 13 Mar, 2014 1 commit
  17. 07 Mar, 2014 1 commit
  18. 06 Mar, 2014 1 commit
  19. 05 Mar, 2014 1 commit
  20. 07 Feb, 2014 1 commit
  21. 06 Feb, 2014 1 commit
  22. 23 Dec, 2013 1 commit
  23. 20 Dec, 2013 2 commits