On 11/18/24 11:48, Konrad Knitter wrote:
Firmware generates events for global events or port specific events.

Driver shall subscribe for health status events from firmware on supported
FW versions >= 1.7.6.
Driver shall expose those under specific health reporter, two new
reporters are introduced:
- FW health reporter shall represent global events (problems with the
image, recovery mode);
- Port health reporter shall represent port-specific events (module
failure).

Firmware only reports problems when those are detected, it does not store
active fault list.
Driver will hold only last global and last port-specific event.
Driver will report all events via devlink health report,
so in case of multiple events of the same source they can be reviewed
using devlink autodump feature.

$ devlink health

pci/0000:b1:00.3:
   reporter fw
     state healthy error 0 recover 0 auto_dump true
   reporter port
     state error error 1 recover 0 last_dump_date 2024-03-17
        last_dump_time 09:29:29 auto_dump true

$ devlink health diagnose pci/0000:b1:00.3 reporter port

   Syndrome: 262
   Description: Module is not present.
   Possible Solution: Check that the module is inserted correctly.
   Port Number: 0

Tested on Intel Corporation Ethernet Controller E810-C for SFP

Co-developed-by: Sharon Haroni <[email protected]>
Signed-off-by: Sharon Haroni <[email protected]>
Co-developed-by: Nicholas Nunley <[email protected]>
Signed-off-by: Nicholas Nunley <[email protected]>
Co-developed-by: Brett Creeley <[email protected]>
Signed-off-by: Brett Creeley <[email protected]>

Brett signed-off as an Intel employee, and this should not be modified.
But it's very good that you have CC'd the new address.

Signed-off-by: Konrad Knitter <[email protected]>

There is no mention that this depends on my series, still in Tony's
queue.

---
  .../net/ethernet/intel/ice/devlink/health.c   | 290 +++++++++++++++++-
  .../net/ethernet/intel/ice/devlink/health.h   |  12 +
  .../net/ethernet/intel/ice/ice_adminq_cmd.h   |  87 ++++++
  drivers/net/ethernet/intel/ice/ice_common.c   |  37 +++
  drivers/net/ethernet/intel/ice/ice_common.h   |   2 +
  drivers/net/ethernet/intel/ice/ice_main.c     |   3 +
  drivers/net/ethernet/intel/ice/ice_type.h     |   5 +
  7 files changed, 429 insertions(+), 7 deletions(-)

Weirdly I find it nice for review despite the size, at least
in a way that I think it's actually good enough when not split into
multiple patches.

Reply via email to