Skip to content

spmi: apple: Support generation-4 interrupts and FIFO recovery - #245

Closed
DjDeveloperr wants to merge 1 commit into
apif-guest-wiringfrom
apif-spmi
Closed

DjDeveloperr wants to merge 1 commit into
apif-guest-wiringfrom
apif-spmi

Conversation

@DjDeveloperr

Copy link
Copy Markdown
Contributor

Add the generation-4 SPMI interrupt banks and T6050 match without replacing the newer public transaction handling. Recovery drains at most 512 replies, resets the command queue when needed, restores the inherited controller enable state, and leaves a failed transaction poisoned until recovery succeeds. Generation-1 FIFO flushing and the existing 10 us polling interval are preserved.

Validate the mapped register aperture before installing the chained interrupt handler. The host test exercises the production recovery function for an empty queue, a stuck response FIFO, a reset timeout and a successful reset.

Validation: native arm64 driver object build, recovery host test, binding validation and whitespace checks passed. Hardware interrupt/recovery qualification remains pending. No GPU changes.

Stacked on #244 to keep the non-GPU support series together; SPMI itself does not call APIF.

Use the matched interrupt register banks on T6050 and T8142. Recover
failed transactions through the generation-4 queue control registers,
with bounded draining and restoration of the inherited enable state.
Keep generation-1 flushing and the existing polling interval.

Signed-off-by: Dj <hey@djdev.me>
@DjDeveloperr

Copy link
Copy Markdown
Contributor Author

Superseded by #477, refreshed from the current T6050 source onto Linux 7.3 integration. The new shared base is #472; all feature PRs now target t6050/base. Closing this stale chained version and keeping its branch for history.

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.

1 participant