Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
632 commits
Select commit Hold shift + click to select a range
2f52ccd
drm: apple: prepare optional external H17P before component matching
RyanTheTide Oct 12, 2026
4a3d7a3
arm64: dts: apple: describe disabled J700 external resources
RyanTheTide Oct 12, 2026
f6da453
drm: apple: recognize the T8140 external binding in the display master
RyanTheTide Oct 12, 2026
8fd734b
arm64: dts: apple: retain the inherited external display supply
RyanTheTide Oct 12, 2026
779f9b2
drm: apple: validate external display clock and bandwidth resources
RyanTheTide Oct 12, 2026
ace89fa
soc: apple: rtkit: identify failed boot handshake stages
RyanTheTide Oct 12, 2026
447ed5b
drm/apple: announce AP readiness early for experimental external H17P
RyanTheTide Oct 12, 2026
abeaccf
drm/apple: acknowledge firmware-owned external H17P buffers
RyanTheTide Oct 12, 2026
86c7580
drm/apple: recognize the external H17P display service
RyanTheTide Oct 12, 2026
2c82b46
drm/apple: report external AFK startup progress
RyanTheTide Oct 12, 2026
d54ef50
drm/apple: start the external H17P allocator before service discovery
RyanTheTide Oct 12, 2026
a0b1584
drm/apple: isolate DPTX discovery diagnostics
RyanTheTide Oct 12, 2026
7db62cb
drm/apple: initialize the external DPTX controller before port discovery
RyanTheTide Oct 12, 2026
afd79d1
drm/apple: discover the version-two external DPTX service
RyanTheTide Oct 12, 2026
3d93628
drm/apple: operate the external DPTX service over AFKV2
RyanTheTide Oct 12, 2026
d1e809f
dt-bindings: phy: apple,atcphy: describe T8140 DP setup lists
RyanTheTide Oct 12, 2026
f3e537e
phy: apple: apply the T8140 DisplayPort setup lists
RyanTheTide Oct 12, 2026
dd5734a
drm/apple: open the version-two DPTX controller interfaces
RyanTheTide Oct 12, 2026
fc728ac
phy: apple: sequence J700 AUX power separately from calibration
RyanTheTide Oct 12, 2026
c4266e4
phy: apple: park the J700 DP lane before link training
RyanTheTide Oct 12, 2026
a72a11d
dt-bindings: phy: apple: describe T8140 DisplayPort drive presets
RyanTheTide Oct 12, 2026
16ff2ea
phy: apple: implement bounded J700 DisplayPort main-link training
RyanTheTide Oct 12, 2026
79d41c0
drm: apple: honor separate AFK V2 callback reply capacity
RyanTheTide Oct 12, 2026
e9a9fc6
phy: apple: preserve J700 lane-routing state during DP setup
RyanTheTide Oct 12, 2026
7cf2aef
mux: apple: retain the physical J700 crossbar gate sequence
RyanTheTide Oct 12, 2026
bc6e8a1
drm: apple: validate J700 active lanes against PHY capacity
RyanTheTide Oct 12, 2026
a7a8a0f
drm: apple: avoid stale active-lane warnings after V2 validation
RyanTheTide Oct 12, 2026
2930a92
phy: apple: preserve J700 transmitter programming order
RyanTheTide Oct 12, 2026
dc73885
drm: apple: answer the V2 physical-device mode query
RyanTheTide Oct 12, 2026
11d1f6d
phy: apple: apply J700 DP calibration before common power-up
RyanTheTide Oct 12, 2026
e0816d2
drm: apple: allow the qualified J700 provider fallback on DCPEXT
RyanTheTide Oct 12, 2026
591e344
drm/apple: add scoped J700 link-rate diagnostic ceiling
RyanTheTide Oct 12, 2026
edb1b11
drm/apple: report unknown callback bounds for diagnosis
RyanTheTide Oct 12, 2026
f43eb2e
drm/apple: answer the measured J700 external D134 record
RyanTheTide Oct 12, 2026
44c2585
drm/apple: route native training readback during modeset
RyanTheTide Oct 12, 2026
b7fabfc
drm/apple: keep opaque X property off experimental DCPEXT
RyanTheTide Oct 12, 2026
14be4b1
drm/apple: remove temporary external bring-up diagnostics
RyanTheTide Oct 12, 2026
e3ccada
drm/apple: close external admission and recovery races
RyanTheTide Oct 12, 2026
a783ea9
tests: publish standalone AFK admission regression harness
RyanTheTide Oct 12, 2026
97f5b76
drm/apple: add bounded external stop qualification path
RyanTheTide Oct 12, 2026
ec7942f
drm/apple: retry initial external DPTX service discovery
RyanTheTide Oct 12, 2026
a9070a1
drm/apple: select compatible SDR color modes for external H17P
RyanTheTide Oct 12, 2026
e6a83fe
drm/apple: retrieve external H17P EDID through bounded AFKV2 inline c…
RyanTheTide Oct 12, 2026
0e93d73
drm/apple: add bounded tracepoints for external output qualification
RyanTheTide Oct 12, 2026
9e2981c
drm/apple: refine inline reply validation and trace silent DPAV rings
RyanTheTide Oct 12, 2026
0f2c605
drm/apple: honor external timing color exclusions before SDR selection
RyanTheTide Oct 12, 2026
004f493
drm/apple: derive bounded external monitor metadata for initial attac…
RyanTheTide Oct 12, 2026
6855b63
drm/apple: trace external metadata admission state
RyanTheTide Oct 12, 2026
e237f1f
drm/apple: validate delivered property extent before metadata admission
RyanTheTide Oct 12, 2026
09e7268
Merge qualified output metadata into the external lifecycle candidate
RyanTheTide Oct 12, 2026
ec65050
drm/apple: publish initial external discovery while presents remain p…
RyanTheTide Oct 12, 2026
589c9a3
drm: apple: answer the DPTX port's group 1 calls
Oct 12, 2026
23e8abc
Merge public legacy DPTX group replies without changing native J700 t…
RyanTheTide Oct 12, 2026
df83634
drm/vc4: convert encoded match data through pointer-width integer
RyanTheTide Oct 12, 2026
b4bace5
drm/pl111: convert encoded match data through pointer-width integer
RyanTheTide Oct 12, 2026
42a410e
soc: apple: rtkit-helper: adopt a running T8140 MTP session
DjDeveloperr Oct 12, 2026
b00aabd
arm64: dts: apple: t8140-j700: drive the SPI NOR on a single data line
DjDeveloperr Oct 12, 2026
8ce34a2
drm/apple: accept exact H17P power replies and republish reconnected …
RyanTheTide Oct 12, 2026
0358b84
PCI: apple: piodma-diag: decide suspend-to-idle admission in prepare
DjDeveloperr Oct 12, 2026
53d11d5
drm/apple: tag H17P external SDR RGB sources as sRGB
RyanTheTide Oct 13, 2026
2a930c1
drm/apple: use the observed H17P DPAV service for fresh EDID
RyanTheTide Oct 13, 2026
f4c0b4a
drm/apple: fence EDID publication by service lifetime and unblock RX
RyanTheTide Oct 13, 2026
8a5a0f1
drm/apple: read external H17P EDID through owned AFKV2 buffers
RyanTheTide Oct 13, 2026
8d6a34c
drm/apple: admit external AFKV2 EDID services asynchronously
RyanTheTide Oct 13, 2026
e609c0f
drm/apple: replace H17P AV bindings across physical reconnect
RyanTheTide Oct 13, 2026
8d4fc59
drm/apple: enable the validated J700 external display profile by default
DjDeveloperr Oct 13, 2026
12d9a97
drm/apple: admit the native DP EDID provider in the guarded AV service
RyanTheTide Oct 13, 2026
e82e308
cpuidle: apple: retain a selectable WFI state for T8140 s2idle
niteria Oct 12, 2026
e02f58b
drm/apple: compose lean J700 display and automatic recovery candidate
RyanTheTide Oct 13, 2026
55ed507
drm/apple: scope deferred DPAV recovery to current interfaces
RyanTheTide Oct 13, 2026
69ce250
drm/apple: integrate reviewed fixed-host lifecycle and scoped boot fixes
RyanTheTide Oct 13, 2026
7256ade
dt-bindings: display: apple: allow T8140 provider data on DCPEXT
RyanTheTide Oct 13, 2026
34429e5
usb: typec: serialize display teardown and preserve recovery ownership
RyanTheTide Oct 14, 2026
a5d96a7
soc: apple: enable SEP autoload and writable xART defaults
DjDeveloperr Oct 14, 2026
a1ce866
soc: apple: provision the Linux SEP identity automatically
DjDeveloperr Oct 14, 2026
0f40e8c
pmdomain: apple: leave firmware-owned power domains untouched
erykwieliczko Oct 13, 2026
5a2a4d7
drm/asahi: recycle settled quarantined G17 compute queues
DjDeveloperr Oct 14, 2026
b6e4ba3
drm/asahi: g17: replay render groups firmware retired without executing
DjDeveloperr Oct 15, 2026
3bd1722
drm/asahi: g17: never kill compute commands with ray traversal scratch
DjDeveloperr Oct 15, 2026
16144c2
drm/asahi: g17: ray queries in render stages
DjDeveloperr Oct 15, 2026
5c99f69
usb: typec: tipd: Tidy up the CD321x additions to tps6598x.h
RyanTheTide Oct 15, 2026
fe935b2
usb: typec: tipd: Fix coding style in the CD321x update path
RyanTheTide Oct 15, 2026
1defdad
usb: typec: tipd: Use guard() for the locks in the debugfs interface
RyanTheTide Oct 15, 2026
643d21a
HID: dockchannel: Drop reports that arrive before the device is open
RyanTheTide Oct 15, 2026
ec1fcb1
soc: apple: rtkit: Handle oslog notifications quietly
RyanTheTide Oct 15, 2026
481a77c
HID: dockchannel: Terminate log messages and fix two typos
RyanTheTide Oct 15, 2026
a19692d
rust: iosys_map: let the KUnit helper compare with assert_eq
RyanTheTide Oct 15, 2026
80c174b
ASoC: apple: t8140-aop-audio: test the speaker ceiling with KUnit
RyanTheTide Oct 15, 2026
a5e3162
soc: apple: recheck sensor status after SEP registration
RyanTheTide Oct 14, 2026
81b5893
tools: aurora-sep: exercise post-registration wake status
RyanTheTide Oct 14, 2026
e975053
soc: apple: sep: serialize SBIO exchanges
RyanTheTide Oct 15, 2026
ee71f5e
tools: aurora-sep: run concurrent SBIO exchanges
RyanTheTide Oct 15, 2026
24cb82f
drm/apple: Resume a CRTC whose mode needs a new link disabled
RyanTheTide Oct 15, 2026
d6020f1
drm/apple: Test the resume of a CRTC whose mode no longer fixes up
RyanTheTide Oct 15, 2026
028ae74
drm/apple: Release the encoder of a connector detached for resume
RyanTheTide Oct 15, 2026
50d67ae
drm/apple: Have userspace restore a CRTC resumed disabled
RyanTheTide Oct 15, 2026
b971be1
soc: apple: mailbox, rtkit: Allow holding received messages
RyanTheTide Oct 15, 2026
c46f48a
drm/apple: Hold internal DCP messages during system sleep
RyanTheTide Oct 15, 2026
ac31449
drm/apple, usb: typec: tipd: Retry a display mux that is only busy
RyanTheTide Oct 15, 2026
42a1c22
drm/apple: Log routine DPTX and EDID service events at debug level
RyanTheTide Oct 15, 2026
4431ee7
drm/apple: Describe the H17P support without bring-up terms
RyanTheTide Oct 15, 2026
2b9ca8c
phy: apple: atc: Quiet the DisplayPort AUX and tunnel clock logging
RyanTheTide Oct 15, 2026
4b147e5
phy: apple: atc: Use the register field names in the tunnel clock code
RyanTheTide Oct 15, 2026
9b5d403
phy: apple: atc: Share the tunnel rate selector table
RyanTheTide Oct 15, 2026
8fadc26
phy: apple: atc: Fix coding style in the AUX and tunnel clock code
RyanTheTide Oct 15, 2026
02fd81f
spi: apple: Reword the hardware CS delay comment
RyanTheTide Oct 15, 2026
b976e71
dt-bindings: gpu: apple,agx: Match the T8140 register layout
RyanTheTide Oct 15, 2026
f7c22a9
arm64: dts: apple: t8140: Fold the trailing soc override into the soc…
RyanTheTide Oct 15, 2026
967f03f
arm64: dts: apple: t8140: Tidy the mailbox and pinctrl comments
RyanTheTide Oct 15, 2026
0f8fb21
iommu: apple-dart: Fix the KUnit test after deferred root publication
RyanTheTide Oct 15, 2026
3a6c8f5
soc: apple: rtkit: Do not warn when buffers are retained on purpose
RyanTheTide Oct 15, 2026
ffdbd62
ASoC: apple: t8140-aop-audio: Format with rustfmt
RyanTheTide Oct 15, 2026
49ef3c9
ASoC: dt-bindings: cirrus,cs42l42: Reference dai-common.yaml
RyanTheTide Oct 15, 2026
151cd69
ASoC: dt-bindings: apple,t8140-aop-audio: Reference dai-common.yaml
RyanTheTide Oct 15, 2026
c87ab9b
soc: apple: pmp: log tunables the boot loader does not provide at deb…
RyanTheTide Oct 15, 2026
35d401c
hwmon: macsmc: drop the check for the undefined apple,cpu-thermal-policy
RyanTheTide Oct 15, 2026
2ebea17
cpufreq: apple-soc: tidy includes and the ->exit() callback
RyanTheTide Oct 15, 2026
9d5b025
pmdomain: apple: pmp-report: remove the raw DVFS debugfs dump
RyanTheTide Oct 15, 2026
5842994
dt-bindings: apple: use the canonical SPDX form in PMP, PMC and repor…
RyanTheTide Oct 15, 2026
2d11d6b
rtc: macsmc: correct the comment on the whole-second offset
RyanTheTide Oct 15, 2026
3652af6
hwmon: macsmc: account for temperature channels in one helper
RyanTheTide Oct 15, 2026
36994e2
hwmon: macsmc: keep the channel of a temperature sensor that fails to…
RyanTheTide Oct 15, 2026
9e55fa2
soc: apple: mcc: factor out disabling and flushing planes
RyanTheTide Oct 15, 2026
9ee1269
soc: apple: mcc: disable the planes already enabled when enabling fails
RyanTheTide Oct 15, 2026
5563047
pmdomain: apple: pmc: undo a partial agent enable
RyanTheTide Oct 15, 2026
4462a69
pmdomain: apple: pmc: restore the AP's own DCS vote when a limit is l…
RyanTheTide Oct 15, 2026
b8486e0
arm64: dts: apple: t8140-j700: trim measurement notes from comments
RyanTheTide Oct 15, 2026
928a561
wifi: mt7932: drop the diagnostic module parameters
RyanTheTide Oct 15, 2026
8833786
wifi: mt7932: remove the unused station rate query
RyanTheTide Oct 15, 2026
1cb4b7d
wifi: mt7932: report driver progress at debug level
RyanTheTide Oct 15, 2026
00e5ad7
wifi: mt7932: disable link power management only once
RyanTheTide Oct 15, 2026
8091334
wifi: mt7932: drop internal document names from comments
RyanTheTide Oct 15, 2026
a5be965
wifi: mt7932: tidy the Kconfig help and file headers
RyanTheTide Oct 15, 2026
3c7054c
Bluetooth: mt7932: drop the enable module parameter
RyanTheTide Oct 15, 2026
ce76446
Bluetooth: mt7932: report setup progress at debug level
RyanTheTide Oct 15, 2026
1bf729b
Bluetooth: mt7932: remove write-only packet counters
RyanTheTide Oct 15, 2026
43c9bda
Bluetooth: mt7932: describe the driver without bring-up wording
RyanTheTide Oct 15, 2026
c1619f4
Bluetooth: mt7932: add KUnit tests for packet and board file checks
RyanTheTide Oct 15, 2026
8e1a7cd
selftests: mt7932: fail on routine driver messages at info level
RyanTheTide Oct 15, 2026
f690024
media: apple: isp: Refuse format changes while buffers are allocated
RyanTheTide Oct 15, 2026
8ae00df
media: apple: isp: Count existing buffers against the buffer pool size
RyanTheTide Oct 15, 2026
d76cc84
media: apple: isp: Use V4L2_CAP_VIDEO_CAPTURE in the device capabilities
RyanTheTide Oct 15, 2026
6904689
media: apple: isp: Skip the firmware version check for the H17 interface
RyanTheTide Oct 15, 2026
5b9720a
media: apple: isp: Name the H17 flag in boot stage 2 after the interface
RyanTheTide Oct 15, 2026
82b7f82
dt-bindings: media: apple,t8140-isp: Add an example
RyanTheTide Oct 15, 2026
25a7e9d
media: apple: isp: Add KUnit tests for the videobuf2 queue
RyanTheTide Oct 15, 2026
ddd49f3
nvme-apple: Drop the unused stopped-controller handoff
RyanTheTide Oct 15, 2026
8323c69
dt-bindings: nvme: apple,nvme-ans: Drop apple,rtkit-handoff
RyanTheTide Oct 15, 2026
6e10347
nvme-apple: Name the NVMMU TCB inline encryption flag
RyanTheTide Oct 15, 2026
fd2d3a2
usb: dwc3: Export dwc3_event_buffers_cleanup()
RyanTheTide Oct 15, 2026
af59453
arm64: dts: apple: t8140-j700: give the boot framebuffer its panel
erykwieliczko Oct 13, 2026
1a95b4e
wifi: mt7932: drop received data the hardware did not decrypt
RyanTheTide Oct 15, 2026
2ea98cb
wifi: mt7932: complete a command only with the event that answers it
RyanTheTide Oct 15, 2026
cd0a50c
wifi: mt7932: refuse hibernation
RyanTheTide Oct 15, 2026
ef66121
wifi: mt7932: let a cancelled scan batch retire before a disconnect g…
RyanTheTide Oct 15, 2026
9617db8
wifi: mt7932: report the connection outcome outside the response lock
RyanTheTide Oct 15, 2026
0cb518b
wifi: mt7932: keep the link when a beacon hint only lifts NO_IR
RyanTheTide Oct 15, 2026
ef18b58
wifi: mt7932: test the power package parser
RyanTheTide Oct 15, 2026
02cdaa7
drm/apple: afk: Export afk_service_retry() to the AFK service test
RyanTheTide Oct 15, 2026
a09a208
soc: apple: sep: Name the failed step of a Touch ID sensor registration
RyanTheTide Oct 15, 2026
d4c2762
soc: apple: sep: Clear a partial sensor registration before retrying it
RyanTheTide Oct 15, 2026
760302a
soc: apple: sep: Re-read a sensor frame that is still on offer
RyanTheTide Oct 15, 2026
cc534b1
soc: apple: sep: Retry a failed attach-time sensor bring-up
RyanTheTide Oct 15, 2026
ede975e
soc: apple: sep: Drop an SBIO reply that belongs to an earlier exchange
RyanTheTide Oct 15, 2026
4ecd433
soc: apple: sep: Refuse a damaged host-state store instead of erasing it
RyanTheTide Oct 15, 2026
0c986f3
drm/asahi: serve M1/M2/M3 and G17P from one driver
DjDeveloperr Oct 16, 2026
8be1719
drm/apple: serve M1/M2/M3, T8140 and T8142 from one driver
DjDeveloperr Oct 16, 2026
095df56
drm: apple: relink a Type-C sink that lost its link to a hub's USB3
sithglan Oct 11, 2026
58b25ad
usb: typec: keep the H17 display route handshake
DjDeveloperr Oct 16, 2026
3842a74
usb: typec: tipd: report a coalesced sink HPD pulse as IRQ_HPD
sithglan Oct 11, 2026
0983fd2
soc: apple: rtkit: keep the T8140 and T8142 OSLog behaviour
DjDeveloperr Oct 16, 2026
f1056ea
drm: apple: do not report a bad link for the HPD a Type-C wake awaits
sithglan Oct 12, 2026
bd33a71
soc: apple: sep: finish combining the SEP work of both branches
DjDeveloperr Oct 16, 2026
4d51d60
drm: apple: audio: play into the void without a sink
sithglan Oct 12, 2026
21ea355
phy, thunderbolt, PCI, usb: apple: finish the merge with integration
DjDeveloperr Oct 16, 2026
54a6ea2
drm: apple: reset the Type-C relink budget on every DPMS wake
sithglan Oct 14, 2026
55f589a
pmdomain: apple: serve T8140 from the shared PMP report and PMGR drivers
DjDeveloperr Oct 16, 2026
fdec7c5
drm: apple: do not report a bad link for a powered-off Type-C CRTC
sithglan Oct 14, 2026
0ad5362
soc: apple: finish the merge of DART, QSPI and SMC hwmon
DjDeveloperr Oct 16, 2026
57da8f5
drm: apple: audio: limit the number of periods to what SIO can serve
sithglan Oct 11, 2026
bad1bc3
wifi, Bluetooth: mt7932: finish the merge of the J700 radio
DjDeveloperr Oct 16, 2026
29666f0
media: apple: avd: allow more than 32 capture buffers per context
sithglan Oct 12, 2026
ec94291
drm: drop the isolated T8140 graphics copies
DjDeveloperr Oct 16, 2026
e65d8be
drm/apple: av: recycle AV endpoint service slots
sithglan Oct 15, 2026
efebc61
treewide: finish the merge with integration/aurora
DjDeveloperr Oct 16, 2026
cd8ccfb
Merge pull request #328 from sithglan/wip-rebase-dcp-fixes
DjDeveloperr Oct 16, 2026
3d25503
aurora-sep: neo: accept both T8140 GPU and display driver names
chriskearney Oct 17, 2026
2bf01ad
pmdomain: apple: pmp-report: match T8140 report entries by compatible
chriskearney Oct 17, 2026
731e926
dt-bindings: power: apple,t8140-pmp-report: drop the t6000 entry fall…
chriskearney Oct 17, 2026
df016a3
arm64: dts: apple: t8140: drop the t6000 fallback from the GFX report
chriskearney Oct 17, 2026
d4b2c4a
spi: apple-qspi: keep the T8140 boot NOR read-only outside nvram
chriskearney Oct 17, 2026
1d66b81
soc: apple: sep: Do not autoload the driver through a module alias
chriskearney Oct 17, 2026
c80c151
soc: apple: sep: Initialise an empty host-state store file again
chriskearney Oct 17, 2026
bf80dee
soc: apple: sep: Let suspend proceed when a capture is slow to stop
chriskearney Oct 17, 2026
418c346
tools/aurora-sep: tests: Let the T8112 SEP DMA harness build again
chriskearney Oct 17, 2026
0378c54
usb: typec: tipd: send each IRQ_HPD request to the display route once
chriskearney Oct 17, 2026
07fc9fe
drm: apple: relink a Type-C sink only when DCP drops it at link-up
chriskearney Oct 17, 2026
d25e17c
drm: apple: answer DPTX group 1 calls 3 and 4 on 13.5 firmware again
chriskearney Oct 17, 2026
ba5563b
drm/apple: expect a moved tunnel to start its route in the parser test
chriskearney Oct 17, 2026
1b50cbd
drm/asahi: reject unsupported command fields on the M1/M2 queue path
chriskearney Oct 17, 2026
8af8560
drm/asahi: keep the range TLBI base address in its field
chriskearney Oct 17, 2026
0a934a7
wifi: brcmfmac: msgbuf: look up the traced flowring under its lock
chriskearney Oct 17, 2026
d4f767b
wifi: brcmfmac: drop the runtime AWDL interface_create parameters
chriskearney Oct 17, 2026
e75cc82
wifi: brcmfmac: add an off-switch for AWDL interface creation
chriskearney Oct 17, 2026
347adec
wifi: brcmfmac: refuse AWDL on interface_create v1 and v2
chriskearney Oct 17, 2026
4bbc184
wifi: brcmfmac: run queued firmware events before stopping their worker
chriskearney Oct 17, 2026
4c56f9c
rust: restore --no-layout-tests, make layout checks opt-in
chriskearney Oct 17, 2026
b8c3c61
usb: typec: tipd: put the debugfs command file behind a Kconfig option
chriskearney Oct 17, 2026
52841d1
vfio/type1: make the retained-fragment KUnit tests depend on TMPFS
chriskearney Oct 17, 2026
0765e6a
drm/apple: build the AFK service test only with the display driver
chriskearney Oct 17, 2026
d0565a8
docs: index the new Apple documents and fix their title markup
chriskearney Oct 17, 2026
b1d8dfe
mm: keep the legacy bad-p4d handling for native-only geometry
chriskearney Oct 17, 2026
5264e47
mm: restore native vm_insert_pages() and vm_map_pages() without user4k
chriskearney Oct 17, 2026
aeb594e
mm: keep native remap and I/O memory range checks without user4k
chriskearney Oct 17, 2026
996067c
mm: keep generic_access_phys() lengths unchanged without user4k
chriskearney Oct 17, 2026
78404ce
mm: skip zero-count folio reference adds on COW copies
chriskearney Oct 17, 2026
89337e1
mm: keep the native locked_vm accounting when user4k is off
chriskearney Oct 17, 2026
7607f14
mm: release exit_mmap commitment after the mmap lock again
chriskearney Oct 17, 2026
01996cd
mm: keep the single-page rmap walk bound for native geometry
chriskearney Oct 17, 2026
ccd7519
shmem: do not evaluate shmem_uffd_forget() arguments when unused
chriskearney Oct 17, 2026
5812ea2
mm/shmem: skip i_pages lock round trip without uffd subpage data
chriskearney Oct 17, 2026
058eb53
mm/swap: keep native swap I/O unchanged without subpage support
chriskearney Oct 17, 2026
0b87330
mm/vmscan: gate MGLRU legacy-memcg writeback change on subpage
chriskearney Oct 17, 2026
d2883a8
mm/pagewalk: keep native walk_page_mapping() clip without subpage
chriskearney Oct 17, 2026
2406596
mm/process_vm_access: keep allocation order without subpage
chriskearney Oct 17, 2026
1c76bc4
net: keep MSG_ZEROCOPY realloc semantics without user4k
chriskearney Oct 17, 2026
9a16d02
prctl: build the page-size requests only with selectable granules
chriskearney Oct 17, 2026
ecc0c29
ocfs2: keep the native truncate unmap sequence without user4k
chriskearney Oct 17, 2026
71a6bc1
block: size user passthrough bios as before without user4k
chriskearney Oct 17, 2026
c5a6961
io_uring/rsrc: limit the fragment-owner account skip to user4k
chriskearney Oct 17, 2026
a07e98c
drm/shmem-helper: keep native fault and mmap paths without user4k
chriskearney Oct 17, 2026
55a5ef4
userfaultfd: keep the UFFDIO_COPY source check without user4k
chriskearney Oct 17, 2026
fb16e87
tomoyo: keep the page-based argv dump without user4k
chriskearney Oct 17, 2026
c21d8e2
proc: fold the PAGEMAP_SCAN page size without user4k
chriskearney Oct 17, 2026
e0e270c
vfio/type1: compile out fragment provider paths without MM_SUBPAGE
chriskearney Oct 17, 2026
2bccca3
vfio/type1: keep native external pinning when MM_SUBPAGE is off
chriskearney Oct 17, 2026
d698033
vfio/type1: skip the CAP_IPC_LOCK check when the DMA owner is unchanged
chriskearney Oct 17, 2026
3d100cb
vfio/type1: keep the IOMMU page size warnings without MM_SUBPAGE
chriskearney Oct 17, 2026
2b1ceeb
vfio/type1: keep the previous locked_vm refund rules without MM_SUBPAGE
chriskearney Oct 17, 2026
4f08821
exec: drop the user page-size preference on privilege-gaining exec
chriskearney Oct 17, 2026
5fc7e1d
mm: refuse HugeTLB mappings in mms with a non-native user granule
chriskearney Oct 17, 2026
632c8fa
mm: move the vmf_insert_pfn_prot_mkwrite() kernel-doc back
chriskearney Oct 17, 2026
4154c88
perf/core: restore the speculation bound on AUX page lookups
chriskearney Oct 17, 2026
e0bf77e
arm64: make the mixed-granule KUnit tests depend on TMPFS
chriskearney Oct 17, 2026
d97563b
arm64: build mixed-granule userspace by default
chriskearney Oct 17, 2026
249829c
Documentation: arm64: user4k: say the option is on by default
chriskearney Oct 17, 2026
2a56089
mm: pick the mmap layout from the mm being set up
chriskearney Oct 17, 2026
1705968
arm64: user4k: keep 4K userspace off unless booted with user4k=on
chriskearney Oct 17, 2026
2e6535a
mm: user-subpage: skip the 4K page_ext record when user4k is off
chriskearney Oct 17, 2026
7638540
tools/aurora-userpages: say that 4K pages need user4k=on
chriskearney Oct 17, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
102 changes: 26 additions & 76 deletions Documentation/PCI/controller/apple-t8140.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,83 +7,33 @@ The J700 path trains port 0, validates a bounded PIODMA bootstrap request,
and enables native ECAM for the MediaTek Wi-Fi and Bluetooth functions.
The root bridge forwards their BARs and DART translates endpoint DMA.

