-
Notifications
You must be signed in to change notification settings - Fork 349
[DRAFT] userspace LL/audio test PR #10558
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
kv2019i
wants to merge
80
commits into
thesofproject:main
Choose a base branch
from
kv2019i:feat/userspace-ll-wip
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
Show all changes
80 commits
Select commit
Hold shift + click to select a range
27cc77f
(---section submitted PRs START)
kv2019i 9ac3f79
app: add CONFIG_SOF_OS_LINUX_COMPAT_PRIORITY
kv2019i cec6caf
audio: base_fw_intel: do not access UAOL hw in Linux compat mode
kv2019i 16aff9d
(---section submitted PRs STOP)
kv2019i 80be60c
(---section: user LL infra START)
kv2019i a4deff6
ipc: move standalone-test check later in ipc_init()
kv2019i 0f8d0e0
audio: component: add comp_grant_access_to_thread()
kv2019i f82b4a4
pipeline: protect component connections with a mutex
kv2019i 5eeb3f6
rtos: alloc.h: add sof_sys_user_heap_get()
kv2019i f6b682c
zephyr: rtos: userspace_helper.h: add sysuser memory partition
kv2019i 4eb0b53
zephyr: lib: make sof_heap_alloc/free system calls
kv2019i 5b768a5
schedule: zephyr_ll_user: make the heap accessible from user-space
kv2019i 6b68976
schedule: zephyr_ll: convert pdata->sem into a dynamic object
kv2019i c523cb9
schedule: zephyr_ll_user: move user accessible heap to common partition
kv2019i 7eb5ad4
dma: dma_sg: allocate on specific heap
kv2019i 0256dfb
buffer: extend ability to allocate on specific heap to all functions
kv2019i 12bf6c0
(---section: user LL infra STOP)
kv2019i 08f57ac
(---section host-zephyr START)
kv2019i c181391
zephyr: userspace: sof_dma: allow circular SG lists
kv2019i f8815df
zephyr: lib: dma: make DMA platform data available to user-space
kv2019i 76fde30
audio: host-zephyr: select heap when allocating host buffers
kv2019i b86b910
audio: host-zephyr: rework calls to DMA driver, remove channel pointer
kv2019i b41df96
audio: host-zephyr: pass component heap to dma_sg_alloc
kv2019i 4efbc52
alloc.h: remove rbrelloac() and rbrealloc_align()
kv2019i 4f843e1
audio: host-zephyr: ensure host data heap is set
kv2019i 71a53f0
audio: host-zephyr: make component usable from user-space
kv2019i b260e66
(---section host-zephyr STOP)
kv2019i cca2666
(---section dai-zephyr START)
kv2019i 2b048fa
audio: pcm_converter: make global tables available to user-space
kv2019i 0cdc9b2
audio: buffer: replace notifier events with direct probe callbacks
kv2019i b33e16b
audio: dai-zephyr: make memory allocations user-space compatible
kv2019i f990bb3
lib: dai: make dai_get() and dai_put() compatible with user-space
kv2019i 9aa176c
audio: dai-zephyr: rework calls to DMA driver, remove channel pointer
kv2019i 2dbd1ad
audio: dai-zephyr: convert spinlock into mutex for properties
kv2019i a006d2a
audio: dai-zephyr: migrate to use dai_get_properties_copy()
kv2019i 5b4c619
(---section dai-zephyr STOP)
kv2019i c7d57fa
(---section audio module infra START)
kv2019i d63bff6
audio: module_adapter: alloc from LL user heap if LL run in user
kv2019i def00d1
audio: copier: export copier endpoint ops to user-space
kv2019i 7bd86a1
(---section schduler changes START)
kv2019i 8632932
schedule: zephyr_ll: add zephyr_ll_task_free()
kv2019i 46253b3
schedule: zephyr_ll: add zephyr_ll_grant_access()
kv2019i ec6f63f
schedule: zephyr_ll_user: make double-mapping conditional
kv2019i 86976b3
schedule: allocate the scheduler objects with sof_heap_alloc
kv2019i 5979a97
WIP: schedule: limit user-LL to core0
kv2019i 0e6ebc3
zephyr: schedule: allow user-space to access scheduler list
kv2019i 2975a30
zephyr: wrapper: modify platform_dai_wallclock() for user-space
kv2019i 752623f
schedule: add scheduler_init_context() and scheduler_free_context()
kv2019i 694d8b5
schedule: zephyr_ll: implement scheduler_init_context()
kv2019i 908be6c
schedule: ll_schedule_domain: add domain_thread_init/free ops
kv2019i 40c3510
schedule: zephyr_ll: implement thread_init/free domain ops
kv2019i 2e7d197
(---section schduler changes END)
kv2019i 1f48066
(---section audio-user PRs START)
kv2019i 5526aac
schedule: zephyr_domain: use a different thread name for user LL
kv2019i 8e9b323
WIP: audio: dai-zephyr: temporary solution to give access to mutex
kv2019i 88344a4
WIP: audio: module_adapter: use correct heap when freeing
kv2019i 3b0e074
WIP: audio: pipeline-graph: do not use mutex, can be reverted?
kv2019i 7096447
coherent: disable core debug checks for user-space builds
kv2019i 6f1442f
audio: place component driver list in user-space accessible partition
kv2019i d69f4fd
audio: module_adapter: make adapter buffering user-space compatible
kv2019i 3263340
audio: pipeline: use LL scheduler mutex for userspace pipeline triggers
kv2019i 3f765bc
audio: buffer: move dp_heap_user lifecycle to IPC and module adapter
kv2019i 6c90f0b
audio: host-zepher: add HOST_DMA_IPC_POSITION_UPDATES Kconfig
kv2019i ad16fab
(---section audio user PRs STOP)
kv2019i 0fb5565
(---section: IPC user support START)
kv2019i 0908042
userspace: split ipc files into user and kernel features. REVISIT memcpy
kv2019i be70f41
ipc4: helper: use LL scheduler lock for userspace builds
kv2019i a12521f
WIP: ipc: implement user-space IPC handling
kv2019i 2a29050
ipc: make IPC stack thread size configurable
def699a
ipc: ipc4: use sof_heap_alloc in ipc4_add_comp_dev()
kv2019i 887947b
ipc: turn ipc_msg_reply() into a system call
kv2019i c39c399
ipc: ipc4: use correct API to get DMA status
kv2019i b2a77f3
ipc: use application heap for IPC pipeline and component allocations
kv2019i b30f4f5
(---section: IPC user support STOP)
kv2019i 8b4b652
(---section test-case START)
kv2019i 8afbb82
zephyr: test: userspace: add pipeline_two_components test
kv2019i a64d1c0
zephyr: test: userspace: add ipc4_create_pipeline_check
kv2019i a1f8d73
(---section WIP mandatory changes START)
kv2019i 81f434b
audio: pipeline: enable position reporting for user-space pipelines
kv2019i ad359d6
HACK: audio: collection of feature limitations to run LL in user
kv2019i File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -36,7 +36,7 @@ | |
|
|
||
| LOG_MODULE_REGISTER(component, CONFIG_SOF_LOG_LEVEL); | ||
|
|
||
| static SHARED_DATA struct comp_driver_list cd; | ||
| static APP_SYSUSER_BSS SHARED_DATA struct comp_driver_list cd; | ||
|
|
||
| SOF_DEFINE_REG_UUID(component); | ||
|
|
||
|
|
@@ -699,3 +699,11 @@ void comp_update_ibs_obs_cpc(struct comp_dev *dev) | |
| #endif | ||
| } | ||
|
|
||
| #ifdef CONFIG_SOF_USERSPACE_LL | ||
| void comp_grant_access_to_thread(const struct comp_dev *dev, struct k_thread *th) | ||
| { | ||
| assert(dev->list_mutex); | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. description a bit confusing - this is only granting access to a mutex. Also |
||
| tr_dbg(&ipc_tr, "grant access to mutex %p for thread %p", dev->list_mutex, th); | ||
| k_thread_access_grant(th, dev->list_mutex); | ||
| } | ||
| #endif | ||
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the commit, that is mentioned in the commit message, only moved buffer context objects to particular heaps. This commit moves actual data buffers to them too, which is different and (arguably) more risky