Skip to content

Conversation

@BenReed161
Copy link
Collaborator

@BenReed161 BenReed161 commented May 16, 2025

Various commands updated to support gen 5, and added support for new commands introduced in gen5.

Updated:

  • loopback
  • pattern gen
  • port eq settings
  • link error injection
  • eye catpure support

New:

  • add aer event generation
  • tlp lcrc error injection

BenReed161 and others added 20 commits March 31, 2025 15:55
The loopback set function sub command loopback type is
updated to follow the gen 5 spec. Added gen5 speed to list
of supported loopback speeds in help message.
Set command for loopback mode RX->TX now functions correctly
and does not disable itself, instead enabling correct loopback flows
following the diag version of the command.
Add the AER event generate commands in the diag library.
This command allow the generation of AER events without the use of
data.
The existing implementation only supports the generation of error
events associated with Corrected Error (CE).

Modifications in diag modules (CLI and Library).
Include the inject header file for switchtec library to invoke
the link inject error options.
Modify the argument -e to the tlp lcrc error injection.
When user sets -e to 1, then the tlp lcrc error injection is enabled
when user sets -e to 0, then the tlp lcrc error injection is disabled
Existing switchtec utility functions were implemented specifically
for Gen4 switch. The command and output data formats were modified
for Gen5 switches.

This commit takes care of using the correct command options and the
output format specific to Gen5. The switchtec utility library can
determine the version (Gen5/Gen4) at run and call the version
specific functions.

Port Equalization commands supported under diag options are
1. port-eq-txcoeff
2. port-eq-txfslf
3. port-eq-txtable

The -P (previous) equalization values are not currently supported
in the Gen5 version due to firmware change requirement.
Added gen5 eye command to original eye command and added gen5
detection as part of the function.
Removed gen 5 command
Renamed equalization functions to not break current API implementations
by users , and retain naming structure from previous ver.

Seperated gen5 versus regular function call defaulted to gen4 now uses
function get_gen to determine the generation of device and then calls
the appropriate function. default function is gen4 version.
Update the loopback code to add a new function to handle
gen 5 loopback seperatly due to the changes compared to gen4.
Renamed types for gen5 to better reflect spec.
Added checking for ensuring there is no crossover between the
gen 4 / 5 arguements.
Added check for only gen4 args on a gen5 system.
Added arguements for the parallel option and the external option
and added additional information in the help option to show the
arguement supports gen 4 / gen 5.
Added support for the MRPC pattern generator and monitor set/get commands
Now correctly sets the sub command ID to the correct version depending
on gen or not. New command line arg with the pattern gen function for
the link speed that the pattern generator command needs in the
gen5 spec.
@BenReed161 BenReed161 force-pushed the update-commands-to-gen5 branch from 689d815 to 3304e0c Compare May 23, 2025 22:23
@BenReed161 BenReed161 closed this May 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants