oxidecomputer / oxidecomputer/hubris

MAX5970 alerts are ignored

Open
#1,546 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

fault-management gimlet hardware service processor
Dominant language
Rust
Stars
3.6k
Forks
239
Avg merge
1d 12h
Merged PRs (30d)
23

Description

The MAX5970 hotplug controllers in Gimlet have their ALERT_L and I2C lines routed to the SP, but the SP doesn't do anything with the ALERT_L signal nor does it currently act on any of the status registers other than Register::adc_chx_{cs,mon}_XX which implement the ability to obtain the present readings of voltage and current sensors. Information that may be useful to acquire on an alert interrupt includes the contents of the status0, status3 and fault[2:0] registers and the historical peak detectors {max,min}_chx_{cs,mon}_{lsb,msb}, in addition to the circular buffer contents covered by #1545. This could modeled as additional sensors, gathered continuously, and made available upstack in the same manner as the near-real-time samples, but the intent of this ticket is to cover one-shot collection of this data in response to and shortly after an alert.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the Gimlet service-provider handling for the MAX5970 ALERT_L signal and the existing near-real-time sensor path. Review the status0, status3, fault[2:0], historical peak-detector registers, and the circular-buffer context in #1545. Done means an alert triggers one-shot collection shortly afterward and makes the captured data available upstack.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
embedded-iot
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.