This is a bring-up implementation, not general T8140 PCIe support. Build
``CONFIG_PCIE_APPLE_PIODMA_DIAG=y``; the Apple PCIe host driver may be a module.
The bootstrap enables enumeration by default only on machines matching both
``apple,j700`` and ``apple,t8140``, through the matching diagnostic and host
device-tree nodes. No kernel argument is required. To leave the root-only
diagnostic path closed, pass ``pcie_apple_piodma_diag.enumerate=0``.
The read-only ``enumerate`` parameter reports the configured admission request,
not whether the current machine is a Neo or its radios were admitted. Its
default value is also visible on other Macs; the machine and DT checks decide
whether it has any effect.

The shared kernel can keep suspend, hibernation and kexec support enabled.
Before the host creates PCI children, a short admission critical section
acquires a kexec interlock and registers a PM notifier that refuses sleep
transitions. Its device prepare callback provides a second veto. This also covers
``/dev/snapshot`` files opened before the supplier probes: later image, restore
and suspend ioctls enter device PM without repeating the prepare notifier.
A kexec interlock refuses loading or executing a replacement kernel,
including an already loaded crash kernel. Image unloading remains permitted.
These interlocks apply only to the active J700 bootstrap; other machines do not
acquire them. Merely probing its supplier does not block transitions. The device
prepare callback also checks this guarded pre-publication window. Admission
contention may defer only before PCI children exist; a later failure is a hard
error. Pre-child contention schedules a delayed attachment of this matched
host, so a long-running kexec loader does not require another driver to bind
before admission can retry. Only renewed contention queues another attempt;
successful admission and hardware publication end these retries. Shutdown
blocks late admission. A failure before memory publication releases the guards. Once the
bootstrap retains memory, the protection persists even if enumeration or either
radio's firmware loading fails. Thus the block applies on every default J700
boot which reaches retained radio admission, regardless of installed firmware.
Failed or uncertain bootstrap state requires a full external hardware reset;
there is no command retry.

