DPDK-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Roman Khromenok <roma55592@yandex.ru>
To: dev@dpdk.org
Cc: thomas@monjalon.net, andrew.rybchenko@oktetlabs.ru,
	stephen@networkplumber.org
Subject: [PATCH v2 0/4] ethdev: report module signal status flags
Date: Thu,  8 Oct 2026 20:02:34 +0200	[thread overview]
Message-ID: <cover.1791482259.git.roma55592@yandex.ru> (raw)
In-Reply-To: <cover.1791447600.git.roma55592@yandex.ru>

The module EEPROM decoder shows the identity and the digital
diagnostics of a module, but not the signal status, which is
usually the first thing to check when a link does not come up.

Patches 1-2 report the SFF-8636 per-lane loss of signal,
CDR loss of lock and Tx fault flags, as ethtool does since
commit 045d8db ("sff-8636: report LOL / LOS / Tx Fault").
The code is written for DPDK, not copied from ethtool.

Patches 3-4 report the SFF-8472 Rx_LOS and TX_FAULT state
from page A2h byte 110. ethtool does not show it, so it is
split out and can be dropped independently of patches 1-2.

The SFF-8636 flags are latched and cleared on read,
so they report the events since the previous read;
the SFF-8472 bits are the current state of the pins.

The series depends on the module EEPROM decode API series and on
the testpmd decode command, which are in next-net but not in main
yet. It is based on next-net/for-main with patch 170851 applied,
so the release notes entry no longer conflicts.

Depends-on: series-39436 ("ethdev: add API to decode module EEPROM")
Depends-on: series-39455 ("ethdev: fix SFF-8472 external Rx power calibration")
Depends-on: series-39480 ("ethdev: fix SFF-8472 calibration overflow")
Depends-on: patch-170851 ("app/testpmd: add command to decode module EEPROM")

v2:
- 1/4: always report the Rx loss of signal instead of gating it on
  the Tx loss of signal implemented bit. SFF-8636 Rev 2.12 Table 6-5
  lists the Rx LOS flags as optional, but there is no implemented
  bit for them, and a module without them reads as not flagged.
- 2/4, 4/4: set the option bits with |= in the tests.
- 3/4: use the SFF-8636 format with a single lane ("None" or
  "[ Yes ]") for the same field names, which also removes the
  multi-line ternaries; "also reports" in the release notes.
- rebased on next-net/for-main with patch 170851 applied.

Roman Khromenok (4):
  ethdev: report SFF-8636 lane status flags
  test: check SFF-8636 lane status flags
  ethdev: report SFF-8472 Rx LOS and Tx fault state
  test: check SFF-8472 Rx LOS and Tx fault state

 app/test/test_ethdev_module_eeprom.c   | 118 +++++++++++++++++++++++++
 doc/guides/rel_notes/release_26_11.rst |   3 +
 lib/ethdev/sff_8472.c                  |  19 ++++
 lib/ethdev/sff_8636.c                  |  34 +++++++
 lib/ethdev/sff_8636.h                  |  12 +++
 lib/ethdev/sff_common.c                |  25 ++++++
 lib/ethdev/sff_common.h                |   2 +
 7 files changed, 213 insertions(+)

-- 
2.47.3


  parent reply	other threads:[~2026-10-08 18:03 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-08  8:23 [PATCH 0/4] ethdev: report module signal status flags Roman Khromenok
2026-10-08  8:23 ` [PATCH 1/4] ethdev: report SFF-8636 lane " Roman Khromenok
2026-10-08  8:23 ` [PATCH 2/4] test: check " Roman Khromenok
2026-10-08  8:23 ` [PATCH 3/4] ethdev: report SFF-8472 Rx LOS and Tx fault state Roman Khromenok
2026-10-08  8:23 ` [PATCH 4/4] test: check " Roman Khromenok
2026-10-08 17:45 ` [PATCH 0/4] ethdev: report module signal status flags Stephen Hemminger
2026-10-08 18:02 ` Roman Khromenok [this message]
2026-10-08 18:02   ` [PATCH v2 1/4] ethdev: report SFF-8636 lane " Roman Khromenok
2026-10-08 18:02   ` [PATCH v2 2/4] test: check " Roman Khromenok
2026-10-08 18:02   ` [PATCH v2 3/4] ethdev: report SFF-8472 Rx LOS and Tx fault state Roman Khromenok
2026-10-08 18:02   ` [PATCH v2 4/4] test: check " Roman Khromenok

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1791482259.git.roma55592@yandex.ru \
    --to=roma55592@yandex.ru \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=dev@dpdk.org \
    --cc=stephen@networkplumber.org \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox