Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
166 commits
Select commit Hold shift + click to select a range
14cdcf8
drm/asahi: g17: M5: describe the M5 boards and refuse those without b…
DjDeveloperr Nov 5, 2026
476cf7f
drm/asahi: g17: M5: give M5 VMs sparse tiles, render pool mappings an…
DjDeveloperr Nov 5, 2026
c75d823
drm/asahi: g17: M5: build the M5 firmware's InitData graph
DjDeveloperr Nov 5, 2026
b311814
drm/asahi: g17: M5: back M5 render and compute pools with the M5 free…
DjDeveloperr Nov 5, 2026
9b1f778
drm/asahi: g17: M5: install M5 queues and submit through the host com…
DjDeveloperr Nov 5, 2026
5c690ba
drm/asahi: g17: M5: test that the M5 report mask counts tag 32 and re…
funkzy Nov 7, 2026
395c06c
drm/asahi: g17: M5: accept the M5 render and compute program UAPI
DjDeveloperr Nov 5, 2026
b0812e6
selftests: asahi-m4: keep the G17 command-stream test building with t…
funkzy Nov 7, 2026
d4879a4
drm/asahi: g17: M5: submit compute on M5 queues
DjDeveloperr Nov 5, 2026
e12f3f9
tools/asahi: g17-admission-order: keep checking compute admission ord…
funkzy Nov 7, 2026
cb83bf0
tools/asahi: g17-compute-constructor: keep checking compute contexts …
funkzy Nov 7, 2026
0668eca
drm/asahi: g17: M5: encode M5 render commands
DjDeveloperr Nov 5, 2026
8a4d79f
drm/asahi: g17: M5: submit renders on M5 render pairs
DjDeveloperr Nov 5, 2026
d869189
tools/asahi: neo-auxiliary: keep testing the G17P generation under it…
funkzy Nov 7, 2026
605d68a
drm/asahi: g17: M5: Fix existing M5 Mesa losing the GPU device on sta…
funkzy Nov 6, 2026
5c36efe
drm/asahi: g17: M5: add the opt-in M5 thermal governor
DjDeveloperr Nov 5, 2026
66836ab
drm/asahi: g17: signal a cancelled job's fence before drm_sched frees it
DjDeveloperr Oct 25, 2026
ad401c1
drm/asahi: g17: describe the M5 Max (J716c) HW data
erikwb Oct 31, 2026
5d15ef9
drm/asahi: g17: J716c: encode its own AON PTD records
erikwb Oct 31, 2026
e633c7b
drm/asahi: g17: probe the M5 Max (J716c)
erikwb Oct 31, 2026
602d06e
drm/asahi: g17: J716c: use its 8 MiB render blocks
erikwb Oct 31, 2026
de6f946
drm/asahi: g17: carry the minimum parameter-buffer size in renders
erikwb Oct 31, 2026
0f3811f
drm/asahi: g17: M5: reinstall a compute queue the firmware killed wor…
erikwb Nov 1, 2026
a12682e
drm/asahi: g17: M5: keep the firmware's blame for a GPU MMU fault
erikwb Nov 1, 2026
ed38f0d
drm/asahi: fwid: Prepare firmware identity for two-role GPU images
funkzy Nov 5, 2026
a1d947d
drm/asahi: g17: M5: Prepare the M5 graph's board values for a third b…
funkzy Nov 5, 2026
b87a41c
drm/asahi: t6050: Support the GPU on the bare-metal M5 Ultra (J775D)
funkzy Nov 5, 2026
db50cac
drm/asahi: t6050: Refuse unknown M5 Ultra GPU firmware before use
funkzy Nov 5, 2026
5ab6612
rust: drm: gem: shmem: Fix memory corruption on a foreign dma-buf import
funkzy Nov 5, 2026
b1aa7e0
drm/asahi: g17: M5: Fix the M5 Ultra GPU staying at its lowest clock
funkzy Nov 5, 2026
97f87a6
drm/asahi: g17: M5: Fix light work settling at low clocks on the M5 U…
funkzy Nov 5, 2026
bc76754
drm/asahi: Fix refused M5 renders after 255 reuses of a context slot
funkzy Nov 5, 2026
4c269dc
drm/asahi: mmu: Fix Vulkan device creation failing on bare-metal M5 GPUs
funkzy Nov 5, 2026
399daf1
drm/asahi: g17: M5: Give the M5 Ultra GPU its 3500 us idle standby delay
funkzy Nov 5, 2026
402da89
drm/asahi: g17: M5: Give the M5 Ultra's GPU boost its 20% idle tolerance
funkzy Nov 5, 2026
e356887
drm/asahi: g17: M5: Fix the Ultra power policy ignoring die 1's sensors
funkzy Nov 5, 2026
458cf21
drm/asahi: g17: M5: Fix the Ultra firmware seeing half its cache cont…
funkzy Nov 5, 2026
2127397
drm/asahi: g17: Fix the M5 Ultra thermal governor never seeing a temp…
funkzy Nov 5, 2026
409fe86
hwmon: macsmc: Prepare fan control for a kernel thermal policy
funkzy Nov 5, 2026
fada56e
drm/asahi: g17: Fix the M5 governor overriding fans userspace controls
funkzy Nov 5, 2026
4307d59
drm/asahi: g17: Fix the M5 Ultra governor spinning the fans up early
funkzy Nov 5, 2026
817b35d
drm/asahi: g17: Fix large M5 render passes corrupting a client buffer
funkzy Nov 5, 2026
eca4370
drm/asahi: g17: M5: Run compute and render jobs on the bare-metal M5 …
funkzy Nov 5, 2026
5674ef4
drm/asahi: g17: M5: Fix Ultra compute operand state sized for the M5 Pro
funkzy Nov 5, 2026
d229404
drm/asahi: g17: Fix the recovery check of lockless submits on the T6041
funkzy Nov 5, 2026
ff8124f
drm/asahi: g17: Fix jobs succeeding on the output of a failed producer
funkzy Nov 5, 2026
fa0c823
drm/asahi: g17: M5: Fix waited-on work running at the lowest busy clock
funkzy Nov 5, 2026
5331565
drm/asahi: g17: Fix false timeouts of M5 work behind its own context
funkzy Nov 5, 2026
df15f47
drm/asahi: t6050: Prepare M5 compute queue installs for bare-metal co…
funkzy Nov 5, 2026
fccdd35
drm/asahi: g17: Fix M5 Ultra compute dispatch encoded for four clusters
funkzy Nov 5, 2026
a44b1e6
drm/asahi: g17: Fix M5 Ultra compute jobs waiting on another context
funkzy Nov 5, 2026
f267213
drm/asahi: g17: Fix M5 Ultra compute jobs of one queue overlapping
funkzy Nov 5, 2026
1fe11c7
drm/asahi: g17: Fix M5 Ultra compute jobs carrying no per-queue count
funkzy Nov 5, 2026
aae77b0
drm/asahi: g17: Fix large M5 heaps colliding with the driver's ring a…
funkzy Nov 5, 2026
1472610
drm/asahi: g17: Fix every compute job timing out on the M5 Ultra
funkzy Nov 5, 2026
b3b02e2
drm/asahi: g17: Fix compute scratch leaking across processes on queue…
funkzy Nov 5, 2026
ff4a5a0
drm/asahi: g17: M5: Give M5 Ultra renders the Ultra's 16 GiB render pool
funkzy Nov 5, 2026
47f1155
drm/asahi: g17: Reduce M5 job completion latency
funkzy Nov 5, 2026
c7501ab
drm/asahi: g17: Fix M5 Ultra faults when a tiling stage is resumed
funkzy Nov 5, 2026
cbab0ab
drm/asahi: g17: Leave the M5 Ultra's GPU-owned tiler state to the GPU
funkzy Nov 5, 2026
627c0c7
drm/asahi: g17: Match the M5 Ultra's tiling queue seed on rebinding
funkzy Nov 5, 2026
ef6ed27
drm/asahi: g17: Fix M5 Ultra fragment kicks missing an ordering depen…
funkzy Nov 5, 2026
f963ea6
drm/asahi: g17: Fix M5 renders with many attachments being refused
funkzy Nov 5, 2026
8e10f7a
drm/asahi: g17: Prepare M5 render encodings for per-board selection
funkzy Nov 5, 2026
4a3c9ce
drm/asahi: g17: Fix GPU firmware restarts during M5 Ultra renders
funkzy Nov 5, 2026
58ee136
drm/asahi: g17: Fix M5 Ultra render passes flagged as recycled passes
funkzy Nov 5, 2026
4298640
drm/asahi: g17: M5: Support parameter-buffer growth on the M5 Ultra
funkzy Nov 5, 2026
54b3a69
drm/asahi: g17: M5: Fix M5 misreading firmware event 7 as a compute f…
funkzy Nov 5, 2026
9f2b1dd
drm/asahi: g17: M5: Fix spurious and delayed kills of M5 contexts
funkzy Nov 5, 2026
74af0dc
drm/asahi: g17: Fix M5 renders failing after their render pool grows
funkzy Nov 5, 2026
4bfd62f
drm/asahi: g17: M5: Fix freeing memory the M5 GPU may still write at …
funkzy Nov 5, 2026
9bf42a4
drm/asahi: g17: M5: Fix compute queues wedging on a full work ring
funkzy Nov 5, 2026
e68d176
drm/asahi: g17: M5: Fix M5 renders silently dropping their ray queries
funkzy Nov 5, 2026
9901da4
drm/asahi: g17: Prevent M5 firmware crashes from InitData objects M5 …
funkzy Nov 5, 2026
94984a8
drm/asahi: g17: M5: Fix M5 power timeouts under a longer idle delay
funkzy Nov 5, 2026
6e1c46f
drm/asahi: g17: Fix GPU jobs that never retire after out-of-order sub…
funkzy Nov 5, 2026
63810d7
drm/asahi: g17: Fix M5 submissions stalling when the shared work ring…
funkzy Nov 5, 2026
589ff4d
drm/asahi: g17: Fix restart-cancelled M5 compute jobs reporting success
funkzy Nov 5, 2026
d5478c4
drm/asahi: g17: Fix M5 compute timeouts judged by an early record
funkzy Nov 5, 2026
fd492e6
drm/asahi: g17: Fix freeing render state the M5 firmware still links
funkzy Nov 5, 2026
df8a119
drm/asahi: g17: Fix skipped or repeated GPU effort updates on M5
funkzy Nov 5, 2026
b92a0e8
drm/asahi: g17: Fix M5 compute jobs failing with EBUSY when clients c…
funkzy Nov 5, 2026
eb17ebf
tools/asahi: g17-compute-deadline: keep checking compute deadlines wi…
funkzy Nov 7, 2026
bf3de4a
drm/asahi: g17: Fix out-of-memory kills when many M5 compute clients …
funkzy Nov 5, 2026
9dc15ad
drm/asahi: g17: Fix M5 renders refused while their context changes pair
funkzy Nov 5, 2026
acf884b
tools/asahi: g17-owner-release-order: keep checking render release or…
funkzy Nov 7, 2026
4d794a4
drm/asahi: g17: Fix M5 GPU recovery failing or completing the wrong job
funkzy Nov 5, 2026
d0ddaae
drm/asahi: g17: Fix M5 renders retiring before their writes land
funkzy Nov 5, 2026
857d37d
drm/asahi: g17: Fix the M5 recovery log claiming listed jobs fail
funkzy Nov 5, 2026
79c6eb6
drm/asahi: g17: M5: Fix slow kills of hung jobs after other clients f…
funkzy Nov 5, 2026
a48bc83
drm/asahi: g17: M5: Fix M5 GPU completions being handled at a lowered…
funkzy Nov 5, 2026
231d448
drm/apple: Add T6050 firmware-27 display support
DjDeveloperr Oct 26, 2026
9a15197
tools/asahi: apple-afkv2: check that only firmware 27 hands unowned b…
funkzy Nov 7, 2026
15bd48f
drm/apple: log DCP CoreAnalytics events
DjDeveloperr Oct 19, 2026
58216e7
drm/apple: hand the analytics payload back to the DCP unchanged
DjDeveloperr Oct 19, 2026
a9eae59
iommu/apple-dart: Support T6050's boot-locked display DARTs
funkzy Nov 5, 2026
4f5c32f
iommu/apple-dart: Fix the T6050 display co-processor failing buffer s…
funkzy Nov 5, 2026
5ecc013
drm/apple: dptx: Fix no DisplayPort link on T6050 with firmware 27
funkzy Nov 5, 2026
24c102c
drm/apple: Fix garbled display output with firmware 27
funkzy Nov 5, 2026
38e224f
drm/apple: Fix missing EDID on T6050 external displays
funkzy Nov 5, 2026
c91f43a
drm/apple: Give firmware 27 analytics events firmware 26.6's answer
funkzy Nov 5, 2026
2ff4e10
drm/apple: Fix no display on a T6050 with more than one DCP
funkzy Nov 3, 2026
093b52a
drm/apple: Fix one failed T6050 DCP taking down every display
funkzy Nov 5, 2026
8566bc6
rust: workqueue: Let drivers queue work near a CPU, for 15% faster M5…
funkzy Nov 5, 2026
2b3e223
rust: drm: sched: Let drivers place scheduler work, for 4% faster M5 …
funkzy Nov 5, 2026
ebcd45e
drm/asahi: g17: M5: Make M5 Ultra GPU jobs complete up to 20% faster …
funkzy Nov 5, 2026
b391220
drm/asahi: g17: M5: Fix one client's binds being able to crash the GP…
funkzy Nov 5, 2026
6a98b81
drm/asahi: g17: M5: Fix hung GPU work running on with no time limit
funkzy Nov 5, 2026
92b9bea
drm/asahi: g17: Fix a process keeping access to a GPU queue after ano…
funkzy Nov 5, 2026
2ecb3f2
tools/asahi: g17-growth: keep checking compute growth with pool descr…
funkzy Nov 7, 2026
ebd7caf
tools/asahi: g17-capacity-fault, g17-unpublished: keep checking capac…
funkzy Nov 7, 2026
457f652
drm/asahi: g17: Fix a released context's QoS entry pointing at memory…
funkzy Nov 5, 2026
8709957
drm/asahi: Fix client binds silently replacing the kernel's GPU mappings
funkzy Nov 5, 2026
d20bb98
drm/asahi: g17: M5: Fix compute jobs overrunning their scratch pool
funkzy Nov 5, 2026
7376473
drm/asahi: g17: M5: Fix one client exhausting system memory through G…
funkzy Nov 5, 2026
0eea9c1
tools/asahi: g17-compute-growth-deadline: keep checking growth deadli…
funkzy Nov 7, 2026
cc59de4
drm/asahi: Fix one client taking every GPU queue from the others
funkzy Nov 5, 2026
4a4e41a
drm/asahi: mmu: Fix sparse tiles wasting 2 MiB of contiguous memory p…
funkzy Nov 5, 2026
85fe134
drm/asahi: pgtable: Fix a bad firmware table pointer making the drive…
funkzy Nov 5, 2026
64a142c
drm/asahi: g17: M5: Fix GPU jobs being able to write the kernel's com…
funkzy Nov 5, 2026
68e51c0
drm/asahi: g17: Fix clients rewriting submitted GPU commands after th…
funkzy Nov 5, 2026
82bf970
drm/apple: Fix display firmware buffer requests reaching any mapped m…
funkzy Nov 5, 2026
677a425
drm/asahi: g17: Fix GPU job fences being able to stall memory reclaim…
funkzy Nov 6, 2026
e226941
tools/asahi: g17-telemetry-integration: keep checking telemetry with …
funkzy Nov 7, 2026
21a5bde
drm/asahi: g17: J716c: write the MCC mask and topology words
erikwb Nov 6, 2026
6d8d401
drm/asahi: g17: J716c: apply its controller defaults
erikwb Nov 6, 2026
15fa55b
drm/asahi: g17: Run the M5 Max on bare metal
erikwb Nov 6, 2026
e1bf8cf
drm/asahi: Match the T6050 GPU by its G17S compatible
erikwb Nov 6, 2026
4a853ff
drm/asahi: Fix rmmod racing a GPU probe unloading live firmware callb…
funkzy Nov 6, 2026
870c3ba
drm/apple: Fix rmmod racing a display probe unloading live DCP callbacks
funkzy Nov 6, 2026
caae6af
tools/asahi: apple-dcp: keep the display tests running on firmware 27…
funkzy Nov 7, 2026
487b9ae
drm/asahi: g17: Fix GPU queue creation spinning a CPU while the GPU h…
funkzy Nov 7, 2026
cc653ca
drm/asahi: g17: order an owner's overlapping renders across its own p…
funkzy Nov 7, 2026
0643c51
drm/asahi: g17: size a render queue's credits, pool and pair limit fr…
funkzy Nov 7, 2026
b1c9a21
drm/asahi: g17: restore two render pairs per queue on G17D within the…
funkzy Nov 7, 2026
0dd0833
drm/asahi: g17: take a queue's second render pair only once its first…
funkzy Nov 7, 2026
9ee30f4
Merge branch 'integration/aurora' into funkzy/t6050-gpu-on-integration
erikwb Nov 10, 2026
c4f57fc
drm/apple: record the started swap on the firmware-27 dual-pipe path
erikwb Nov 10, 2026
d2566e9
drm/asahi: g17: build the M5 thermal governor without cpufreq
erikwb Nov 10, 2026
e3269a1
Merge current integration/aurora into the M5 GPU preparation
DjDeveloperr Nov 10, 2026
e444759
Include the separate SEP source-check prerequisite in the merge prepa…
DjDeveloperr Nov 10, 2026
5bb2876
drm/asahi: adapt the 25G83 profile to optional graph tables
DjDeveloperr Nov 10, 2026
e962ea2
drm/asahi: g17: Wait for producers on the host without the G17D forms
erikwb Nov 6, 2026
8aee10d
drm/asahi: g17: M5 Pro: wait for other queues' compute in firmware wh…
DjDeveloperr Nov 10, 2026
2e6b2d9
drm/asahi: g17: Run the M5 Pro on bare metal
DjDeveloperr Nov 9, 2026
ae20b32
drm/asahi: g17: let progress end a restart storm window
DjDeveloperr Nov 9, 2026
1ddc0f5
drm/asahi: g17: M5: read the compute item-ring cursors once per publi…
DjDeveloperr Nov 10, 2026
cd371f9
drm/apple: Use an ARGB fbdev console on firmware 27 too
DjDeveloperr Nov 9, 2026
7e32e38
drm/apple: send firmware 27 swap timestamps in the firmware's timebase
erikwb Nov 10, 2026
fb68a2b
drm/asahi: g17: M5: report COMPUTE_NO_QUERY_ACCESS, so timestamp quer…
DjDeveloperr Nov 10, 2026
9d0e3d2
drm/asahi: g17: M5 Pro: relax a compute kick's parent to the pipeline…
DjDeveloperr Nov 10, 2026
32a31cf
arm64: dts: apple: t6050-j714s: Describe the GPU and panel handoff
DjDeveloperr Nov 10, 2026
d7cd98f
dt-bindings: gpu: apple: describe the M5 Pro firmware handoff
DjDeveloperr Nov 10, 2026
dbb1b0b
Merge #1406: validated M5 bring-up stack layer
DjDeveloperr Nov 10, 2026
1e7c03b
Merge #1070: validated M5 bring-up stack layer
DjDeveloperr Nov 10, 2026
99d8372
Merge #1411: validated M5 bring-up stack layer
DjDeveloperr Nov 10, 2026
3d5a09b
Merge #1425: validated M5 bring-up stack layer
DjDeveloperr Nov 10, 2026
dc5dcdd
Merge #1394: validated M5 bring-up stack layer
DjDeveloperr Nov 10, 2026
f2342f5
Merge #1401: validated M5 bring-up stack layer
DjDeveloperr Nov 10, 2026
8a7b85d
Merge #1364: validated M5 bring-up stack layer
DjDeveloperr Nov 10, 2026
5c1938f
Merge #1404: validated M5 bring-up stack layer
DjDeveloperr Nov 10, 2026
cebabc0
Merge #1422: validated M5 bring-up stack layer
DjDeveloperr Nov 10, 2026
607d797
Merge #1436: validated M5 bring-up stack layer
DjDeveloperr Nov 10, 2026
5e1d606
Merge #1435: validated M5 bring-up stack layer
DjDeveloperr Nov 10, 2026
713a385
Merge current integration/aurora into the complete M5 bring-up stack
DjDeveloperr Nov 10, 2026
65bb111
tools/asahi: bound the queue priority fixture before quota accounting
DjDeveloperr Nov 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 53 additions & 6 deletions Documentation/devicetree/bindings/display/apple,dcp.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -97,13 +97,32 @@ properties:

