-
Notifications
You must be signed in to change notification settings - Fork 349
Update GOOGLE_RTC_AUDIO_PROCESSING for Zephyr #7202
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
Conversation
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.
Note that I discovered with horror that this crossed with the MTL switchover to xt-clang. That configuration hasn't yet been tested, may not actually link, and will likely require two separate C++ integration layers upstream.
Yes let's please not merge this until it's rebased on top of
Or you could just drop the xtensa-build-zephyr.py commit from this PR to speed it up; it seems unrelated.
EDIT: there's also some CMakeList.txt conflict right now.
| __weak void *_sbrk_r(struct _reent *ptr, ptrdiff_t incr) | ||
| { | ||
| k_panic(); | ||
| } |
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.
https://github.com/thesofproject/sof/actions/runs/4317869629/jobs/7535474369
/zep_workspace/sof/zephyr/lib/alloc.c: In function '_sbrk_r':
/zep_workspace/sof/zephyr/lib/alloc.c:372:1: error: control reaches end of non-void function [-Werror=return-type]
372 | }
| ^
cc1: all warnings being treated as errors
|
Can one of the admins verify this patch? |
|
@andyross ping - needs a rebase |
|
Possibly won't happen for a couple weeks, we are quite busy on this end |
Informing the primary core that the Idle thread on secondary core is ready. During the D3 exit flow thread is not initialize again, but restored from previously saved context. Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
Idle thread should be initialize only when core it booting for the first time. Doing this again would overwrite the kernel structs and the idle thread stack. Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
During PowerOff (D3) transition Zephyr Power Manager must have a pointer in IMR to save the LP/HPSRAM memory before powering off. As zephyr has no access to IMR heap, the memory must be allocated by SOF Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
Added IPC, timer and memory window power state change to and from D3 in the Zephyr Power Manager notifier functions. Added IPC4 callbacks 'suspend_handler' and 'resume_handler' to control Zepyr IPC driver. Co-developed-by: Tomasz Leman <tomasz.m.leman@intel.com> Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com> Signed-off-by: Andrey Borisovich <andrey.borisovich@intel.com>
Enabled CONFIG_ADSP_IMR_CONTEXT_SAVE option in Kconfig in the board configuration. Signed-off-by: Andrey Borisovich <andrey.borisovich@intel.com>
On init, register consumption of 10MCPS fot base fw Signed-off-by: Krzysztof Frydryk <krzysztofx.frydryk@intel.com>
Register and unregister pipelines CPS consumption on run/pause Signed-off-by: Krzysztof Frydryk <krzysztofx.frydryk@intel.com>
This patch sets lowest clock as default for Meteorlake platform. In current version FW does unnecessary clocks switching operations. FW should start from low value and scale-up if necessary. Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
This will clear cps error logs and print warning only if 0 KCPS received Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
IMPORTANT: PM part should be moved to zephyr! This will add possibility to force host L1 exit Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
Building system for iadk modules and for native sof modules has built in information about used api. That information we use to switch between two different methods of registering modules. Signed-off-by: Dobrowolski, PawelX <pawelx.dobrowolski@intel.com>
This is part of fw which helps loaded module in communication with adsp Also it provides basic operations for creation of component driver Signed-off-by: Dobrowolski, PawelX <pawelx.dobrowolski@intel.com>
In manifest is information about version of API and depending on it we load IADK or SOF module. Flag is showing if module is loadable. According to this information different api is being used in loading module. Signed-off-by: Dobrowolski, PawelX <pawelx.dobrowolski@intel.com>
Code reafactor due to wrong text formatting Signed-off-by: Dobrowolski, PawelX <pawelx.dobrowolski@intel.com>
Initial commit with set of cmake and linker scripts to build loadable modules binary. Things yet TODO: add all necessary Dev Kit header files to include dir, replace dummy example with somewhat useful module example. Signed-off-by: Serhiy Katsyuba <serhiy.katsyuba@intel.com>
Adds forgotten buffer_free() for copier multi_endpoint_buffer. Signed-off-by: Serhiy Katsyuba <serhiy.katsyuba@intel.com>
update rimage to 375218cc0b37 update zephyr to d11ba34ddad4 Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
Somehow s24_le format is missed. Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com> (cherry picked from commit f0b44b4) Signed-off-by: Jairaj Arava <jairaj.arava@intel.com>
Update zephyr to c31e68329 Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
|
Ping to @andyross to follow up on this |
update rimage to a0b0187ce1e9 (added missing cpc values and fixed pv build) Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
Unbreak the Zephyr build when this is enabled, and add the needed bits to produce a working executable. This is mostly just a recapitulation of the existing integration, which means that it's manually pulling in bits from the Cadence toolchain it needs. Really this is nothing more than a C++ library and it shouldn't have to do anything other than enable CONFIG_CPP=y in the build. But the upstream Zephyr C++ toolchain integration for xcc/xt-clang isn't present yet. Signed-off-by: Andy Ross <andyross@google.com>
This is a weak stub for the Cadence libc's allocator (which is just a newlib build). It's traditionally been provided like this in SOF for the benefit of C++ code where the standard library needs to link to a working malloc() even if it will never call it. Longer term this should be integrated as a working allocator, either unified with the one here or in the Zephyr libc layer. Zephyr already provides a newlib-compatible _sbrk_r(), we just have to tell it to use it when linking against Cadence libc. Signed-off-by: Andy Ross <andyross@google.com>
|
(Rebased on mtl-005-drop-stable for ease of distribution. Zephyr-side C++ integration still to come) |
Needs to be rebased on main since this PR is for main. |
|
Looks like the rebase wasn't clean and pulled in a bunch of stuff |
|
@andyross should we finally merge this to main & 007? As far as I know these commits are cherry-picked for AEC build anyway |
|
This is ancient. Please don't merge. An equivalent got merged to mtl-007-drop-stable already I believe. See ongoing work in #8571 |
Port over the existing integration for now. This comes from an era where SOF had no C++ support and this module was effectively rolling its own. Zephyr has a theoretically robust and featureful C++ layer, though it isn't exposed for Cadence toolchains yet (and until yesterday was actually plain broken for C++98 compilers -- you need Zephyr main to get this to build right now, the SOF snapshot is still behind).
Consider this a stepping stone to a feature that needs to land upstream. Useful to have in a PR for reference, maybe not for merging right now.
Note that I discovered with horror that this crossed with the MTL switchover to xt-clang. That configuration hasn't yet been tested, may not actually link, and will likely require two separate C++ integration layers upstream.