Sleep is not supported on the MacBook Neo yet. With radio support active
(the default), the kernel refuses suspend: lid close and ``systemctl suspend``
do not put it to sleep. Shut down before putting it in a bag. Booting with
``pcie_apple_piodma_diag.enumerate=0`` removes this refusal and disables Wi-Fi
and Bluetooth; sleep and wake remain unproven on this hardware without radios.

Before either radio driver can bind, the host disables ASPM, all L1 substates
and Clock PM on the validated radio endpoints' shared PCIe link through the
PCI core. ``CONFIG_PCIEASPM=y`` is required. The global ASPM policy is unchanged;
neither a performance-policy boot argument nor a sysfs policy write is needed.
Booting with ``pcie_aspm=off`` prevents the PCI core from applying this restriction
and radio admission fails closed.

The supplier publishes radio admission only after both functions pass the
host's identity, cold-state, memory-window and link-power checks. Both radio
probes require that completed admission before accessing PCI or MMIO state;
the host's downstream device-enable callback enforces the same gate for other
drivers. This prevents a later generic rescan from enabling cached children of
a failed admission. Each radio probe reapplies the link-power restriction, so
a recreated ASPM link state cannot inherit an incompatible global policy.
Privileged writes to the per-link PCI sysfs ASPM or Clock PM attributes can
override the restriction; it is reapplied only at probe, not continuously.
Do not enable those link power states while the Neo radios are admitted.