clocks:
minItems: 1
maxItems: 2
maxItems: 64

clock-names:
minItems: 1
items:
- const: clock-154
- const: clock-194
maxItems: 64

apple,clock-ids:
oneOf:
- type: boolean
- $ref: /schemas/types.yaml#/definitions/uint32-array
minItems: 1
maxItems: 64
description: |
Ordered firmware provider clock identifiers. Callback clock indices
select the corresponding entry in clocks. An explicitly empty table
is allowed when the provider has no clocks.

apple,firmware-physical-regs:
$ref: /schemas/types.yaml#/definitions/uint64-array
minItems: 1
maxItems: 10
description: |
Coprocessor physical base addresses in display register-table order,
including the bandwidth scratch and optional doorbell windows.
The number of entries must match the complete register table.
Omit on identity-mapped systems; reg supplies the physical view.

memory-region:
minItems: 1
Expand Down Expand Up @@ -446,12 +465,39 @@ allOf:
then:
required:
- apple,bw-scratch
- if:
properties:
compatible:
contains:
enum: ['apple,t6050-dcp', 'apple,t6050-dcpext']
then:
required:
- apple,clock-ids
- memory-region
- memory-region-names
- apple,firmware-compat
properties:
apple,firmware-compat:
items:
- const: 27
- const: 0
- const: 0
else:
properties:
clocks:
maxItems: 2
clock-names:
items:
- const: clock-154
- const: clock-194
apple,clock-ids: false
apple,firmware-physical-regs: false
- if:
not:
properties:
compatible:
contains:
enum: ['apple,t8140-dcp', 'apple,t8140-dcpext']
enum: ['apple,t8140-dcp', 'apple,t8140-dcpext', 'apple,t6050-dcp', 'apple,t6050-dcpext']
then:
properties:
apple,power-lut-data-x: false
Expand All @@ -463,7 +509,8 @@ allOf:
properties:
compatible:
contains:
enum: ['apple,t8140-dcp', 'apple,t8140-dcpext']
enum: ['apple,t8140-dcp', 'apple,t8140-dcpext',
'apple,t6050-dcp', 'apple,t6050-dcpext']
then:
properties:
resets: false
Expand Down
52 changes: 52 additions & 0 deletions Documentation/devicetree/bindings/gpu/apple,agx.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ properties:
- apple,agx-g13s
- apple,agx-g14g
- apple,agx-g14s
- apple,agx-g17s
- apple,agx-t6040
- apple,agx-t6041
- apple,agx-t6050
Expand All @@ -40,9 +41,11 @@ properties:
- const: apple,agx-g14s

