Repository navigation
probe: add probe support for AMD ACP7x platform - #11363
DINESHKUMARK1 wants to merge 1 commit into
Conversation
PR 11363: test resultsRun date: 2026-10-27 12:16 UTC Tested commit: 62945ad24490d399fcfdf1dff8633dd136f9a136 |
| dev = ipc_get_comp_by_id(ipc_get(), | ||
| IPC4_COMP_ID(buf_id->fields.module_id, | ||
| buf_id->fields.instance_id)); | ||
| #elif CONFIG_AMD |
There was a problem hiding this comment.
If this is for IPC3 only then maybe it better to just say if ipc3 here ?
There was a problem hiding this comment.
We don't have idea who else would be using the IPC3 and the change would impact the probe feature, so used the AMD config
There was a problem hiding this comment.
I think its safe to say IPC3 here, this means other IPC3 user wont have to add to the conditional logic.
There was a problem hiding this comment.
Other IPC3 users may not be using the ipc_get_buffer_by_id API. So, if someone enables IPC3 but want to use the ipc_get_comp_by_id, then there will be impact. Let us know your view
There was a problem hiding this comment.
ok, if this is concern it probably better to have a Kconfig that uses this method for probes in the kconfig menu. This way it can be selected when needed. i.e. AMD conf files would select it.
There was a problem hiding this comment.
We can control this through CONFIG_AMD_ACP_HOST_DMA_PROBE, with AMD configs enabling it when needed.
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>
62945ad to
a4eaa40
Compare
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).