The PIODMA arena remains allocated until external reset. Standard PCI sysfs
``remove`` writes for the root port and radio functions return ``-EOPNOTSUPP``
while the host has its retained supplier; the removal attributes remain present.
The same hierarchy refuses userspace ``reset`` and ``reset_subordinate``
writes, and its host does not hand native PCIe or SHPC slot hot-plug control
to Linux. These restrictions leave other PCI hosts unchanged.
VFIO assignment is refused on this host because it exposes reset operations
outside PCI sysfs. Automatic native AER/DPC port recovery is also withheld:
its bus or link reset has no qualified retained-memory contract here. A hardware
fault requires external reset rather than guessed recovery.
The host and activated Wi-Fi/Bluetooth modules are pinned until reset. Arbitrary
platform-device removal, IOMMU teardown, forced module removal, memory reuse
and arbitrary downstream devices remain unqualified. Do not remove the
controller or its IOMMUs while this experiment is active.
This is a bring-up implementation, not general T8140 PCIe support.
Build ``CONFIG_PCIE_APPLE_PIODMA_DIAG=y``. The board device tree selects the
bootstrap by pointing the host's ``apple,piodma`` property at the engine, and
the kernel then runs it during the host probe. Passing
``pcie_apple_piodma_diag.enumerate=0`` keeps the root-only diagnostic path,
which rejects downstream configuration access. A kernel built without the
option always uses that root-only path.
Build the host and its DART in as well: the supplier retains published DMA
and has no removal contract. Keeping the supplier and host built in avoids
a module dependency on a provider whose lifetime cannot end at unload.