reg:
minItems: 1
maxItems: 2

reg-names:
minItems: 1
maxItems: 2

power-domains:
Expand Down Expand Up @@ -200,6 +203,14 @@ properties:
AFR leakage. Per-chip efuse values decoded by the boot loader,
stored as IEEE-754 binary32 bit patterns in big-endian cells.

apple,leakage-calibration-words:
$ref: /schemas/types.yaml#/definitions/uint32-array
minItems: 3
maxItems: 3
description:
Raw per-chip GPU leakage calibration words for the M5 Pro controller
defaults. Supplied by the boot loader, never fixed in a board DT.

apple,firmware-abi:
$ref: /schemas/types.yaml#/definitions/uint32-array
minItems: 3
Expand All @@ -213,6 +224,46 @@ required:
- reg

allOf:
- if:
properties:
compatible:
contains:
const: apple,agx-g17s
then:
description:
The M5 Pro GPU uses one MMIO range and two firmware mailbox roles.
Its firmware graph supplies the performance tables, so it has no
operating-point table in the board DT.
properties:
reg:
maxItems: 1
reg-names:
items:
- const: sgx
mboxes:
items:
- description: Primary GFX firmware mailbox
- description: Secondary GFX firmware mailbox
memory-region:
items:
- description: Region containing GPU MMU TTBs
- description: Region containing GPU MMU page tables
- description: Shared handoff structure for VM coordination
- description: Data segment of the loaded GPU firmware
- description: Firmware kernel-window page tables
- description: Text segment identifying the loaded GPU firmware
memory-region-names:
items:
- const: ttbs
- const: pagetables
- const: handoff
- const: fw-data
- const: l2-pagetables
- const: fw-text
required:
- power-domains
- reg-names
- memory-region-names
- if:
properties:
compatible:
Expand Down Expand Up @@ -409,6 +460,7 @@ allOf:
- apple,agx-t6041
- apple,agx-t8132
- apple,agx-t8140
- apple,agx-g17s
then:
properties:
reg:
Expand Down
7 changes: 7 additions & 0 deletions Documentation/hwmon/macsmc-hwmon.rst
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,13 @@ The driver leaves fan policy to the SMC until userspace writes a nonzero
shutdown and removal release only fans taken over by such a request; resume
does not reapply it. A new target write is required after resume.

