Skip to content

media: apple: avd: Say when the queue info block is missing - #903

Merged
RyanTheTide merged 1 commit into
aurora-silicon:integration/aurorafrom
AxxzyWasTaken:avd-queue-info-log
Nov 5, 2026
Merged

RyanTheTide merged 1 commit into
aurora-silicon:integration/aurorafrom
AxxzyWasTaken:avd-queue-info-log

Conversation

@AxxzyWasTaken

Copy link
Copy Markdown
Contributor

avd_qfw_check() returns false without logging anything when the firmware wrote no queue info block, so the decoder stays on the legacy transport and nothing in the log says so. For a legacy image that's expected. But an ABI 2 image writes the block at its own SRAM address, so a DT sram window that doesn't match the image fails the same silent way. The other reasons for staying on legacy (unsupported ABI, wrong image tier, bad ring geometry) are already logged.

This logs the missing block once:

avd 281080000.avd: no queue info block at sram +0x7fc0, using legacy transport

How it came up

On a J616C (T6041, M4 Max) running avd-fw 6062e851, the decoder stayed on open-compat with no message at all. The board's DT had sram at 0x281092000 (the T8132 layout). The image's info block, with the AVQ1 and AVM2 magics, turned up at 0x28109bfc0, which is +0x7fc0 from 0x281094000: the T6040 layout, as in t6040.dtsi. With the window moved to 0x281094000 (a test module that offset it), the driver read ABI 2 aperture 0x1094000 features 0xf and switched to open-queue. With this line it would have been a one-step find.

Testing (J616C, M4 Max, 7.2.10, avd-fw 6062e851 v5-t2)

  • Built as an external module with W=1: no warnings.
  • Loaded on the J616C with the 0x281092000 window: prints the line once at the first boot of the firmware. AV1 1080p decodes bit-exact against software (ffmpeg framemd5), as before.
  • No functional change: the same check returns false at the same point.

avd_qfw_check() returns false without a word when the firmware wrote no
queue info block, and the decoder stays on the legacy transport. That is
expected for a legacy image. But an ABI 2 image writes the block at its
own SRAM address, so a DT sram window that does not match the image
fails the same silent way. The other reasons for staying on the legacy
transport (an unsupported ABI, a wrong image tier, a bad ring geometry)
are already logged.

Log this one once too.

Signed-off-by: AxxzyWasTaken <axxzytte@gmail.com>
@RyanTheTide

Copy link
Copy Markdown
Contributor

Merge train (MTL, 06/11). Gates passed on test tree 0412501 (integration/aurora 2661d71 + this batch):

  • Signed-off-by from the author on every commit. Adversarial review done.
  • W=1 on the touched objects: 0 new warnings. KUnit: drm/apple 112/113 (1 skip), hid 19/19, SEP 158/163 (the 4 known apple_sep_host_store failures, profile tests all pass). dt_binding_check clean. apple-dcp host selftests 86/86, run-host-tests at base parity (with Merge train: G17 hang confinement (#928) plus its host-test fixture #989's fixture).
  • Regression boots of 7.3.0-aurora-mtl1106a, compared with the fleet16/fleet17 rows: M2, M1 Pro, J700 and J616s all clean (0 err-level lines, 0 AVCs, displays, Wi-Fi, BT, Touch ID, camera, speakers at minimal volume with speakerguardd, s2idle, perf at parity).

@RyanTheTide
RyanTheTide merged commit 0987c93 into aurora-silicon:integration/aurora Nov 5, 2026
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.

2 participants