zephyr: ipc: stop selecting deprecated INTEL_ADSP_IPC Kconfig#11010
zephyr: ipc: stop selecting deprecated INTEL_ADSP_IPC Kconfig#11010tmleman wants to merge 1 commit into
Conversation
| return ret; | ||
|
|
||
| #if defined(CONFIG_PM) && defined(CONFIG_INTEL_ADSP_IPC) | ||
| #if defined(CONFIG_PM_DEVICE) && defined(CONFIG_IPC_SERVICE_BACKEND_INTEL_ADSP_HOST_IPC) |
There was a problem hiding this comment.
Is replacing CONFIG_PM with CONFIG_PM_DEVICE intentional or a mistake?
There was a problem hiding this comment.
CONFIG_PM_DEVICE makes the registration guard exactly match the definitions it references and the backend API it invokes: https://github.com/zephyrproject-rtos/zephyr/blob/main/include/zephyr/ipc/backends/intel_adsp_host_ipc.h#L138-L162
There was a problem hiding this comment.
Pull request overview
This PR updates SOF’s Zephyr IPC integration to stop depending on Zephyr’s deprecated INTEL_ADSP_IPC Kconfig symbol by switching compile guards and includes to the newer, non-deprecated symbols (primarily IPC_SERVICE_BACKEND_INTEL_ADSP_HOST_IPC and INTEL_ADSP_IPC_OLD_INTERFACE). It also removes redundant Kconfig selections from Intel ADSP board configs.
Changes:
- Replace
CONFIG_INTEL_ADSP_IPCcompile guards withCONFIG_IPC_SERVICE_BACKEND_INTEL_ADSP_HOST_IPC/CONFIG_INTEL_ADSP_IPC_OLD_INTERFACEwhere appropriate. - Split backend-header include from old-interface header include in
ipc-zephyr.c. - Drop explicit
INTEL_ADSP_IPCselections from Intel ADSP board defconfig and theace30_ptl_simoverlay.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/ipc/ipc4/handler-kernel.c | Updates failed power-transition response compile guard to the Intel Host IPC backend symbol. |
| src/ipc/ipc-zephyr.c | Splits Intel Host IPC backend include vs old IPC interface include; adjusts PM-related guards and old-interface wait-ack guard. |
| src/include/sof/ipc/common.h | Updates declaration guard for failed power-transition response to the Intel Host IPC backend symbol. |
| app/boards/intel_adsp/Kconfig.defconfig | Removes redundant default selection of deprecated INTEL_ADSP_IPC. |
| app/boards/intel_adsp_ace30_ptl_sim.conf | Removes redundant CONFIG_INTEL_ADSP_IPC=y from the overlay. |
| #ifdef CONFIG_IPC_SERVICE_BACKEND_INTEL_ADSP_HOST_IPC | ||
| #include <zephyr/ipc/backends/intel_adsp_host_ipc.h> | ||
| #endif |
The INTEL_ADSP_IPC Kconfig is deprecated upstream (it now only selects DEPRECATED and will be removed). SOF still relied on it both as an explicit selection and as a compile guard, which blocks its removal in Zephyr. Replace every usage with the correct non-deprecated symbol: - old-interface calls (intel_adsp_ipc_set_done_handler used by ipc_platform_wait_ack) are guarded by INTEL_ADSP_IPC_OLD_INTERFACE, - Intel-backend-specific code (host IPC suspend/resume handlers and the failed power-transition response) is guarded by IPC_SERVICE_BACKEND_INTEL_ADSP_HOST_IPC, moving ipc-zephyr.c a step closer to being backend agnostic, - the backend header include is split from the old-interface header, - the redundant explicit INTEL_ADSP_IPC selections in the board defconfig and the ptl_sim overlay are dropped (OLD_INTERFACE already selects it by default). No functional change: on all Intel ADSP targets OLD_INTERFACE and the host IPC backend are enabled by default, so the same code paths build. Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
|
Thank you. Once this is merged, I'll remove the kconfig from Zephyr. |
The INTEL_ADSP_IPC Kconfig is deprecated upstream (it now only selects DEPRECATED and will be removed). SOF still relied on it both as an explicit selection and as a compile guard, which blocks its removal in Zephyr.
Replace every usage with the correct non-deprecated symbol:
No functional change: on all Intel ADSP targets OLD_INTERFACE and the host IPC backend are enabled by default, so the same code paths build.