Repository navigation
pci: apple: Add preinitialized APIF hosts and native AIC MSI - #242
Closed
DjDeveloperr wants to merge 1 commit into
Closed
DjDeveloperr wants to merge 1 commit into
DjDeveloperr wants to merge 1 commit into
Conversation
Use firmware-described ECAM, MSI doorbell and AIC vector ranges rather than raw host-controller cold initialization. Release parent IRQs when MSI allocations are torn down. Keep the port-0 preboot transition behind the explicit T6050 Gen3 x1 layout. Validate resources, tunables and RID-to-SID routes against the IOMMU map before mutation. Use declared MSI geometry after reset and refuse sibling functions, retained DART streams or other Linux groups. Add a nonblocking PCI topology lock for removal-cancelled callers. Strip private implementation references and routine success logs from the imported sequence. Native objects and host fault tests pass; hardware link and radio qualification remain pending. Signed-off-by: Dj <hey@djdev.me>
This was referenced Oct 11, 2026
Contributor
Author
This was referenced Nov 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add
apple,apif-pciefor an ECAM host already initialized by the boot producer, with hierarchical MSI allocation from its declared native AIC range. Linux owns vector allocation and teardown; parent IRQs are released correctly.The optional
apple,t6050-pcie-apifprofile carries the known Gen3 x1 port-0 preboot sequence. Resources, tunables, MSI geometry and explicit RID-to-SID tuples are validated before mutation. Routes must matchiommu-map. No board-name gate, fixed MSI doorbell/vector count, private implementation references or successful-call logging remain.The preboot cycle API requires an isolated N1 ROM function and caller-quiesced DMA. It refuses sibling functions and DART units used by another Linux group or retained firmware streams. Partial failures leave endpoint bus mastering and bridge decoding stopped. It is not a general PCI reset implementation and adds no Wi-Fi/Bluetooth or GPU drivers.
Stack: based on
apif-nvme(#241), itself based onapif-mmio(#238). This ordering keeps the eventual guest-wiring PR on one reviewable stack; PCIe does not consume the NVMe helper API.Validation: native AArch64 PCIe/DART/core objects; host production-function fault tests for MSI geometry, write failures, locked PERST, and rejected unit-power transitions; binding schema validation. A native
Imagewith these providers linked also builds with Clang/GNU ld. Hardware MSI delivery, link recovery and N1 firmware qualification remain pending.