Skip to content
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

Support margin time #21

Closed
wants to merge 10 commits into from
Closed

Conversation

churchmice
Copy link

The following features are enhanced :

  1. margin time support
    Per pcie spec 4.2.18.4
    "Software should allow margining to run for at least 10^8 bits margined by the Receiver under test before
    switching to the next margin step location (unless the error limit is exceeded)."

The current LMT code does not consider this and the margin is done immediately.
A new -m margin_time option is added to let the lane execute at least margin_time seconds.

  1. Fix incorrect margin result
    When a margin command is sent to the device, it is possible the device will need some time to prepare the margin, in other words, we need to check the step_margin_execution_status is 10 ( margin in progress ) before concluding the margin is in progress.

We run the original code on our products and find the margin results are inconsistent:

  1. As the step increases, the margin result experience pass, fail ,pass scenario
  2. we find the sample_count_bits is only 512 bits even the error_count is 0

After the two fixes, the margin result is consistent.

Sathish Sekar and others added 10 commits November 15, 2023 10:03
…margin info.

This is required for BRCM PCIe switches.

Signed-off-by: Sathish Sekar <[email protected]>
…ix/brcm_pcie_switch_settings

Fixed the sequence to revert to normal settings before lane margin
Signed-off-by: Sathish Sekar <[email protected]>
…ix/handle-empty-string

Replaced the string check to use boolean instead of None
@mimir-d
Copy link
Contributor

mimir-d commented Aug 21, 2024

hey @churchmice; instructions on how to fix the DCO check are here https://github.com/opencomputeproject/ocp-diag-pci_lmt/pull/21/checks

but first you'll need to rebase your branch on dev; it looks like you started your fork from the ocp-diag-pci_lmt:main branch, which is incorrect if you're trying to add changes to the dev branch here (since you're trying to merge from your local main to an upstream dev branch).

  1. pull the upstream ocp-diag-pci_lmt:dev branch into your fork
  2. rebase your 2 commits (c0785e1, bebfece) onto churchmice/ocp-diag-pci_lmt:dev
  3. rewrite history to have all the commits signed off (see DCO help instructions) -- this can be done in step 2 as well
  4. create a new PR from your churchmice/ocp-diag-pci_lmt:dev into upstream ocp-diag-pci_lmt:dev; you can't change the source branch in this PR Support margin time  #21 post-creation

@churchmice
Copy link
Author

hi, @mimir-d , thanks for the detailed instruction.
I am new to github and will try to create a new PR based on your instruction.

@churchmice churchmice closed this Aug 21, 2024
@mimir-d
Copy link
Contributor

mimir-d commented Aug 22, 2024

that's ok, everyone starts from somewhere. let me know if the above steps dont work

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