From cf59cc8925b5cdfb2d8a7b7d048c44ab230350a9 Mon Sep 17 00:00:00 2001 From: Kai Vehmanen Date: Tue, 30 Sep 2025 11:14:24 +0300 Subject: [PATCH] Revert "audio: use zephyr/cache.h for cache flush/invalidate" This reverts commit f78acf4e44b4f76a7a92705d44f93fbe15ea5ed3. Fixes build regression with testbuild. Signed-off-by: Kai Vehmanen --- src/audio/buffers/comp_buffer.c | 8 ++++---- src/audio/buffers/ring_buffer.c | 10 ++++------ src/audio/copier/copier_ipcgtw.c | 7 +++---- src/include/sof/audio/audio_stream.h | 8 ++++---- 4 files changed, 15 insertions(+), 18 deletions(-) diff --git a/src/audio/buffers/comp_buffer.c b/src/audio/buffers/comp_buffer.c index 500a508dae84..b4f53e7cf7f1 100644 --- a/src/audio/buffers/comp_buffer.c +++ b/src/audio/buffers/comp_buffer.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -23,7 +24,6 @@ #include #include #include -#include LOG_MODULE_REGISTER(buffer, CONFIG_SOF_LOG_LEVEL); @@ -307,9 +307,9 @@ void buffer_zero(struct comp_buffer *buffer) bzero(audio_stream_get_addr(&buffer->stream), audio_stream_get_size(&buffer->stream)); if (buffer->flags & SOF_MEM_FLAG_DMA) - sys_cache_data_flush_range((__sparse_force void __sparse_cache *) - audio_stream_get_addr(&buffer->stream), - audio_stream_get_size(&buffer->stream)); + dcache_writeback_region((__sparse_force void __sparse_cache *) + audio_stream_get_addr(&buffer->stream), + audio_stream_get_size(&buffer->stream)); } int buffer_set_size(struct comp_buffer *buffer, uint32_t size, uint32_t alignment) diff --git a/src/audio/buffers/ring_buffer.c b/src/audio/buffers/ring_buffer.c index aebdae099862..a71a27022e0a 100644 --- a/src/audio/buffers/ring_buffer.c +++ b/src/audio/buffers/ring_buffer.c @@ -13,8 +13,6 @@ #include #include -#include - LOG_MODULE_REGISTER(ring_buffer, CONFIG_SOF_LOG_LEVEL); SOF_DEFINE_REG_UUID(ring_buffer); @@ -58,13 +56,13 @@ static inline void ring_buffer_invalidate_shared(struct ring_buffer *ring_buffer /* wrap-around? */ if ((uintptr_t)ptr + size > (uintptr_t)ring_buffer_buffer_end(ring_buffer)) { /* writeback till the end of circular buffer */ - sys_cache_data_invd_range + dcache_invalidate_region (ptr, (uintptr_t)ring_buffer_buffer_end(ring_buffer) - (uintptr_t)ptr); size -= (uintptr_t)ring_buffer_buffer_end(ring_buffer) - (uintptr_t)ptr; ptr = ring_buffer->_data_buffer; } /* invalidate rest of data */ - sys_cache_data_invd_range(ptr, size); + dcache_invalidate_region(ptr, size); } static inline void ring_buffer_writeback_shared(struct ring_buffer *ring_buffer, @@ -77,13 +75,13 @@ static inline void ring_buffer_writeback_shared(struct ring_buffer *ring_buffer, /* wrap-around? */ if ((uintptr_t)ptr + size > (uintptr_t)ring_buffer_buffer_end(ring_buffer)) { /* writeback till the end of circular buffer */ - sys_cache_data_flush_range + dcache_writeback_region (ptr, (uintptr_t)ring_buffer_buffer_end(ring_buffer) - (uintptr_t)ptr); size -= (uintptr_t)ring_buffer_buffer_end(ring_buffer) - (uintptr_t)ptr; ptr = ring_buffer->_data_buffer; } /* writeback rest of data */ - sys_cache_data_flush_range(ptr, size); + dcache_writeback_region(ptr, size); } diff --git a/src/audio/copier/copier_ipcgtw.c b/src/audio/copier/copier_ipcgtw.c index e9db612d35c4..ea518b5e12f2 100644 --- a/src/audio/copier/copier_ipcgtw.c +++ b/src/audio/copier/copier_ipcgtw.c @@ -8,7 +8,6 @@ #include #include #include -#include #include "copier.h" #include "ipcgtw_copier.h" @@ -95,8 +94,8 @@ int copier_ipcgtw_process(const struct ipc4_ipcgtw_cmd *cmd, uint32_t data_size; struct ipc4_ipc_gateway_cmd_data_reply *out; - sys_cache_data_invd_range((__sparse_force void __sparse_cache *)MAILBOX_HOSTBOX_BASE, - sizeof(struct ipc4_ipc_gateway_cmd_data)); + dcache_invalidate_region((__sparse_force void __sparse_cache *)MAILBOX_HOSTBOX_BASE, + sizeof(struct ipc4_ipc_gateway_cmd_data)); in = (const struct ipc4_ipc_gateway_cmd_data *)MAILBOX_HOSTBOX_BASE; dev = find_ipcgtw_by_node_id(in->node_id); @@ -139,7 +138,7 @@ int copier_ipcgtw_process(const struct ipc4_ipcgtw_cmd *cmd, if (buf) { data_size = MIN(cmd->extension.r.data_size, audio_stream_get_free_bytes(&buf->stream)); - sys_cache_data_invd_range((__sparse_force void __sparse_cache *) + dcache_invalidate_region((__sparse_force void __sparse_cache *) MAILBOX_HOSTBOX_BASE, data_size + offsetof(struct ipc4_ipc_gateway_cmd_data, diff --git a/src/include/sof/audio/audio_stream.h b/src/include/sof/audio/audio_stream.h index a97d31557e65..9703ec9cadea 100644 --- a/src/include/sof/audio/audio_stream.h +++ b/src/include/sof/audio/audio_stream.h @@ -22,7 +22,7 @@ #include #include #include -#include +#include #include #include #include @@ -756,10 +756,10 @@ static inline void audio_stream_writeback(struct audio_stream *buffer, uint32_t tail_size = bytes - head_size; } - sys_cache_data_flush_range((__sparse_force void __sparse_cache *)buffer->w_ptr, head_size); + dcache_writeback_region((__sparse_force void __sparse_cache *)buffer->w_ptr, head_size); if (tail_size) - sys_cache_data_flush_range((__sparse_force void __sparse_cache *)buffer->addr, - tail_size); + dcache_writeback_region((__sparse_force void __sparse_cache *)buffer->addr, + tail_size); } /**