Suspend-to-idle suspend retains the arena after checking the completed request,
idle FIFO and command state. Resume restores the existing configuration
banks without issuing a second bootstrap. Hibernation, deeper suspend and
kexec are refused while admission or retained DMA ownership is active. The
runtime kexec guard permits the kernel to support kexec on other machines.
Host removal, sysfs reset, hotplug, VFIO assignment and native AER/DPC
recovery are withheld on this retained hierarchy. Sleep is refused until
radio admission completes; the existing suspend-to-idle path remains available
after successful admission. Failed or uncertain bootstrap state
requires a full external hardware reset; there is no command retry.

The PIODMA arena remains allocated until external reset. Controller removal,
teardown, memory reuse and arbitrary downstream devices are unqualified.
Fresh hardware qualification must check both radio functions across sleep.
Do not remove the controller or its IOMMU while this experiment is active.
These lifecycle contracts require further work before production support.
They protect against accidental teardown and are not a security boundary.
Root can still reset through raw configuration writes, including secondary-bus
reset, FLR and Link Disable, change per-link ASPM controls or unbind the root
port's ``pcieport`` driver. Do not perform these operations on an admitted Neo.

J700's ``wifi0`` alias and PCI endpoint node allow the public bootloader to
pass the unit's own Wi-Fi address through ``local-mac-address``. The zero
Expand Down
11 changes: 11 additions & 0 deletions Documentation/admin-guide/kernel-parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8305,6 +8305,17 @@ Kernel parameters
not on uas)
Example: quirks=0419:aaf5:rl,0421:0433:rc

