Commits split out of the UAOL feedback PR#10894
Open
serhiy-katsyuba-intel wants to merge 3 commits into
Open
Conversation
This moves struct cir_buf_ptr from mixin_mixout to a common header so it can be reused by other modules. Signed-off-by: Serhiy Katsyuba <serhiy.katsyuba@intel.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR extracts UAOL-related helper logic from a larger UAOL feedback effort so it can be upstreamed independently, reducing future rebase/conflict risk while enabling UAOL capability reporting and multi-DMA UAOL gateway parsing.
Changes:
- Add a TLV-only DMA-config parser that can collect multiple DMA configs from a gateway blob.
- Move UAOL capability and stream-id mapping helpers into a dedicated
uaol.c/uaol.h. - Relocate
struct cir_buf_ptrto a common audio header for reuse beyond mixin/mixout.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/ipc/ipc4/helper.c | Adds ipc4_find_dma_config_tlv() to discover multiple DMA configs in TLV blobs. |
| src/include/sof/ipc/topology.h | Exposes the new TLV DMA-config helper in the IPC4 topology API. |
| src/include/sof/audio/uaol.h | Introduces UAOL helper API for capabilities TLV and stream-id mapping. |
| src/audio/uaol.c | Implements UAOL capability TLV generation and UAOL→HDA link stream-id mapping. |
| src/audio/CMakeLists.txt | Adds UAOL helper compilation under a UAOL-related Kconfig symbol. |
| src/audio/base_fw_intel.c | Switches UAOL helper usage to the new UAOL header and removes embedded UAOL helper code. |
| src/include/sof/audio/audio_stream.h | Adds shared struct cir_buf_ptr definition. |
| src/audio/mixin_mixout/mixin_mixout.h | Removes local struct cir_buf_ptr (now in audio_stream.h). |
| src/audio/copier/copier_dai.c | Uses the new TLV DMA-config finder for UAOL gateway setup. |
This moves UAOL-related code to a dedicated uaol.c file, which will be extended with additional UAOL functionality in the future. Signed-off-by: Serhiy Katsyuba <serhiy.katsyuba@intel.com>
This adds yet another function to parse DMA config supplied by the host. Unfortunately, we now have three functions for this purpose. Unlike the existing ipc4_find_dma_config(), ipc4_find_dma_config_tlv() can find multiple DMA configs. For example, a UAOL copier may use two DMA channels: one for the audio USB endpoint and one for the feedback USB endpoint. ipc4_find_dma_config_tlv() can only work when all data in data_buffer is in TLV format; unfortunately, this is not always the case with IPC4 for all gateway types. Therefore, the existing ipc4_find_dma_config() is still needed as it can skip non-TLV blob data at the beginning of data_buffer. The other function, ipc4_find_dma_config_multiple(), works differently: it searches for DMA config for a given ALH stream ID in ALH multi-gateway case. Hence, this third function -- ipc4_find_dma_config_tlv() -- is added to the family :-/. Signed-off-by: Serhiy Katsyuba <serhiy.katsyuba@intel.com>
0a40e5d to
7f086af
Compare
Contributor
Author
|
Pushed fixes as Copilot suggested. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
These are some commits split out of the UAOL feedback PR #10829. The UAOL feedback PR needs to wait until driver UAOL support is ready, as the actual clock feedback functionality has not yet been properly tested. These commits, however, can be safely upstreamed now to ease future rebases of the UAOL PR.