Skip to content

Try to reset the non-initialized GE1/1 trigger links

Laurent Petre requested to merge feature/oh-trigger-links-retries into main

Description

This MR aims at fixing the very long-lasting trigger links initialization issue by issuing MGT resets in software. The final solution will come from the firmware realm, but these routines should give us a better grasp on what to implement.

This MR is divided into two commits:

  1. The first commit ensures that the MGT TX send a valid 8b10b stream by looking at the data with the MGT RX in loopback mode. Failing to send a valid bitstream for all 4 OptoHybrid MGT will result in the whole OptoHybrid being excluded from data-taking.

  2. The second commit ensures that only OptoHybrids that have both their 2 links to the GEM back-end working are enabled in the EMTF path. MGT RX resets are issued in order to try to recover links. Failing to do this, the OptoHybrid will only be masked from the trigger path to the EMTF.

This code should be no-op on non-GE1/1 flavors.

Related Issue

How Has This Been Tested?

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

Merge request reports