user4k= [ARM64,EARLY]
Format: <bool>
Enable the experimental per-process user page sizes
(4K userspace pages on a 16K or 64K kernel) built
with CONFIG_ARM64_USER4K_EXPERIMENTAL.
Default: off. While off, the private page-size
prctls refuse every non-native size with EINVAL,
every exec uses the native page size and the 4K
ownership record is not reserved in page_ext.
See Documentation/arch/arm64/user4k.rst.

user_debug= [KNL,ARM]
Format: <int>
See arch/arm/Kconfig.debug help text.
Expand Down
63 changes: 63 additions & 0 deletions Documentation/admin-guide/media/apple-ave.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
.. SPDX-License-Identifier: GPL-2.0-only

Experimental T8140 video encoding
=================================

The J700 AVE driver exposes a root-only debugfs firmware transport for
hardware encoding experiments. It is not a V4L2 encoder, has no stable
userspace ABI, and does not make an FFmpeg encoder available. The initial
scope is the existing fixed 320x240 NV12 H.264/HEVC protocol experiment.

Build ``CONFIG_VIDEO_APPLE_AVE_EXPERIMENTAL=m`` on a 16 KiB-page Apple kernel
with debugfs and translated DMA. Suspend, hibernation and kexec must be off.
Load with ``modprobe apple-ave enable=1``; probing is disabled otherwise.

