diff --git a/AGENTS.md b/AGENTS.md index 095ec828115f..6a2f4cdfee5b 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -31,7 +31,7 @@ moving code, follow it: * **Place code in the right tier.** OS/HAL/boot/inter-core → a kernel-only directory (`kernel/`, which is built into the `sof_kernel` library, and the directories not yet - moved there: `arch/`, `drivers/`, `platform/`, `trace/`); audio + moved there: `arch/`, `platform/`, `trace/`); audio application logic → `audio/`; reusable pure code → a shared-library directory (`lib/`, `math/`, `module/`) kept free of privileged operations. Each top-level directory's `README.md` states its tier in a "Runs in:" banner — keep it accurate. diff --git a/CODEOWNERS b/CODEOWNERS index 88e3eab8d843..543435d5f3c3 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -53,15 +53,17 @@ src/platform/mtk/** @yaochunhung @kuanhsuncheng # drivers src/drivers/intel/dmic.c @singalsu -src/drivers/imx/** @dbaluta -src/drivers/amd/* @bhiregoudar @sunilkumardommati -src/drivers/mediatek/** @yaochunhung @kuanhsuncheng +src/kernel/drivers/imx/** @dbaluta +src/kernel/drivers/amd/* @bhiregoudar @sunilkumardommati +src/kernel/drivers/mediatek/** @yaochunhung @kuanhsuncheng # other libs src/math/* @singalsu src/ipc/* @bardliao @tmleman @pblaszko +src/kernel/ipc/** @bardliao @tmleman @pblaszko # src/lib/* TODO src/schedule @pblaszko @marcinszkudlinski @dbaluta @LaurentiuM1234 +src/kernel/schedule @pblaszko @marcinszkudlinski @dbaluta @LaurentiuM1234 # samples samples/audio/detect_test.c @iganakov diff --git a/scripts/fuzz.sh b/scripts/fuzz.sh index 27ff96dc637f..d6b69e7501c9 100755 --- a/scripts/fuzz.sh +++ b/scripts/fuzz.sh @@ -68,8 +68,8 @@ EOFHELP # To test this test, make the following change locally: : < **Runs in:** Boundary / bridge — the kernel receives and dispatches IPC, then forwards > module-facing commands to a user thread. The split is visible in the file names -> (`ipc4/handler-kernel.c` vs `ipc4/handler-user.c`, `ipc4/notification-user.c`), and this -> subsystem hosts the `ipc_msg_*`, `ipc_compound_*` and `send_resource_notif` syscalls. See +> (`src/kernel/ipc/ipc4/handler-kernel.c` vs `ipc4/handler-user.c`, +> `ipc4/notification-user.c`), and this subsystem hosts the `ipc_msg_*`, `ipc_compound_*` and +> `send_resource_notif` syscalls. See > [User/kernel split](../include/sof/userspace/README.md). This directory contains the common foundation for all Inter-Processor Communication (IPC) within the Sound Open Firmware (SOF) project. It bridges the gap between hardware mailbox interrupts and the version-specific (IPC3/IPC4) message handlers. diff --git a/src/ipc/ipc4/CMakeLists.txt b/src/ipc/ipc4/CMakeLists.txt index c9f9fcb5710d..cd7984becd40 100644 --- a/src/ipc/ipc4/CMakeLists.txt +++ b/src/ipc/ipc4/CMakeLists.txt @@ -3,10 +3,7 @@ # Files common to Zephyr and XTOS add_local_sources(sof handler-user.c - handler-kernel.c helper.c - logging.c - notification.c notification-user.c ) diff --git a/src/ipc/ipc4/README.md b/src/ipc/ipc4/README.md index 955042576c8a..237a7c1ecb36 100644 --- a/src/ipc/ipc4/README.md +++ b/src/ipc/ipc4/README.md @@ -1,8 +1,9 @@ # IPC4 Architecture -> **Runs in:** Boundary / bridge — `handler-kernel.c` runs in the kernel dispatcher; -> `handler-user.c` and `notification-user.c` run in the user thread that services modules. The -> `z_vrfy_`/`z_impl_` pairs for the compound-message and reply syscalls live here. See +> **Runs in:** Boundary / bridge — `handler-user.c` and `notification-user.c` run in the user +> thread that services modules. Their kernel counterparts, `handler-kernel.c` (the kernel +> dispatcher) and `notification.c`, are in `src/kernel/ipc/ipc4`, together with the +> `z_vrfy_`/`z_impl_` pairs for the compound-message, reply and notification syscalls. See > [User/kernel split](../../include/sof/userspace/README.md). This directory holds the handlers and topology parsing logic for Inter-Processor Communication Version 4. IPC4 introduces a significantly denser, compound-command structure heavily based around the concept of "pipelines" and dynamic "modules" rather than static DSP stream roles. diff --git a/src/kernel/CMakeLists.txt b/src/kernel/CMakeLists.txt index da1df9328654..b14881ad3b7a 100644 --- a/src/kernel/CMakeLists.txt +++ b/src/kernel/CMakeLists.txt @@ -2,21 +2,28 @@ # Code that only runs in kernel mode, see scripts/kernel_user_partition.txt. +# Zephyr adds this directory from zephyr/CMakeLists.txt, the host builds +# (testbench, host library) from src/CMakeLists.txt. + is_zephyr(zephyr) if(zephyr) # Build everything below into the sof_kernel library created in # zephyr/CMakeLists.txt instead of modules_sof. This only sets the # variable for this directory and its subdirectories. set(ZEPHYR_CURRENT_LIBRARY sof_kernel) + + # Only built for Zephyr + add_subdirectory(audio) + add_subdirectory(debug) + add_subdirectory(idc) + add_subdirectory(init) + add_subdirectory(library_manager) + add_subdirectory(logging) + add_subdirectory(probe) + add_subdirectory(schedule) endif() -add_subdirectory(audio) -add_subdirectory(debug) -add_subdirectory(idc) -add_subdirectory(init) +# Built for Zephyr and for the host +add_subdirectory(drivers) add_subdirectory(ipc) add_subdirectory(lib) -add_subdirectory(library_manager) -add_subdirectory(logging) -add_subdirectory(probe) -add_subdirectory(schedule) diff --git a/src/kernel/Kconfig b/src/kernel/Kconfig index 5a8920dd9b1f..f92df62d911a 100644 --- a/src/kernel/Kconfig +++ b/src/kernel/Kconfig @@ -4,6 +4,8 @@ rsource "debug/telemetry/Kconfig" +rsource "drivers/Kconfig" + rsource "idc/Kconfig" rsource "library_manager/Kconfig" diff --git a/src/drivers/CMakeLists.txt b/src/kernel/drivers/CMakeLists.txt similarity index 100% rename from src/drivers/CMakeLists.txt rename to src/kernel/drivers/CMakeLists.txt diff --git a/src/drivers/Kconfig b/src/kernel/drivers/Kconfig similarity index 100% rename from src/drivers/Kconfig rename to src/kernel/drivers/Kconfig diff --git a/src/drivers/README.md b/src/kernel/drivers/README.md similarity index 85% rename from src/drivers/README.md rename to src/kernel/drivers/README.md index 546a4a41994d..5e8eeedf4fc0 100644 --- a/src/drivers/README.md +++ b/src/kernel/drivers/README.md @@ -1,9 +1,9 @@ -# Device Drivers (`src/drivers`) +# Device Drivers (`src/kernel/drivers`) > **Runs in:** Kernel-only — hardware/HAL access runs in supervisor context and is never > executed from a user thread. User-space audio code reaches driver functionality only through > SOF syscalls (e.g. the `sof_dma_*` and `dai_get_device` calls). See -> [User/kernel split](../include/sof/userspace/README.md). +> [User/kernel split](../../include/sof/userspace/README.md). This directory contains low-level device drivers and hardware abstraction. Because it touches MMIO, interrupts and other privileged resources, nothing here is mapped into a user memory diff --git a/src/drivers/amd/Kconfig b/src/kernel/drivers/amd/Kconfig similarity index 100% rename from src/drivers/amd/Kconfig rename to src/kernel/drivers/amd/Kconfig diff --git a/src/drivers/amd/acp_7_x/ipc.c b/src/kernel/drivers/amd/acp_7_x/ipc.c similarity index 100% rename from src/drivers/amd/acp_7_x/ipc.c rename to src/kernel/drivers/amd/acp_7_x/ipc.c diff --git a/src/drivers/amd/common/acp_bt_dai.c b/src/kernel/drivers/amd/common/acp_bt_dai.c similarity index 100% rename from src/drivers/amd/common/acp_bt_dai.c rename to src/kernel/drivers/amd/common/acp_bt_dai.c diff --git a/src/drivers/amd/common/acp_dma.c b/src/kernel/drivers/amd/common/acp_dma.c similarity index 100% rename from src/drivers/amd/common/acp_dma.c rename to src/kernel/drivers/amd/common/acp_dma.c diff --git a/src/drivers/amd/common/acp_dmic_dai.c b/src/kernel/drivers/amd/common/acp_dmic_dai.c similarity index 100% rename from src/drivers/amd/common/acp_dmic_dai.c rename to src/kernel/drivers/amd/common/acp_dmic_dai.c diff --git a/src/drivers/amd/common/acp_dmic_dma.c b/src/kernel/drivers/amd/common/acp_dmic_dma.c similarity index 100% rename from src/drivers/amd/common/acp_dmic_dma.c rename to src/kernel/drivers/amd/common/acp_dmic_dma.c diff --git a/src/drivers/amd/common/acp_sp_dma.c b/src/kernel/drivers/amd/common/acp_sp_dma.c similarity index 100% rename from src/drivers/amd/common/acp_sp_dma.c rename to src/kernel/drivers/amd/common/acp_sp_dma.c diff --git a/src/drivers/amd/common/ipc.c b/src/kernel/drivers/amd/common/ipc.c similarity index 100% rename from src/drivers/amd/common/ipc.c rename to src/kernel/drivers/amd/common/ipc.c diff --git a/src/drivers/amd/rembrandt/acp_bt_dma.c b/src/kernel/drivers/amd/rembrandt/acp_bt_dma.c similarity index 100% rename from src/drivers/amd/rembrandt/acp_bt_dma.c rename to src/kernel/drivers/amd/rembrandt/acp_bt_dma.c diff --git a/src/drivers/amd/rembrandt/acp_dma.c b/src/kernel/drivers/amd/rembrandt/acp_dma.c similarity index 100% rename from src/drivers/amd/rembrandt/acp_dma.c rename to src/kernel/drivers/amd/rembrandt/acp_dma.c diff --git a/src/drivers/amd/rembrandt/acp_dmic_dma.c b/src/kernel/drivers/amd/rembrandt/acp_dmic_dma.c similarity index 100% rename from src/drivers/amd/rembrandt/acp_dmic_dma.c rename to src/kernel/drivers/amd/rembrandt/acp_dmic_dma.c diff --git a/src/drivers/amd/rembrandt/acp_hs_dai.c b/src/kernel/drivers/amd/rembrandt/acp_hs_dai.c similarity index 100% rename from src/drivers/amd/rembrandt/acp_hs_dai.c rename to src/kernel/drivers/amd/rembrandt/acp_hs_dai.c diff --git a/src/drivers/amd/rembrandt/acp_hs_dma.c b/src/kernel/drivers/amd/rembrandt/acp_hs_dma.c similarity index 100% rename from src/drivers/amd/rembrandt/acp_hs_dma.c rename to src/kernel/drivers/amd/rembrandt/acp_hs_dma.c diff --git a/src/drivers/amd/rembrandt/acp_sp_dai.c b/src/kernel/drivers/amd/rembrandt/acp_sp_dai.c similarity index 100% rename from src/drivers/amd/rembrandt/acp_sp_dai.c rename to src/kernel/drivers/amd/rembrandt/acp_sp_dai.c diff --git a/src/drivers/amd/rembrandt/acp_sp_dma.c b/src/kernel/drivers/amd/rembrandt/acp_sp_dma.c similarity index 100% rename from src/drivers/amd/rembrandt/acp_sp_dma.c rename to src/kernel/drivers/amd/rembrandt/acp_sp_dma.c diff --git a/src/drivers/amd/rembrandt/interrupt.c b/src/kernel/drivers/amd/rembrandt/interrupt.c similarity index 100% rename from src/drivers/amd/rembrandt/interrupt.c rename to src/kernel/drivers/amd/rembrandt/interrupt.c diff --git a/src/drivers/amd/rembrandt/ipc.c b/src/kernel/drivers/amd/rembrandt/ipc.c similarity index 100% rename from src/drivers/amd/rembrandt/ipc.c rename to src/kernel/drivers/amd/rembrandt/ipc.c diff --git a/src/drivers/generic/dummy-dma.c b/src/kernel/drivers/generic/dummy-dma.c similarity index 100% rename from src/drivers/generic/dummy-dma.c rename to src/kernel/drivers/generic/dummy-dma.c diff --git a/src/drivers/host/CMakeLists.txt b/src/kernel/drivers/host/CMakeLists.txt similarity index 100% rename from src/drivers/host/CMakeLists.txt rename to src/kernel/drivers/host/CMakeLists.txt diff --git a/src/drivers/host/ipc.c b/src/kernel/drivers/host/ipc.c similarity index 100% rename from src/drivers/host/ipc.c rename to src/kernel/drivers/host/ipc.c diff --git a/src/drivers/host/timer.c b/src/kernel/drivers/host/timer.c similarity index 100% rename from src/drivers/host/timer.c rename to src/kernel/drivers/host/timer.c diff --git a/src/drivers/imx/ipc.c b/src/kernel/drivers/imx/ipc.c similarity index 100% rename from src/drivers/imx/ipc.c rename to src/kernel/drivers/imx/ipc.c diff --git a/src/drivers/interrupt.c b/src/kernel/drivers/interrupt.c similarity index 100% rename from src/drivers/interrupt.c rename to src/kernel/drivers/interrupt.c diff --git a/src/drivers/mediatek/afe/afe-dai.c b/src/kernel/drivers/mediatek/afe/afe-dai.c similarity index 100% rename from src/drivers/mediatek/afe/afe-dai.c rename to src/kernel/drivers/mediatek/afe/afe-dai.c diff --git a/src/drivers/mediatek/afe/afe-drv.c b/src/kernel/drivers/mediatek/afe/afe-drv.c similarity index 100% rename from src/drivers/mediatek/afe/afe-drv.c rename to src/kernel/drivers/mediatek/afe/afe-drv.c diff --git a/src/drivers/mediatek/afe/afe-memif.c b/src/kernel/drivers/mediatek/afe/afe-memif.c similarity index 100% rename from src/drivers/mediatek/afe/afe-memif.c rename to src/kernel/drivers/mediatek/afe/afe-memif.c diff --git a/src/drivers/mediatek/afe/zephyr_mtk_afe_memif.c b/src/kernel/drivers/mediatek/afe/zephyr_mtk_afe_memif.c similarity index 100% rename from src/drivers/mediatek/afe/zephyr_mtk_afe_memif.c rename to src/kernel/drivers/mediatek/afe/zephyr_mtk_afe_memif.c diff --git a/src/drivers/mediatek/afe/zephyr_mtk_dai.c b/src/kernel/drivers/mediatek/afe/zephyr_mtk_dai.c similarity index 100% rename from src/drivers/mediatek/afe/zephyr_mtk_dai.c rename to src/kernel/drivers/mediatek/afe/zephyr_mtk_dai.c diff --git a/src/drivers/mediatek/afe/zephyr_mtk_host_dma.c b/src/kernel/drivers/mediatek/afe/zephyr_mtk_host_dma.c similarity index 100% rename from src/drivers/mediatek/afe/zephyr_mtk_host_dma.c rename to src/kernel/drivers/mediatek/afe/zephyr_mtk_host_dma.c diff --git a/src/kernel/ipc/CMakeLists.txt b/src/kernel/ipc/CMakeLists.txt index 8f22a80cc2f4..0f9d63c0aee6 100644 --- a/src/kernel/ipc/CMakeLists.txt +++ b/src/kernel/ipc/CMakeLists.txt @@ -1,5 +1,14 @@ # SPDX-License-Identifier: BSD-3-Clause +if (CONFIG_IPC_MAJOR_3) + add_subdirectory(ipc3) +elseif (CONFIG_IPC_MAJOR_4) + add_subdirectory(ipc4) +endif() + +# Files common to Zephyr and the host library +add_local_sources(sof notification_pool.c) + is_zephyr(zephyr) if(zephyr) if (CONFIG_SOC_SERIES_INTEL_CAVS_V25 OR CONFIG_SOC_SERIES_INTEL_ADSP_ACE) diff --git a/src/ipc/ipc3/CMakeLists.txt b/src/kernel/ipc/ipc3/CMakeLists.txt similarity index 100% rename from src/ipc/ipc3/CMakeLists.txt rename to src/kernel/ipc/ipc3/CMakeLists.txt diff --git a/src/ipc/ipc3/README.md b/src/kernel/ipc/ipc3/README.md similarity index 100% rename from src/ipc/ipc3/README.md rename to src/kernel/ipc/ipc3/README.md diff --git a/src/ipc/ipc3/dai.c b/src/kernel/ipc/ipc3/dai.c similarity index 100% rename from src/ipc/ipc3/dai.c rename to src/kernel/ipc/ipc3/dai.c diff --git a/src/ipc/ipc3/handler.c b/src/kernel/ipc/ipc3/handler.c similarity index 100% rename from src/ipc/ipc3/handler.c rename to src/kernel/ipc/ipc3/handler.c diff --git a/src/ipc/ipc3/helper.c b/src/kernel/ipc/ipc3/helper.c similarity index 100% rename from src/ipc/ipc3/helper.c rename to src/kernel/ipc/ipc3/helper.c diff --git a/src/ipc/ipc3/host-page-table.c b/src/kernel/ipc/ipc3/host-page-table.c similarity index 98% rename from src/ipc/ipc3/host-page-table.c rename to src/kernel/ipc/ipc3/host-page-table.c index 8a90c8919a49..4e42b21ac825 100644 --- a/src/ipc/ipc3/host-page-table.c +++ b/src/kernel/ipc/ipc3/host-page-table.c @@ -19,7 +19,7 @@ LOG_MODULE_DECLARE(ipc, CONFIG_SOF_LOG_LEVEL); /* * Size in bytes of the DSP-side buffer that receives the compressed host page * table. DSP targets define PLATFORM_PAGE_TABLE_SIZE; the host/library builds - * (e.g. testbench, fuzzer) allocate it as HOST_PAGE_SIZE in drivers/host/ipc.c + * (e.g. testbench, fuzzer) allocate it as HOST_PAGE_SIZE in kernel/drivers/host/ipc.c * and do not define PLATFORM_PAGE_TABLE_SIZE, so fall back to that. */ #ifndef PLATFORM_PAGE_TABLE_SIZE diff --git a/src/kernel/ipc/ipc4/CMakeLists.txt b/src/kernel/ipc/ipc4/CMakeLists.txt new file mode 100644 index 000000000000..53a37d553675 --- /dev/null +++ b/src/kernel/ipc/ipc4/CMakeLists.txt @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: BSD-3-Clause + +# Files common to Zephyr and the host library +add_local_sources(sof + handler-kernel.c + logging.c + notification.c +) diff --git a/src/ipc/ipc4/handler-kernel.c b/src/kernel/ipc/ipc4/handler-kernel.c similarity index 100% rename from src/ipc/ipc4/handler-kernel.c rename to src/kernel/ipc/ipc4/handler-kernel.c diff --git a/src/ipc/ipc4/logging.c b/src/kernel/ipc/ipc4/logging.c similarity index 100% rename from src/ipc/ipc4/logging.c rename to src/kernel/ipc/ipc4/logging.c diff --git a/src/ipc/ipc4/notification.c b/src/kernel/ipc/ipc4/notification.c similarity index 100% rename from src/ipc/ipc4/notification.c rename to src/kernel/ipc/ipc4/notification.c diff --git a/src/ipc/notification_pool.c b/src/kernel/ipc/notification_pool.c similarity index 100% rename from src/ipc/notification_pool.c rename to src/kernel/ipc/notification_pool.c diff --git a/src/kernel/lib/CMakeLists.txt b/src/kernel/lib/CMakeLists.txt index 6f9861ed59f0..efe6347d02e1 100644 --- a/src/kernel/lib/CMakeLists.txt +++ b/src/kernel/lib/CMakeLists.txt @@ -1,5 +1,14 @@ # SPDX-License-Identifier: BSD-3-Clause +if(CONFIG_LIBRARY) + add_local_sources(sof agent.c) + return() +endif() + +if(CONFIG_HAVE_AGENT) + add_local_sources(sof agent.c) +endif() + if(CONFIG_AMS) add_local_sources(sof ams.c) endif() diff --git a/src/lib/agent.c b/src/kernel/lib/agent.c similarity index 100% rename from src/lib/agent.c rename to src/kernel/lib/agent.c diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt index f92e467d970f..47e7984c952b 100644 --- a/src/lib/CMakeLists.txt +++ b/src/lib/CMakeLists.txt @@ -5,16 +5,11 @@ set(common_files notifier.c dma.c dai.c objpool.c) if(CONFIG_LIBRARY) add_local_sources(sof lib.c - agent.c ${common_files} ) return() endif() -if(CONFIG_HAVE_AGENT) - add_local_sources(sof agent.c) -endif() - is_zephyr(zephyr) if(zephyr) ### Zephyr ### diff --git a/src/lib/dai.c b/src/lib/dai.c index 0e26680ede06..214dcf979711 100644 --- a/src/lib/dai.c +++ b/src/lib/dai.c @@ -339,7 +339,7 @@ static void dai_set_device_params(struct dai *d) } } -/* called from ipc/ipc3/handler.c and some platform.c files */ +/* called from kernel/ipc/ipc3/handler.c and some platform.c files */ __cold struct dai *dai_get(uint32_t type, uint32_t index, uint32_t flags) { const struct device *dev; @@ -381,7 +381,7 @@ __cold struct dai *dai_get(uint32_t type, uint32_t index, uint32_t flags) return d; } -/* called from src/ipc/ipc3/handler.c */ +/* called from src/kernel/ipc/ipc3/handler.c */ __cold void dai_put(struct dai *dai) { int ret; diff --git a/src/platform/posix/ipc.c b/src/platform/posix/ipc.c index 64fb21358962..2989e9637e7b 100644 --- a/src/platform/posix/ipc.c +++ b/src/platform/posix/ipc.c @@ -352,7 +352,7 @@ static void fuzz_isr(const void *arg) // The harness also mirrors the framed message into MAILBOX_HOSTBOX so // that handlers reading payload directly from the hostbox region // (large_config_set/get, set_dx, set_pipeline_state, vendor_config and -// friends in ipc4/handler-user.c and ipc4/handler-kernel.c) observe +// friends in ipc4/handler-user.c and kernel/ipc/ipc4/handler-kernel.c) observe // the fuzz bytes rather than stale or zero-filled memory. // // The two IPC majors split header and payload differently: diff --git a/test/cmocka/src/audio/buffer/CMakeLists.txt b/test/cmocka/src/audio/buffer/CMakeLists.txt index f97c77f3679b..cb60f07aa22e 100644 --- a/test/cmocka/src/audio/buffer/CMakeLists.txt +++ b/test/cmocka/src/audio/buffer/CMakeLists.txt @@ -12,7 +12,7 @@ cmocka_test(buffer_copy ${PROJECT_SOURCE_DIR}/src/module/audio/source_api.c ${PROJECT_SOURCE_DIR}/src/module/audio/sink_api.c - ${PROJECT_SOURCE_DIR}/src/ipc/ipc3/helper.c + ${PROJECT_SOURCE_DIR}/src/kernel/ipc/ipc3/helper.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-common.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-helper.c ${PROJECT_SOURCE_DIR}/src/audio/pipeline/pipeline-graph.c @@ -36,7 +36,7 @@ cmocka_test(buffer_new ${PROJECT_SOURCE_DIR}/src/audio/audio_stream.c ${PROJECT_SOURCE_DIR}/src/module/audio/source_api.c ${PROJECT_SOURCE_DIR}/src/module/audio/sink_api.c - ${PROJECT_SOURCE_DIR}/src/ipc/ipc3/helper.c + ${PROJECT_SOURCE_DIR}/src/kernel/ipc/ipc3/helper.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-common.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-helper.c ${PROJECT_SOURCE_DIR}/src/audio/pipeline/pipeline-graph.c @@ -60,7 +60,7 @@ cmocka_test(buffer_wrap ${PROJECT_SOURCE_DIR}/src/audio/audio_stream.c ${PROJECT_SOURCE_DIR}/src/module/audio/source_api.c ${PROJECT_SOURCE_DIR}/src/module/audio/sink_api.c - ${PROJECT_SOURCE_DIR}/src/ipc/ipc3/helper.c + ${PROJECT_SOURCE_DIR}/src/kernel/ipc/ipc3/helper.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-common.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-helper.c ${PROJECT_SOURCE_DIR}/src/audio/pipeline/pipeline-graph.c @@ -84,7 +84,7 @@ cmocka_test(buffer_write ${PROJECT_SOURCE_DIR}/src/audio/audio_stream.c ${PROJECT_SOURCE_DIR}/src/module/audio/source_api.c ${PROJECT_SOURCE_DIR}/src/module/audio/sink_api.c - ${PROJECT_SOURCE_DIR}/src/ipc/ipc3/helper.c + ${PROJECT_SOURCE_DIR}/src/kernel/ipc/ipc3/helper.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-common.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-helper.c ${PROJECT_SOURCE_DIR}/src/audio/pipeline/pipeline-graph.c diff --git a/test/cmocka/src/audio/component/CMakeLists.txt b/test/cmocka/src/audio/component/CMakeLists.txt index 61abb66332c2..b82756073b25 100644 --- a/test/cmocka/src/audio/component/CMakeLists.txt +++ b/test/cmocka/src/audio/component/CMakeLists.txt @@ -5,7 +5,7 @@ cmocka_test(comp_set_state ${PROJECT_SOURCE_DIR}/src/math/numbers.c ${PROJECT_SOURCE_DIR}/src/audio/component.c ${PROJECT_SOURCE_DIR}/src/audio/data_blob.c - ${PROJECT_SOURCE_DIR}/src/ipc/ipc3/helper.c + ${PROJECT_SOURCE_DIR}/src/kernel/ipc/ipc3/helper.c ${PROJECT_SOURCE_DIR}/test/cmocka/src/notifier_mocks.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-common.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-helper.c diff --git a/test/cmocka/src/audio/dcblock/CMakeLists.txt b/test/cmocka/src/audio/dcblock/CMakeLists.txt index 494d59217f7d..9c7f58e8feed 100644 --- a/test/cmocka/src/audio/dcblock/CMakeLists.txt +++ b/test/cmocka/src/audio/dcblock/CMakeLists.txt @@ -39,7 +39,7 @@ add_library(audio_for_dcblock STATIC ${PROJECT_SOURCE_DIR}/src/audio/data_blob.c ${PROJECT_SOURCE_DIR}/src/module/audio/source_api.c ${PROJECT_SOURCE_DIR}/src/module/audio/sink_api.c - ${PROJECT_SOURCE_DIR}/src/ipc/ipc3/helper.c + ${PROJECT_SOURCE_DIR}/src/kernel/ipc/ipc3/helper.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-common.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-helper.c ${PROJECT_SOURCE_DIR}/src/lib/objpool.c diff --git a/test/cmocka/src/audio/eq_fir/CMakeLists.txt b/test/cmocka/src/audio/eq_fir/CMakeLists.txt index 8ab897c1356c..0bb81cc57b0a 100644 --- a/test/cmocka/src/audio/eq_fir/CMakeLists.txt +++ b/test/cmocka/src/audio/eq_fir/CMakeLists.txt @@ -35,7 +35,7 @@ add_library(audio_for_eq_fir STATIC ${PROJECT_SOURCE_DIR}/src/audio/data_blob.c ${PROJECT_SOURCE_DIR}/src/module/audio/source_api.c ${PROJECT_SOURCE_DIR}/src/module/audio/sink_api.c - ${PROJECT_SOURCE_DIR}/src/ipc/ipc3/helper.c + ${PROJECT_SOURCE_DIR}/src/kernel/ipc/ipc3/helper.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-common.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-helper.c ${PROJECT_SOURCE_DIR}/src/lib/objpool.c diff --git a/test/cmocka/src/audio/eq_iir/CMakeLists.txt b/test/cmocka/src/audio/eq_iir/CMakeLists.txt index eb603d332c5b..5087e77b4b83 100644 --- a/test/cmocka/src/audio/eq_iir/CMakeLists.txt +++ b/test/cmocka/src/audio/eq_iir/CMakeLists.txt @@ -38,7 +38,7 @@ add_library(audio_for_eq_iir STATIC ${PROJECT_SOURCE_DIR}/src/audio/data_blob.c ${PROJECT_SOURCE_DIR}/src/module/audio/source_api.c ${PROJECT_SOURCE_DIR}/src/module/audio/sink_api.c - ${PROJECT_SOURCE_DIR}/src/ipc/ipc3/helper.c + ${PROJECT_SOURCE_DIR}/src/kernel/ipc/ipc3/helper.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-common.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-helper.c ${PROJECT_SOURCE_DIR}/src/lib/objpool.c diff --git a/test/cmocka/src/audio/mixer/CMakeLists.txt b/test/cmocka/src/audio/mixer/CMakeLists.txt index c0dbb8a0a4fc..a6c1cdb1a78f 100644 --- a/test/cmocka/src/audio/mixer/CMakeLists.txt +++ b/test/cmocka/src/audio/mixer/CMakeLists.txt @@ -7,7 +7,7 @@ cmocka_test(mixer ${PROJECT_SOURCE_DIR}/src/audio/mixer/mixer.c ${PROJECT_SOURCE_DIR}/src/audio/mixer/mixer_generic.c ${PROJECT_SOURCE_DIR}/src/audio/mixer/mixer_hifi3.c - ${PROJECT_SOURCE_DIR}/src/ipc/ipc3/helper.c + ${PROJECT_SOURCE_DIR}/src/kernel/ipc/ipc3/helper.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-common.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-helper.c ${PROJECT_SOURCE_DIR}/src/lib/objpool.c diff --git a/test/cmocka/src/audio/mux/CMakeLists.txt b/test/cmocka/src/audio/mux/CMakeLists.txt index a4a72613fd6b..ef1eebecd1a6 100644 --- a/test/cmocka/src/audio/mux/CMakeLists.txt +++ b/test/cmocka/src/audio/mux/CMakeLists.txt @@ -23,7 +23,7 @@ add_library( ${PROJECT_SOURCE_DIR}/src/module/audio/source_api.c ${PROJECT_SOURCE_DIR}/src/module/audio/sink_api.c ${PROJECT_SOURCE_DIR}/src/math/numbers.c - ${PROJECT_SOURCE_DIR}/src/ipc/ipc3/helper.c + ${PROJECT_SOURCE_DIR}/src/kernel/ipc/ipc3/helper.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-helper.c ${PROJECT_SOURCE_DIR}/src/lib/objpool.c ${PROJECT_SOURCE_DIR}/test/cmocka/src/notifier_mocks.c diff --git a/test/cmocka/src/audio/pcm_converter/CMakeLists.txt b/test/cmocka/src/audio/pcm_converter/CMakeLists.txt index 4ef68bc32b96..4dca80136e68 100644 --- a/test/cmocka/src/audio/pcm_converter/CMakeLists.txt +++ b/test/cmocka/src/audio/pcm_converter/CMakeLists.txt @@ -16,7 +16,7 @@ if(CONFIG_FORMAT_FLOAT) ${PROJECT_SOURCE_DIR}/src/audio/data_blob.c ${PROJECT_SOURCE_DIR}/src/module/audio/source_api.c ${PROJECT_SOURCE_DIR}/src/module/audio/sink_api.c - ${PROJECT_SOURCE_DIR}/src/ipc/ipc3/helper.c + ${PROJECT_SOURCE_DIR}/src/kernel/ipc/ipc3/helper.c ${PROJECT_SOURCE_DIR}/test/cmocka/src/notifier_mocks.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-common.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-helper.c diff --git a/test/cmocka/src/audio/pipeline/CMakeLists.txt b/test/cmocka/src/audio/pipeline/CMakeLists.txt index feac1acf209d..628398576a43 100644 --- a/test/cmocka/src/audio/pipeline/CMakeLists.txt +++ b/test/cmocka/src/audio/pipeline/CMakeLists.txt @@ -4,7 +4,7 @@ cmocka_test(pipeline_new pipeline_new.c ${PROJECT_SOURCE_DIR}/src/math/numbers.c ${PROJECT_SOURCE_DIR}/src/audio/component.c - ${PROJECT_SOURCE_DIR}/src/ipc/ipc3/helper.c + ${PROJECT_SOURCE_DIR}/src/kernel/ipc/ipc3/helper.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-common.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-helper.c ${PROJECT_SOURCE_DIR}/src/audio/buffers/comp_buffer.c @@ -29,7 +29,7 @@ cmocka_test(pipeline_connect_upstream pipeline_connection_mocks.c ${PROJECT_SOURCE_DIR}/src/math/numbers.c ${PROJECT_SOURCE_DIR}/src/audio/component.c - ${PROJECT_SOURCE_DIR}/src/ipc/ipc3/helper.c + ${PROJECT_SOURCE_DIR}/src/kernel/ipc/ipc3/helper.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-common.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-helper.c ${PROJECT_SOURCE_DIR}/src/audio/buffers/comp_buffer.c @@ -54,7 +54,7 @@ cmocka_test(pipeline_free pipeline_connection_mocks.c ${PROJECT_SOURCE_DIR}/src/math/numbers.c ${PROJECT_SOURCE_DIR}/src/audio/component.c - ${PROJECT_SOURCE_DIR}/src/ipc/ipc3/helper.c + ${PROJECT_SOURCE_DIR}/src/kernel/ipc/ipc3/helper.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-common.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-helper.c ${PROJECT_SOURCE_DIR}/src/audio/buffers/comp_buffer.c diff --git a/test/cmocka/src/audio/selector/CMakeLists.txt b/test/cmocka/src/audio/selector/CMakeLists.txt index d5c9ed31ad4e..8ea8d969ae7c 100644 --- a/test/cmocka/src/audio/selector/CMakeLists.txt +++ b/test/cmocka/src/audio/selector/CMakeLists.txt @@ -23,7 +23,7 @@ add_library(audio_for_selector STATIC ${PROJECT_SOURCE_DIR}/src/audio/audio_stream.c ${PROJECT_SOURCE_DIR}/src/module/audio/source_api.c ${PROJECT_SOURCE_DIR}/src/module/audio/sink_api.c - ${PROJECT_SOURCE_DIR}/src/ipc/ipc3/helper.c + ${PROJECT_SOURCE_DIR}/src/kernel/ipc/ipc3/helper.c ${PROJECT_SOURCE_DIR}/test/cmocka/src/notifier_mocks.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-common.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-helper.c diff --git a/test/cmocka/src/audio/volume/CMakeLists.txt b/test/cmocka/src/audio/volume/CMakeLists.txt index 0385441e5878..d5e1a3ecb757 100644 --- a/test/cmocka/src/audio/volume/CMakeLists.txt +++ b/test/cmocka/src/audio/volume/CMakeLists.txt @@ -31,7 +31,7 @@ add_library(audio_for_volume STATIC ${PROJECT_SOURCE_DIR}/src/audio/audio_stream.c ${PROJECT_SOURCE_DIR}/src/module/audio/source_api.c ${PROJECT_SOURCE_DIR}/src/module/audio/sink_api.c - ${PROJECT_SOURCE_DIR}/src/ipc/ipc3/helper.c + ${PROJECT_SOURCE_DIR}/src/kernel/ipc/ipc3/helper.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-common.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-helper.c ${PROJECT_SOURCE_DIR}/src/lib/objpool.c diff --git a/test/cmocka/src/math/fft/CMakeLists.txt b/test/cmocka/src/math/fft/CMakeLists.txt index 97ac2ee8438f..f8a0510f7027 100644 --- a/test/cmocka/src/math/fft/CMakeLists.txt +++ b/test/cmocka/src/math/fft/CMakeLists.txt @@ -16,7 +16,7 @@ cmocka_test(fft ${PROJECT_SOURCE_DIR}/src/module/audio/source_api.c ${PROJECT_SOURCE_DIR}/src/module/audio/sink_api.c ${PROJECT_SOURCE_DIR}/test/cmocka/src/notifier_mocks.c - ${PROJECT_SOURCE_DIR}/src/ipc/ipc3/helper.c + ${PROJECT_SOURCE_DIR}/src/kernel/ipc/ipc3/helper.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-common.c ${PROJECT_SOURCE_DIR}/src/ipc/ipc-helper.c ${PROJECT_SOURCE_DIR}/src/audio/pipeline/pipeline-graph.c diff --git a/test/ztest/unit/audio/drc/CMakeLists.txt b/test/ztest/unit/audio/drc/CMakeLists.txt index 5379dcb546ab..4c83db706257 100644 --- a/test/ztest/unit/audio/drc/CMakeLists.txt +++ b/test/ztest/unit/audio/drc/CMakeLists.txt @@ -59,7 +59,7 @@ target_sources(app PRIVATE ${SOF_ROOT}/src/audio/data_blob.c ${SOF_ROOT}/src/module/audio/source_api.c ${SOF_ROOT}/src/module/audio/sink_api.c - ${SOF_ROOT}/src/ipc/ipc3/helper.c + ${SOF_ROOT}/src/kernel/ipc/ipc3/helper.c ${SOF_ROOT}/src/ipc/ipc-common.c ${SOF_ROOT}/src/ipc/ipc-helper.c ${SOF_ROOT}/src/lib/objpool.c diff --git a/test/ztest/unit/math/fft/CMakeLists.txt b/test/ztest/unit/math/fft/CMakeLists.txt index 891ea52ba8ca..6c6432bc3efe 100644 --- a/test/ztest/unit/math/fft/CMakeLists.txt +++ b/test/ztest/unit/math/fft/CMakeLists.txt @@ -63,7 +63,7 @@ target_sources(app PRIVATE ${SOF_ROOT}/src/audio/component.c ${SOF_ROOT}/src/module/audio/source_api.c ${SOF_ROOT}/src/module/audio/sink_api.c - ${SOF_ROOT}/src/ipc/ipc3/helper.c + ${SOF_ROOT}/src/kernel/ipc/ipc3/helper.c ${SOF_ROOT}/src/ipc/ipc-common.c ${SOF_ROOT}/src/ipc/ipc-helper.c ${SOF_ROOT}/src/audio/pipeline/pipeline-graph.c diff --git a/zephyr/CMakeLists.txt b/zephyr/CMakeLists.txt index ea8f312f435b..8da2dc47fdc5 100644 --- a/zephyr/CMakeLists.txt +++ b/zephyr/CMakeLists.txt @@ -157,7 +157,7 @@ cmake_path(SET sof_top_dir NORMALIZE "${CMAKE_CURRENT_SOURCE_DIR}/..") set(SOF_SRC_PATH "${sof_top_dir}/src") set(SOF_PLATFORM_PATH "${SOF_SRC_PATH}/platform") -set(SOF_DRIVERS_PATH "${SOF_SRC_PATH}/drivers") +set(SOF_DRIVERS_PATH "${SOF_SRC_PATH}/kernel/drivers") set(SOF_TRACE_PATH "${SOF_SRC_PATH}/trace") set(RIMAGE_TOP ${sof_top_dir}/tools/rimage) @@ -479,7 +479,7 @@ if (CONFIG_SOC_ACP_6_0) # SOF core infrastructure - runs on top of Zephyr zephyr_library_sources( - ${SOF_SRC_PATH}/drivers/interrupt.c + ${SOF_DRIVERS_PATH}/interrupt.c ) zephyr_include_directories(${SOF_PLATFORM_PATH}/amd/rembrandt/include) @@ -524,23 +524,23 @@ if (CONFIG_SOC_FAMILY_MTK) zephyr_library_sources( ${SOF_PLATFORM_PATH}/mtk/platform.c ${SOF_PLATFORM_PATH}/mtk/dai.c - ${SOF_SRC_PATH}/drivers/mediatek/afe/afe-drv.c + ${SOF_DRIVERS_PATH}/mediatek/afe/afe-drv.c ) if (CONFIG_ZEPHYR_NATIVE_DRIVERS) # Native Zephyr DMA/DAI path zephyr_library_sources( lib/dma.c - ${SOF_SRC_PATH}/drivers/mediatek/afe/zephyr_mtk_afe_memif.c - ${SOF_SRC_PATH}/drivers/mediatek/afe/zephyr_mtk_host_dma.c - ${SOF_SRC_PATH}/drivers/mediatek/afe/zephyr_mtk_dai.c + ${SOF_DRIVERS_PATH}/mediatek/afe/zephyr_mtk_afe_memif.c + ${SOF_DRIVERS_PATH}/mediatek/afe/zephyr_mtk_host_dma.c + ${SOF_DRIVERS_PATH}/mediatek/afe/zephyr_mtk_dai.c ) else() # Legacy DMA path zephyr_library_sources( ${SOF_DRIVERS_PATH}/generic/dummy-dma.c - ${SOF_SRC_PATH}/drivers/mediatek/afe/afe-memif.c - ${SOF_SRC_PATH}/drivers/mediatek/afe/afe-dai.c + ${SOF_DRIVERS_PATH}/mediatek/afe/afe-memif.c + ${SOF_DRIVERS_PATH}/mediatek/afe/afe-dai.c ) endif() endif()