Repository navigation
PCI: apple-msi: program the MSI map of every listed port - #1124
RyanTheTide merged 2 commits into
Conversation
The MSI map entries of all root ports of an Apple PCIe root complex name interrupts from one AIC range. Two controllers for two ports of one host would hand out the same interrupts, so one controller lists the MSI map registers of every port it serves. Assisted-by: LLM Signed-off-by: Dmitriy <noc@pimk.in>
The MSI map entries of all root ports of an Apple PCIe root complex name interrupts from one AIC range, and endpoint MSI data selects the entry. Map and enable every port the controller lists, so the ports of one generic ECAM host share one allocator and never receive the same interrupt. A controller with one port behaves as before. Assisted-by: LLM Signed-off-by: Dmitriy <noc@pimk.in>
|
Merge-train rows so far (MTR3, 2026-11-08). Test kernel 7.3.0-aurora-f4mtr3g = integration/aurora af6d986 + #1122 + #1123 + #1124 + #1176, built with 0 warnings. Each Mac got one silent one-shot boot. The checks were our FLEET regression suite vs the same Mac's fleet31/fleet30 rows, plus keyboard/trackpad/HID/DART/MSI error counts and gpubench, test boot vs default boot:
Not merged yet: the plan was to merge after the M1 Pro row. The kit is kits/test/20261108-f4mtr3g on the S500, and the row script is work/linux/mtr3-20261108/comborow.sh (M1 Pro, TID=0). |
|
M1 Pro row done (the last of the four), 7.3.0-aurora-f4mtr3g = integration af6d986 + #1122 + #1123 + #1124 + #1176, one-shot vs the fleet31 default:
Rows passed on all four Macs (M2, Neo, J616s, M1 Pro). The trial merge onto integration d4d2678 is clean. Merging. |
6ab7073
into
aurora-silicon:integration/aurora
|
Merged, thanks @dmitzsaz. It will ride the next fleet kernel. |
Brings #1122, #1123, #1124 (T8142 DART/MTP/MSI), #1176 (G17 fw-id fence), #1201 (J700 speaker full scale) and the rest of integration since 11943fb into aurora-wip. Conflicts were in four device-tree binding documents only, where aurora-wip has the T8152 versions and integration the T8142/T8152/T6050 generalisation: - apple,admac: keep both the lone apple,t8152-admac and the apple,t6050-admac/apple,t8140-admac pair. - apple,t8152-aop: take integration (it still allows a lone apple,t8152-aop, one or two mailboxes). - apple,t8152-aop-audio: take integration and keep a lone apple,t8152-aop-audio compatible. - apple,dwc3: keep the T8152 host-mode rules, and require resets and usb-role-switch on every enabled non-T8152 controller. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM
pcie-apple-msiserves one root port of a host the boot loader trained (J813 port 0). The MSI map entries of all root ports of a T8142 root complex name interrupts from one AIC range (ADTmsi-vector-offset1741, 96 vectors for the complex), and endpoint MSI data selects the entry. Two controllers for two ports of one generic ECAM host would hand out the same interrupts.This lets one controller list the MSI map registers of several ports. It maps and enables every listed port from one allocator. A controller with one
reg, as on the J813, behaves as before. The binding allows 1 to 3regentries.Tested on: J704, 2026-11-07, one controller for ports 0 and 2 (
32 MSIs at 0xfffff000): BCM4388 Wi-Fi (brcmfmac, firmware 23.10.1039) and Bluetooth (hci_bcm4377) on port 0, GL9755 SD reader on port 2 (SDR104 card hot-plugged at runtime, 84 MB/s read), both still working after s2idle.Prepared with Claude Opus 5.5; tested by me on the hardware.