Firmware and boot requirements
------------------------------

Use the public Aurora m1n1 J700 AVE handoff. It reserves the firmware already
loaded by iBoot, fills the device's ``memory-region`` references and exports
``aurora,ave-text-crc32`` and ``aurora,ave-data-crc32`` strings under
``/chosen``. No firmware file is included or requested by this driver.
The current transport requires the qualified 25G76 two-segment layout:
0x14c000 text bytes and 0x130000 data bytes, mapped starting at IOVA
0x10000000000. Every mapping and both content CRCs are checked before use.
Text CRCs are restricted to the two known 9003.78.0 images (0x2ce7359e
and 0x69c54454). These checks detect build drift, not firmware authenticity.
Different firmware is unsupported, even if the device has the same SoC.

The driver holds the DMA, pipe4, pipe5, me0 and me1 power domains and owns
the IPC, queue, log and firmware-requested heap allocations. Debugfs lives
under ``/sys/kernel/debug/285100000.video-codec``:

* ``ave-status`` reports mappings, protocol phase and reply counters.
* ``ave-start-once`` accepts one explicit firmware start per boot.
* ``ave-command`` accepts one bounded packet and returns a framed reply.
* ``ave-arena`` stages image/reference/output surfaces within owned memory.
* ``ave-poll`` drains later firmware replies without another submission.

