mbox series

[pciutils,0/6] pcilmr: Improve grading of the margining results

Message ID 20240522160634.29831-1-n.proshkin@yadro.com (mailing list archive)
Headers show
Series pcilmr: Improve grading of the margining results | expand

Message

Nikita Proshkin May 22, 2024, 4:06 p.m. UTC
Original version of the pcilmr utility used values from the Table 8-11 of
the PCIe Base Spec Rev 5.0 to evaluate lanes. But it seems that these
values relate only to the margining equipment and are not relevant to
evaluating the quality of connections.

Patch set improves grading from two sides:
* The PCIe Base Spec Rev 5.0 sets the minimum values for the eye in the
  section 8.4.2. Change default grading values in the utility according to
  this section. Keep in mind that the Spec uses full eye width and height
  terms and that reference values depend on the current Link speed;
* Manufacturers can provide criteria for their devices that
  differ from the standard ones. Usually this information falls under the
  NDA, so add an option to the utility that will allow the user to set
  necessary criteria for evaluating the quality of lanes.

At the same time, fix the known limitations associated with arguments
parsing.

With the new changes made, the logic responsible for arguments parsing has
become too large, so put it in a separate file.

Nikita Proshkin (6):
  pcilmr: Ensure that utility can accept either Downstream or Upstream
    link port
  pcilmr: Move most of pcilmr arguments parsing logic to the separate
    file
  pcilmr: Add new grading option
  pcilmr: Add option to configure margining dwell time
  pcilmr: Apply grading quirk for Ice Lake RC ports
  pcilmr: Update usage and man: new arguments format and grading

 Makefile             |   2 +-
 lmr/lmr.h            | 103 +++++++++----
 lmr/margin.c         |  72 ++++-----
 lmr/margin_args.c    | 302 ++++++++++++++++++++++++++++++++++++
 lmr/margin_hw.c      |  57 ++++++-
 lmr/margin_log.c     |  23 ++-
 lmr/margin_results.c | 322 +++++++++++++++++++++++++--------------
 pcilmr.c             | 353 ++++++-------------------------------------
 pcilmr.man           | 138 +++++++++++++----
 9 files changed, 841 insertions(+), 531 deletions(-)
 create mode 100644 lmr/margin_args.c

Comments

Martin Mareš May 27, 2024, 12:38 p.m. UTC | #1
Hi!

> Original version of the pcilmr utility used values from the Table 8-11 of
> the PCIe Base Spec Rev 5.0 to evaluate lanes. But it seems that these
> values relate only to the margining equipment and are not relevant to
> evaluating the quality of connections.
> 
> Patch set improves grading from two sides:
> * The PCIe Base Spec Rev 5.0 sets the minimum values for the eye in the
>   section 8.4.2. Change default grading values in the utility according to
>   this section. Keep in mind that the Spec uses full eye width and height
>   terms and that reference values depend on the current Link speed;
> * Manufacturers can provide criteria for their devices that
>   differ from the standard ones. Usually this information falls under the
>   NDA, so add an option to the utility that will allow the user to set
>   necessary criteria for evaluating the quality of lanes.
> 
> At the same time, fix the known limitations associated with arguments
> parsing.
> 
> With the new changes made, the logic responsible for arguments parsing has
> become too large, so put it in a separate file.

Thanks, applied.

				Martin