Skip to content

[HELD 7.2.5] ASoC: preserve Denali TX DMIC capture - #57

Closed
ooaklee wants to merge 3 commits into
x/sync-jg-7.2.5-20260928from
x/sp11-tx-7.2.5-20260928
Closed

ooaklee wants to merge 3 commits into
x/sync-jg-7.2.5-20260928from
x/sp11-tx-7.2.5-20260928

Conversation

@ooaklee

@ooaklee ooaklee commented Sep 30, 2026 •

Copy link
Copy Markdown
Owner

Current October 4 checkpoint

The exact combined v8 trial is documented in the
qualification report and combined PR #68.
Its ordinary-use report is joined by a bounded three-cycle camera/reopen/
indicator check in Power Saver with simultaneous quiet playback. This is
combined-candidate evidence, not a standalone installation or hardware
qualification of this topic head. Source, dependency base and draft state stay
unchanged. Earlier preparation text below is historical; old 7.2.2 review/test
vehicles are now closed as superseded, with history/evidence retained.

Earlier source/review checkpoint

Held 7.2.5 topic — do not merge

Review the three TX DMIC ports at 7a8e9b112672560861034ad0ceff1d1d094d7a66
against the refresh branch in #51 (bdae86ee3b4e). Golden playback depends on
this capture/clock foundation; playback is deliberately absent from this diff.

Historical review: #36. Its older 7.2.2 head remains unchanged and held.
Diagnostic audio carriers #53–#55 are different trees, not approval of this topic.

Scope and provenance

Keep the Denali DMIC divider, shared VA/TX DMIC clock ownership and Denali TX
capture graph. Five paths change: the Denali DTSI and LPASS common/TX/VA code.
Preserve board-specific selection and the generic path rather than broadening
the workaround to other devices.

The three original ports retain author/date/message and cherry-pick source
trailers. Contributor attribution is retained; no sign-off is fabricated.
Preservation of the guarded ports does not establish equivalence to the
hardware-qualified integration branch.

Evidence and open gates

  • Exact immediate-base ancestry and three-commit review range checked.
  • Local integration/per-commit source validator for that exact range.
  • Historical full ARM64 W=1 Image/modules/DTBs build of this unchanged head.
  • Microphone channel order/levels, recording and concurrent playback.
  • Clock/error/teardown lifetimes, repeated cycles and resume on 7.2.5.
  • Shared-driver/non-Denali tests and all deviations/attestations accepted.
  • Final beta-relative composition and integration CI before merge.

The beta-only workflow does not run automatically for this stacked draft. No
7.2.5 microphone hardware pass follows from local compilation or v23's success.
Keep v23 as the qualified recovery reference and preserve coherent FullIO
topology/UCM/protection configuration while qualifying the kernel.

The eventual target is sp11/ubuntu-qcom-x1e-7.2.y-beta; the current base is a
review prerequisite, not permission to merge into staging. Qualify #51 and TX,
then prepare/revalidate their exact beta-relative composition. Golden must
retain this dependency without importing unrelated camera or battery work.

Combined v8 source and ordinary use evidence

An October 3 source-closure audit maps all 3 commits in this focused
series to combined qualification PR #68, head
8ba2b75713feb5c72bbc11dd8cce4048e23cdeea, ABI 7.2.5-jg-0sp11v8-qcom-x1e.
Author identity/date, subject, message text and stable patch identity match;
actual replay trailers are checked in either recorded direction and through
intermediate qualification replays.

The dependent composition owns 1 overlapping file; TX/Golden clock/audio and battery/profile registry composition are checked at their final owners. Every composed final file entry matches its owning topic's blob, mode and type.
Across all six held groups, the complete refresh-to-v8 tree delta is the 36
owned file entries and the qualification changelog. Six additional commits
touch only that changelog; no unattributed source change was found. This is traceability to the trial, not a fresh standalone
build or installation of this PR, or proof of every integration-to-port behavior.

Microphones are human-reported working in the combined checklist. The running v8 ABI was independently read back. Authorized root
readback verifies the installed v8 image/configuration/boot DTBs, current
initramfs against the installation receipt, and owned v8/v23 boot entries;
v23 remains the default/fallback. No userspace or boot configuration was changed
for that readback.