A kernel thermal policy (the M5 GPU governor) sets the fans through
macsmc_hwmon_fans_request(), as a share of each fan's range, on every fan
whose node names its mode, target, minimum and maximum keys, with or without
apple,fan-manual-control. It uses the same manual mode, leaves fans userspace
holds alone, and its fans return to the SMC at suspend, shutdown and removal
like userspace's.

SoC die temperatures are described by the ``apple,soc-die-keys`` string list
on the hwmon device node. The driver appends these temperature channels after
the ``temperature-*`` children, in list order, with labels ``SoC die <key>``.
Expand Down
206 changes: 206 additions & 0 deletions arch/arm64/boot/dts/apple/t6050-j714s-gpu-panel.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,206 @@
// SPDX-License-Identifier: GPL-2.0+ OR MIT
/*
* J714s internal panel, external display engines and GPU (G17S), for the boot
* loader's display and GPU handoff. Everything here stays disabled: the loader
* checks the ADT and the live DCP, DART and GPU firmware state, publishes the
* DCP's firmware properties and fills the GPU reservations, and only then
* enables the nodes, the GPU last. A loader without the handoff, or one whose
* checks fail, leaves the boot framebuffer to simpledrm and the GPU off.
*
* Values are from the J714sAP 27.0 ADT (dcp, dart-dcp, dart-disp0, dcpext*,
* dart-dcpext*, dart-dispext*, sgx, gfx-asc, gfx1-asc, pmgr) and the GPU
* firmware's own boot arguments (dArW, the two ASC wrappers).
*/