Writes require ``CAP_SYS_RAWIO``. Command packets must come from a trusted,
matching local protocol experiment with all embedded surface addresses
relocated into this boot's owned arena. Root access does not make arbitrary
firmware packets valid. Binary command captures are supplied separately and
are not included in this contribution.

Lifecycle and verification
--------------------------

After the start attempt, the module, DMA buffers and power references remain
pinned until an external hardware reset, including after failure. Do not
force-unload, unbind the DARTs, reuse uncertain buffers or retry a failed
command. Firmware quiescence and normal production teardown are unfinished.

A transport acknowledgement is not an encoded frame. For physical tests,
record the exact kernel/module, DT and firmware hashes; submit changing
images; validate each codec reply; independently decode the current DMA
output; check every frame's dimensions and quality; then verify Stop/Close,
kernel health and the existing desktop/radio stack. Keep the generated
inputs, bitstreams, decoded pixels, logs and hashes as a repeatable artifact.

The prior implementation was authored by Ace (Acelogic). This contribution
ports that existing GPL work. Arbitrary resolutions, standard media APIs,
throughput, concurrent clients and other codecs or SoCs are outside this
experiment.
1 change: 1 addition & 0 deletions Documentation/admin-guide/media/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ Documentation/process/debugging/media_specific_debugging_guide.rst

v4l-drivers
dvb-drivers
apple-ave

**Copyright** |copy| 1999-2020 : LinuxTV Developers

Expand Down
Loading