Skip to content

refactor(isoch): make transmit queue payload opaque#76

Merged
mrmidi merged 1 commit into
mainfrom
refactor/isoch-tx-boundary
Jul 18, 2026
Merged

refactor(isoch): make transmit queue payload opaque#76
mrmidi merged 1 commit into
mainfrom
refactor/isoch-tx-boundary

Conversation

@mrmidi

@mrmidi mrmidi commented Jul 18, 2026

Copy link
Copy Markdown
Owner

Summary

Replaces the mixed IsochAudioTransport shared contract with the ABI-v5, payload-opaque IsochTxQueue.

  • Keeps the existing three-descriptor allocation RPC, payload slab, metadata ring, OHCI descriptor programming, and on-wire behavior unchanged.
  • Leaves transport with only opaque packet metadata, queue state, completion stamps, raw host/cycle anchors, and refill signaling.
  • Moves AM824/PCM payload telemetry plus replay/SYT/ZTS producer fault detail into Audio/ where those semantics belong.
  • Adds boundary, reset-ownership, queue-fault, lifecycle, and audio-side telemetry coverage.

Why

The former TX control block leaked audio/Wire timing and format semantics into the OHCI transport. That made the transport layer depend on content policy and made later device-family fixes unnecessarily risky. The new seam is payload-opaque and lifetime-owned, matching the completed RX boundary.

Compatibility

No descriptor-layout, queue-size, IIG allocation, or wire-behavior change. The IT channel/descriptor path was cross-checked against the local Linux OHCI reference (ohci.c:queue_iso_transmit).

Validation

  • ctest --test-dir build/tests_build --output-on-failure — 1,373 passed; six known fixture skips.
  • ./build.sh --no-bump — succeeds without warnings or errors.

Hardware follow-up

  • Duet: fixed 48 kHz playback/capture, stop/restart, unplug.
  • Saffire/DICE: 44.1 kHz playback/capture, cadence/click monitoring, stop/restart, unplug.

@mrmidi
mrmidi marked this pull request as ready for review July 18, 2026 16:05
@mrmidi
mrmidi merged commit d16e2c4 into main Jul 18, 2026
2 checks passed
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