Skip to content

drm/apple: drive the T6041 DCP and dcpext on firmware 27.2 - #1829

Draft
RyanTheTide wants to merge 5 commits into
integration/aurorafrom
fw272/dcp-j616s
Draft

RyanTheTide wants to merge 5 commits into
integration/aurorafrom
fw272/dcp-j616s

Conversation

@RyanTheTide

Copy link
Copy Markdown
Contributor

The T6041 display driver currently accepts only its transitional desktop 26.x
interface, so a 27.2 handoff is refused before appledrm can take over the J616s
internal panel or either external display processor.

Drive a T6041 whose compatibility tuple is 27.2.0 on the common firmware-27
interface, keeping the exact 26.5.2 and 26.6.2 desktop pairs on the desktop
path during the transition. Every other compatibility tuple stays refused
before the boot framebuffer is replaced.

  • select firmware 27 for T6041 by its compatibility ABI, adopt the loader's
    live session (like T6050), and supply the J616s panel's missing 600-nit SDR
    ceiling while leaving peak luminance and EDR headroom to the existing ADT path;
  • open the early display gate for 27.2.0 alongside 26.6.2;
  • keep the T6041 DT validation in front of both firmware lineages.

The first two patches are the shared firmware-27 method/callback prerequisites
(27.2 dfb_ready_query at A385, D590 notification as a no-op), carried unchanged
with their original authorship. They also appear in #1683 and #1646; this
branch will rebase onto integration/aurora once those land.

Tested on integration/aurora:

  • Apple-DCP host regression suite: 88/88.
  • ARM64/QEMU KUnit: apple-dcp-v27 3/3, apple-afk-ring 4/4,
    apple-display-gate-t6041 2/2; no failures introduced.

Internal-panel, brightness, EDR, HDMI, Type-C DP and s2idle qualification on the
J616s requires the 27.2 Stage 1 stub and is not part of this change.

sithglan and others added 5 commits November 14, 2026 00:07
The firmware 27.2 table has no ID for dfb_ready_query, so boot_5()
skips the query on 27.2. The 27.3 trace sends it at A385, one above its
27.0 ID, as 27.2 moved set_create_DFB and vi_set_temperature_hint up by
one.

Give the 27.2 table A385, so 27.2 boots with the same sequence as 27.0.
The J813 ran with this table on 27.2: boot_done() acknowledges the DCP's
boot callback only after the query's reply, and the DCP booted and the
panel came up.

Signed-off-by: Thomas Glanzmann <thomas@glanzmann.de>
(cherry picked from commit 17229b9)
The 27.2 firmware sends a 20-byte D590 notification with no reply after
swaps (the macOS handler next to swap_info is the buffer-release
notification). Nothing here consumes it, so take it as a no-op instead of
warning about an unknown callback.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
(cherry picked from commit 907bb7e)
T6041 currently selects its desktop IOMFB instance only for exact 26.5.2 and 26.6.2 firmware pairs. Select the common firmware-27 path when the handoff instead advertises compatibility 27.2.0, while keeping both desktop pairs unchanged.

A T6041 on firmware 27 inherits the running session like T6050. Its J616s panel also needs the existing 600-nit SDR fallback because its panel node has no maximum-brightness property; peak luminance and EDR headroom continue to come from ADT.

Cover the method table, D590 envelope, and both admission lineages with KUnit.

Assisted-by: LLM
Link: #1683
Signed-off-by: Ryan Murray <ryan@aurorasilicon.org>
The T6041 gate currently enables the handed-over display only for compatibility 26.6.2. Accept 27.2.0 as the firmware-27 successor while retaining every marker, topology, DART, mailbox, disabled-node, and running-ASC check.

Keep other versions refused before the boot framebuffer is replaced, and cover the exact compatibility predicate with KUnit.

Assisted-by: LLM
Signed-off-by: Ryan Murray <ryan@aurorasilicon.org>
The T6041 register-window and handoff topology check was tied to the transitional desktop firmware selection. Run it for the internal T6041 device on either admitted firmware lineage, before touching the inherited coprocessor.

Rename the panel ceiling constant at the same time: it is now used by both T6041 lineages.

Assisted-by: LLM
Signed-off-by: Ryan Murray <ryan@aurorasilicon.org>
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.

3 participants