/ {
aliases {
/* The loader writes apple,notch-height into the "dcp" alias */
dcp = &dcp;
disp0 = &display;
/* The loader finds the GPU through this alias */
gpu = &sgx;
};

/* As on t6050-ultra.dtsi, with the internal display's DART (disp0, SID 0) */
display: display-subsystem {
compatible = "apple,display-subsystem";
iommus = <&disp0_dart 0>;
status = "disabled";
};

reserved-memory {
/* Filled and enabled by the loader from the ADT */
gpu_fw_text: gpu-fw-text {
reg = <0 0 0 0>;
no-map;
status = "disabled";
};

gpu_fw_data: gpu-fw-data {
reg = <0 0 0 0>;
no-map;
status = "disabled";
};

uat_ttbs: uat-ttbs {
reg = <0 0 0 0>;
no-map;
status = "disabled";
};

uat_pagetables: uat-pagetables {
reg = <0 0 0 0>;
no-map;
status = "disabled";
};

uat_l2_pagetables: uat-l2-pagetables {
reg = <0 0 0 0>;
no-map;
status = "disabled";
};

uat_handoff: uat-handoff {
reg = <0 0 0 0>;
no-map;
status = "disabled";
};
};
};

/* ADT dart-dcp and dart-disp0: vm-base 1 TiB, vm-size 3 TiB */
&dcp_dart {
apple,dma-range = <0x100 0x0 0x300 0x0>;
};

