Skip to content
  • Maciej Lipinski's avatar
    [HAL] remove HAL_PORT_RX_SETUP_STATE_CALIB_NO_LPDC from hal_port_fsm_rx and... · 3a274df6
    Maciej Lipinski authored and Jean-Claude BAU's avatar Jean-Claude BAU committed
    [HAL] remove HAL_PORT_RX_SETUP_STATE_CALIB_NO_LPDC from hal_port_fsm_rx and move bitslide measurement
    
    Rational: when LPDC is done, we need to wait for link_up (the
    early_link_up is already set). There can be potentially time
    when we are in the HAL_PORT_RX_SETUP_STATE_DONE done state and
    the early_link_up=1 while link_up=0. This forces a bit different
    behavior for the LPDC and non-LPDC behavior. The new approarch:
    - if no LPDC, go directly to HAL_PORT_RX_SETUP_STATE_DONE and
      wait there for link_up
    - if LPDC, do the all the necessary stuff and then wait for
      link_up in HAL_PORT_RX_SETUP_STATE_DONE
    The bitslide measurement could be done only for non-LPDC, yet
    there is no harm in reading the bitslide register in all cases,
    it is hardcoded to zero when LPDC is supported. Doing it
    outside the hal_port_fsm_rx is more similar to what was in the
    original HAL, furthermore, bitslide measurement was there before
    LPDC, so it can be considered somehow independent
    3a274df6