Skip to content

Add ordered set analyzer commands #352

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

BenReed161
Copy link
Contributor

Add ordered set commands
Add requested OSA ordered set analyzer coammnds to the switchtec user
commands to handle OSA split into 7 commands which reflect each MRPC
sub command as part of the OSA group.

osa - command which triggers specific osa operations on a given stack

osa config type - configure the osa type 4 different masks. Lane mask
to trigger on specific lanes, a directional mask, a link rate mask, and
ordered set type mask, each on a given stack

osa config pattern - configure osa pattern with similar masks as
previous minus a directional mask. Value and mask dwords are added to
configure the value of the pattern and the mask for the pattern.
The corresponding bit in the pattern value is used for matching.

osa config misc - This is for triggering the configuration on trigger
types not covered by the previous two commands. There a trigger enable
mask for 3 corresponding types: LTMON, other HW blocks, general
purpose.

osa capture control - This command allows the user to control how the
OSA is captured along lane and direction using masks as well how many
entries to capture, what types, and specific modes to capture on.

osa dump config - This command will dump the config on the specified
stack.

osa dump data - This command will dump the data for the osa given a
lane mask and directional mask, for a specific stack.

Copy link
Collaborator

@lsgunth lsgunth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I only did a very cursory look. Lots of code here. Seems reasonable from a high level.

One issue is the patches appear to be out of order seeing the first patch uses convert_hex_str() which is introduced by the second patch.

There used to be continuous integration on this project to prevent things like this. Seems to be broken now.

renamed the convert_str_to_dword function to convert_hex_str, now
instead of a hardcoded max length of 8 or dword, now applies to more
general hex strings, can be defined depending on the hex being decoded
using hex_len_max param
@BenReed161 BenReed161 force-pushed the add-ordered-set-analyzer-commands branch 2 times, most recently from 20a98dc to 1e816e8 Compare July 7, 2025 21:46
Add requested OSA ordered set analyzer coammnds to the switchtec user
commands to handle OSA split into 7 commands which reflect each MRPC
sub command as part of the OSA group.

osa - command which triggers specific osa operations on a given stack

osa config type - configure the osa type 4 different masks. Lane mask
to trigger on specific lanes, a directional mask, a link rate mask, and
ordered set type mask, each on a given stack

osa config pattern - configure osa pattern with similar masks as
previous minus a directional mask. Value and mask dwords are added to
configure the value of the pattern and the mask for the pattern.
The corresponding bit in the pattern value is used for matching.

osa config misc - This is for triggering the configuration on trigger
types not covered by the previous two commands. There a trigger enable
mask for 3 corresponding types: LTMON, other HW blocks, general
purpose.

osa capture control - This command allows the user to control how the
OSA is captured along lane and direction using masks as well how many
entries to capture, what types, and specific modes to capture on.

osa dump config - This command will dump the config on the specified
stack.

osa dump data - This command will dump the data for the osa given a
lane mask and directional mask, for a specific stack.
@BenReed161 BenReed161 force-pushed the add-ordered-set-analyzer-commands branch from 1e816e8 to d660bda Compare July 7, 2025 21:49
@kelvin-cao kelvin-cao merged commit 9ea0ca8 into Microsemi:master Jul 14, 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