Measured channel order/levels, explicit playback coexistence, clock/error/teardown lifetimes and other-device/power-state qualification remain open.

This advances bounded combined ordinary-use evidence only. Existing deeper
checks, documented-deviation/contributor/complete-CI-policy acceptance and exact
final-composition gates remain open. Do not test the known deep-resume failure
without a separate supervised plan. Source heads, dependency bases and draft
status remain unchanged; do not merge into staging or infer beta integration.
OpenCode Zai-Codex reviews are advisory, not human contributor or maintainer tags.

Denali uses a 4.8 MHz direct-DMIC rate with the VA path clocked at
19.2 MHz. Validate the sample rate against that clock so the driver
selects DIV4, matching the native Windows programming, instead of DIV2.

Keep the existing calculation on every other machine.

This is based on geoca's Windows-parity analysis in patch 0072.

Link: https://github.com/geocausa/SP11X1e-audio/blob/a1d51ecc7416a905acdad50d31600fff7f28ac1c/patches/0072-ASoC-lpass-va-macro-SP11-match-Windows-DMIC-divider.patch
Link: 58e36b1
Co-authored-by: geoca <272055834+geocausa@users.noreply.github.com>
Signed-off-by: Leon Silcott <leon@boasi.io>

(cherry picked from commit 8406ac5)
The Surface Pro 11 microphone array feeds the TX macro while the VA
macro owns its direct-DMIC pad clocks. Without a cross-macro clock
request, the TX capture path cannot reproduce the working firmware
sequence.

Add an LPASS-internal DMIC clock broker, register the Denali VA macro as
its provider, and request DMIC1 then DMIC0 from the TX DEC event group.
Validate the exact two-channel Denali route before changing the clocks.

Both the provider and consumer paths are gated by the microsoft,denali
root compatible. Other machines retain the existing VA and TX behavior;
the common broker remains unused on those systems.

This implementation follows geoca's Windows-parity work in patch 0078.

Link: https://github.com/geocausa/SP11X1e-audio/blob/a1d51ecc7416a905acdad50d31600fff7f28ac1c/patches/0078-ASoC-lpass-SP11-share-VA-DMIC-clock-with-TX-capture.patch
Link: 58e36b1
Co-authored-by: geoca <272055834+geocausa@users.noreply.github.com>
Signed-off-by: Leon Silcott <leon@boasi.io>

(cherry picked from commit a0f7065)
The Surface Pro 11 exposes its microphone array as two 48 kHz PCM
channels. The existing VA backend covers the voice path but does not
provide the regular TX-macro host capture path.

Add a TX macro link through AudioReach TX_CODEC_DMA_TX_3 and route DMIC0
and DMIC1 through the microphone regulator. Keep the existing VA capture
link available for low-power use and hardware comparison.

Link: ab34e94
Link: 58e36b1
Signed-off-by: Leon Silcott <leon@boasi.io>

(cherry picked from commit d03713c)
@ooaklee

ooaklee commented Oct 20, 2026

Copy link
Copy Markdown
Owner Author

Closed as an inactive/consolidated review vehicle during the 20 October kernel queue cleanup—not merged, newly hardware-qualified or accepted for upstream by this closure.

Previously recorded v8 acceptance evidence stands unchanged; this closure only retires the review vehicle.

The original source head and contributor history remain retained. Where a closed topic branch is removed, its verified archive/pr-57-20261020 tag preserves the exact head for recovery. Released/recovery/dependency branches remain untouched.

The separate tested-source staging route and all outstanding upstream reconstruction, provenance, fork-CI and deviation/promotion gates are tracked in OE #33. Experimental reverse-engineering PRs remain separate and unmerged. Beta/default branches and installed kernels are unchanged.

Retained exact source: 7a8e9b112672560861034ad0ceff1d1d094d7a66.
Dated consolidation record: ooaklee/linux-surface-pro-11-oe#33 (comment)

@ooaklee ooaklee closed this Oct 20, 2026
@ooaklee
ooaklee deleted the x/sp11-tx-7.2.5-20260928 branch October 20, 2026 19:58
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.

1 participant