&disp0_dart {
apple,dma-range = <0x100 0x0 0x300 0x0>;
};

&dcp {
/*
* The 14.2-inch 3024x1964 mini-LED panel of J314/J414/J514. The OS takes
* the dimensions from the ADT when it has them; this J714s ADT does not.
*/
panel {
compatible = "apple,panel-j714", "apple,panel-mini-led", "apple,panel";
width-mm = <302>;
height-mm = <196>;
adj-height-mm = <189>;
};
};

/*
* The four external display engines (dcpext0..3): the loader hands each over
* when its checks pass, else leaves it disabled. No display is described on
* them: dcpext0 loses its Type-C route, whose crossbar J714s keeps disabled.
*/
&dcpext0 {
/delete-property/ phys;
/delete-property/ phy-names;
/delete-property/ mux-controls;
/delete-property/ mux-control-names;
/delete-property/ apple,typec-dptx-phys;
/delete-property/ apple,typec-mux-indices;
/delete-property/ apple,connector-type;
/delete-node/ typec-routes;
};

/* The ADT lists no clocks for the external engines (clock-ids = []) */
&dcpext1 {
apple,clock-ids;
};

&dcpext2 {
apple,clock-ids;
};

&dcpext3 {
apple,clock-ids;
};

/* ADT dart-dcpextN and dart-dispextN: vm-base 1 TiB, vm-size 3 TiB, as dcpext0's */
&dcpext1_dart {
apple,dma-range = <0x100 0x0 0x300 0x0>;
};

