Table of contents

DSPQueue capability comparison

Kokoro-Hexagon 0a03be39Updated 2026-09-26

This is a reference-only probe through the installed AndroidSMA diagnostic app, not Kokoro synthesis or an owned product transport. Both attached phones ran the same PowerShell source from tools/reference/dspqueue-echo/Get-DspQueueCapabilities.ps1. The source created a CDSP queue, read DSPQUEUE_STAT_SIGNALING_PERF, and closed it; it did not load an echo worker or send packets. The statistic number and levels come from the SHA-256-pinned Hexagon SDK 6.4.0.2 incs/dspqueue.h used by tools/reference/dspqueue-echo/Build-DspQueueEchoProbe.ps1.

Gate Razr+ 2024 S23
Unsigned PD / queue create 0 / 0 0 / 0
Signaling-performance query result 0 0
Signaling-performance level 1000 1000
Queue close 0 0
Probe passed Yes Yes
Prior startup scripts and result restored Yes Yes

The SDK calls level 1000 optimized signaling. Equal values rule out a different reported signaling-performance level as the explanation for the observed median split; they do not establish that the phones selected the same driver-signaling branch or that their firmware/host scheduling is equivalent. A separate fastrpc_get_cap attempt was unavailable through this diagnostic binding on both phones, so no DSP/driver capability value was recorded. The temporary probe source was removed from both apps after the run.

Repeatable gate (the runner stages the probe, verifies its digest, restores the prior startup scripts and result, and removes the probe):

pwsh -NoProfile -File tools/reference/Invoke-DspQueueCapabilityProbe.ps1 -Device Razr
pwsh -NoProfile -File tools/reference/Invoke-DspQueueCapabilityProbe.ps1 -Device S23

Both commands passed in a subsequent rerun with the same reported level. The PowerShell sources parsed without errors, tools/Test-DspQueueLayout.ps1 passed, and git diff --check was clean.

The preceding identical fresh-worker echo result measured 120.364 µs on Razr+ and 283.907 µs on S23, with the larger S23 interval in response read. Poll-mode medians were 152.135 µs and 249.062 µs, respectively. This suggests that host blocking-wakeup overhead alone cannot explain the entire gap, but it does not locate whether DSP execution, response-queue publication, polling cadence, or host scheduling first diverges. The next attribution gate is same-artifact phase timing around response availability and an unambiguous source-defined readout of the actual signaling branch.

No QNN API was used by this probe. The diagnostic still loads libcdsprpc.so and a historical QNN-named delegate factory; neither is promoted to the product closure by this result.