Skip to content

probe: add probe support for AMD ACP7x platform - #11363

Open
DINESHKUMARK1 wants to merge 1 commit into
thesofproject:mainfrom
DINESHKUMARK1:amd-acp7x-probe
Open

DINESHKUMARK1 wants to merge 1 commit into
thesofproject:mainfrom
DINESHKUMARK1:amd-acp7x-probe

Conversation

@DINESHKUMARK1

@DINESHKUMARK1 DINESHKUMARK1 commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Add the probe (data extraction) feature to the AMD ACP7x platform, so audio data can be tapped from pipeline buffers at runtime and streamed to the host over the compress device.

Enable CONFIG_PROBE and the ACP host DMA probe path in the ACP7x board configuration, and keep the extractor DMA channel in acp_dma_dev_data::probe_ctx via struct acp_host_probe_data. The context is allocated when the extractor DMA is initialised and released when it is torn down, so the channel stays private to probe and does not reuse the DAI dai_index_ptr field.

On ACP7x IPC3, look up probe points with ipc_get_buffer_by_id(). Probe point IDs name buffers, so the component-only lookup rejects valid IDs on this platform. Other IPC3 platforms keep ipc_get_comp_by_id().

Companion Zephyr driver change (host DMA probe support): https://github.com/zephyrproject-rtos/zephyr (drivers/dma/dma_amd_acp_host.c, CONFIG_AMD_ACP_HOST_DMA_PROBE) is required alongside this for the feature to function; see that PR for the kernel-side register-matching note (probe_reg_offset must point at ACP_FUTURE_REG_ACLK_2 on the Linux side).

Add the probe (data extraction) feature to the AMD ACP7x platform, so
audio data can be tapped from pipeline buffers at runtime and streamed
to the host over the compress device.

Enable CONFIG_PROBE and the ACP host DMA probe path in the ACP7x board
configuration, and keep the extractor DMA channel in
acp_dma_dev_data::probe_ctx via struct acp_host_probe_data. The context
is allocated when the extractor DMA is initialised and released when it
is torn down, so the channel stays private to probe and does not reuse
the DAI dai_index_ptr field.

On ACP7x IPC3, look up probe points with ipc_get_buffer_by_id(). Probe
point IDs name buffers, so the component-only lookup rejects valid IDs
on this platform. Other IPC3 platforms keep ipc_get_comp_by_id().

Signed-off-by: DineshKumar Kalva <DineshKumar.Kalva@amd.com>
@intel-sofci

Copy link
Copy Markdown

PR 11363: test results

Run date: 2026-10-27 12:16 UTC

Tested commit: 62945ad24490d399fcfdf1dff8633dd136f9a136

mtl pass rate lnl pass rate ptl pass rate wcl pass rate nvl pass rate

Comment thread src/probe/probe.c
dev = ipc_get_comp_by_id(ipc_get(),
IPC4_COMP_ID(buf_id->fields.module_id,
buf_id->fields.instance_id));
#elif CONFIG_AMD

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this is for IPC3 only then maybe it better to just say if ipc3 here ?

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