&dispext1_dart {
apple,dma-range = <0x100 0x0 0x300 0x0>;
};

&dcpext2_dart {
apple,dma-range = <0x100 0x0 0x300 0x0>;
};

&dispext2_dart {
apple,dma-range = <0x100 0x0 0x300 0x0>;
};

&dcpext3_dart {
apple,dma-range = <0x100 0x0 0x300 0x0>;
};

&dispext3_dart {
apple,dma-range = <0x100 0x0 0x300 0x0>;
};

/* The inventory ASC nodes; the mailboxes below describe the same windows. */
/delete-node/ &gfx_asc;
/delete-node/ &gfx1_asc;

&{/soc} {
/*
* ADT gfx-asc and gfx1-asc at their physical windows: the wrapper, the
* 8-byte iop-vbar, and their second and third interrupts (send-empty,
* recv-not-empty), as T8140/T8142.
*/
gfx_mbox: mailbox@2302600000 {
compatible = "apple,t6050-j775d-ascwrap-v6";
reg = <0x23 0x2600000 0x0 0x88000>,
<0x23 0x2050000 0x0 0x8>;
reg-names = "wrapper", "iop-vbar";
interrupts = <AIC_IRQ 0 2797 IRQ_TYPE_LEVEL_HIGH>,
<AIC_IRQ 0 2800 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "send-empty", "recv-not-empty";
apple,firmware-role = "GFX";
power-domains = <&ps_gfx>;
#mbox-cells = <0>;
status = "disabled";
};

gfx1_mbox: mailbox@2302e00000 {
compatible = "apple,t6050-j775d-ascwrap-v6";
reg = <0x23 0x2e00000 0x0 0x88000>,
<0x23 0x2850000 0x0 0x8>;
reg-names = "wrapper", "iop-vbar";
interrupts = <AIC_IRQ 0 2801 IRQ_TYPE_LEVEL_HIGH>,
<AIC_IRQ 0 2804 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "send-empty", "recv-not-empty";
apple,firmware-role = "GFX1";
power-domains = <&ps_gfx>;
#mbox-cells = <0>;
status = "disabled";
};
};

/* The ADT marks GPX and AFR, GFX's parents, critical. */
&ps_gpx {
apple,always-on;
};

&ps_afr {
apple,always-on;
};

&sgx {
compatible = "apple,agx-g17s";
/* ADT sgx reg[0]; the driver maps the first 16 MiB as "sgx" */
reg = <0x23 0x0 0x0 0x3fdc000>;
reg-names = "sgx";
/delete-property/ interrupts;
mboxes = <&gfx_mbox>, <&gfx1_mbox>;
memory-region = <&uat_ttbs>, <&uat_pagetables>, <&uat_handoff>,
<&gpu_fw_data>, <&uat_l2_pagetables>, <&gpu_fw_text>;
memory-region-names = "ttbs", "pagetables", "handoff", "fw-data",
"l2-pagetables", "fw-text";
};
Loading
Loading