Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/audio/chain_dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -592,7 +592,7 @@ __cold static int chain_task_init(struct comp_dev *dev, uint8_t host_dma_id, uin
fifo_size = ALIGN_UP_INTERNAL(fifo_size, addr_align);
/* allocate not shared buffer */
cd->dma_buffer = buffer_alloc(fifo_size, SOF_MEM_FLAG_USER | SOF_MEM_FLAG_DMA,
addr_align, false);
addr_align, BUFFER_USAGE_NOT_SHARED);

if (!cd->dma_buffer) {
comp_err(dev, "failed to alloc dma buffer");
Expand Down
3 changes: 1 addition & 2 deletions src/audio/copier/copier_generic.c
Original file line number Diff line number Diff line change
Expand Up @@ -427,8 +427,7 @@ __cold int create_multi_endpoint_buffer(struct comp_dev *dev,
ipc_buf.size = buf_size;
ipc_buf.comp.pipeline_id = config->pipeline_id;
ipc_buf.comp.core = config->core;
/* allocate not shared buffer */
buffer = buffer_new(&ipc_buf, false);
buffer = buffer_new(&ipc_buf, BUFFER_USAGE_NOT_SHARED);
if (!buffer)
return -ENOMEM;

Expand Down
2 changes: 1 addition & 1 deletion src/audio/dai-legacy.c
Original file line number Diff line number Diff line change
Expand Up @@ -562,7 +562,7 @@ int dai_common_params(struct dai_data *dd, struct comp_dev *dev,
}
} else {
dd->dma_buffer = buffer_alloc(buffer_size, SOF_MEM_FLAG_USER | SOF_MEM_FLAG_DMA,
addr_align, false);
addr_align, BUFFER_USAGE_NOT_SHARED);
if (!dd->dma_buffer) {
comp_err(dev, "failed to alloc dma buffer");
return -ENOMEM;
Expand Down
3 changes: 2 additions & 1 deletion src/audio/dai-zephyr.c
Original file line number Diff line number Diff line change
Expand Up @@ -1020,7 +1020,8 @@ static int dai_set_dma_buffer(struct dai_data *dd, struct comp_dev *dev,
}
} else {
dd->dma_buffer = buffer_alloc_range(buffer_size_preferred, buffer_size,
SOF_MEM_FLAG_USER | SOF_MEM_FLAG_DMA, addr_align, false);
SOF_MEM_FLAG_USER | SOF_MEM_FLAG_DMA,
addr_align, BUFFER_USAGE_NOT_SHARED);
if (!dd->dma_buffer) {
comp_err(dev, "failed to alloc dma buffer");
return -ENOMEM;
Expand Down
2 changes: 1 addition & 1 deletion src/audio/host-legacy.c
Original file line number Diff line number Diff line change
Expand Up @@ -760,7 +760,7 @@ int host_common_params(struct host_data *hd, struct comp_dev *dev,
}
} else {
hd->dma_buffer = buffer_alloc(buffer_size, SOF_MEM_FLAG_USER | SOF_MEM_FLAG_DMA,
addr_align, false);
addr_align, BUFFER_USAGE_NOT_SHARED);
if (!hd->dma_buffer) {
comp_err(dev, "failed to alloc dma buffer");
err = -ENOMEM;
Expand Down
3 changes: 2 additions & 1 deletion src/audio/host-zephyr.c
Original file line number Diff line number Diff line change
Expand Up @@ -921,7 +921,8 @@ int host_common_params(struct host_data *hd, struct comp_dev *dev,
} else {
/* allocate not shared buffer */
hd->dma_buffer = buffer_alloc_range(buffer_size_preferred, buffer_size,
SOF_MEM_FLAG_USER | SOF_MEM_FLAG_DMA, addr_align, false);
SOF_MEM_FLAG_USER | SOF_MEM_FLAG_DMA,
addr_align, BUFFER_USAGE_NOT_SHARED);
if (!hd->dma_buffer) {
comp_err(dev, "failed to alloc dma buffer");
return -ENOMEM;
Expand Down
3 changes: 2 additions & 1 deletion src/audio/module_adapter/module_adapter.c
Original file line number Diff line number Diff line change
Expand Up @@ -451,7 +451,8 @@ int module_adapter_prepare(struct comp_dev *dev)
for (i = 0; i < mod->num_of_sinks; i++) {
/* allocate not shared buffer */
struct comp_buffer *buffer = buffer_alloc(buff_size, memory_flags,
PLATFORM_DCACHE_ALIGN, false);
PLATFORM_DCACHE_ALIGN,
BUFFER_USAGE_NOT_SHARED);
uint32_t flags;

if (!buffer) {
Expand Down
4 changes: 4 additions & 0 deletions src/include/sof/audio/buffer.h
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,10 @@ extern struct tr_ctx buffer_tr;
#define BUFF_PARAMS_RATE BIT(2)
#define BUFF_PARAMS_CHANNELS BIT(3)

/* buffer usage */
#define BUFFER_USAGE_SHARED true /* buffer used by multiple DSP core and/or HW blocks */
#define BUFFER_USAGE_NOT_SHARED false /* buffer only used by one HW block */
Comment on lines +121 to +122
Copy link

Copilot AI Sep 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] Consider using enum values instead of boolean literals for buffer usage flags. This would provide better type safety and prevent accidental mixing of boolean values with these constants.

Suggested change
#define BUFFER_USAGE_SHARED true /* buffer used by multiple DSP core and/or HW blocks */
#define BUFFER_USAGE_NOT_SHARED false /* buffer only used by one HW block */
enum buffer_usage {
BUFFER_USAGE_NOT_SHARED = 0, /* buffer only used by one HW block */
BUFFER_USAGE_SHARED = 1 /* buffer used by multiple DSP core and/or HW blocks */
};

Copilot uses AI. Check for mistakes.
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are still places in code that have logic to calculate a boolean "is_shared" and I see no value to change these and make this an explicit enum. The define is fine to improve readability and matches existing coding style in SOF.


/*
* audio component buffer - connects 2 audio components together in pipeline.
*
Expand Down
2 changes: 1 addition & 1 deletion src/ipc/ipc3/helper.c
Original file line number Diff line number Diff line change
Expand Up @@ -485,7 +485,7 @@ int ipc_buffer_new(struct ipc *ipc, const struct sof_ipc_buffer *desc)
}

/* register buffer with pipeline */
buffer = buffer_new(desc, false);
buffer = buffer_new(desc, BUFFER_USAGE_NOT_SHARED);
if (!buffer) {
tr_err(&ipc_tr, "buffer_new() failed");
return -ENOMEM;
Expand Down
20 changes: 10 additions & 10 deletions test/cmocka/src/audio/buffer/buffer_copy.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ static void test_audio_buffer_copy_underrun(void **state)
.size = 256
};

struct comp_buffer *src = buffer_new(&test_buf_desc, false);
struct comp_buffer *snk = buffer_new(&test_buf_desc, false);
struct comp_buffer *src = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);
struct comp_buffer *snk = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);

assert_non_null(src);
assert_non_null(snk);
Expand All @@ -56,8 +56,8 @@ static void test_audio_buffer_copy_overrun(void **state)
.size = 256
};

struct comp_buffer *src = buffer_new(&test_buf_desc, false);
struct comp_buffer *snk = buffer_new(&test_buf_desc, false);
struct comp_buffer *src = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);
struct comp_buffer *snk = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);

assert_non_null(src);
assert_non_null(snk);
Expand Down Expand Up @@ -85,8 +85,8 @@ static void test_audio_buffer_copy_success(void **state)
.size = 256
};

struct comp_buffer *src = buffer_new(&test_buf_desc, false);
struct comp_buffer *snk = buffer_new(&test_buf_desc, false);
struct comp_buffer *src = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);
struct comp_buffer *snk = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);

assert_non_null(src);
assert_non_null(snk);
Expand All @@ -111,8 +111,8 @@ static void test_audio_buffer_copy_fit_space_constraint(void **state)
.size = 256
};

struct comp_buffer *src = buffer_new(&test_buf_desc, false);
struct comp_buffer *snk = buffer_new(&test_buf_desc, false);
struct comp_buffer *src = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);
struct comp_buffer *snk = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);

assert_non_null(src);
assert_non_null(snk);
Expand All @@ -139,8 +139,8 @@ static void test_audio_buffer_copy_fit_no_space_constraint(void **state)
.size = 256
};

struct comp_buffer *src = buffer_new(&test_buf_desc, false);
struct comp_buffer *snk = buffer_new(&test_buf_desc, false);
struct comp_buffer *src = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);
struct comp_buffer *snk = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);

assert_non_null(src);
assert_non_null(snk);
Expand Down
2 changes: 1 addition & 1 deletion test/cmocka/src/audio/buffer/buffer_new.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ static void test_audio_buffer_new(void **state)
.size = 256
};

struct comp_buffer *buf = buffer_new(&test_buf_desc, false);
struct comp_buffer *buf = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);

assert_non_null(buf);
assert_int_equal(audio_stream_get_avail_bytes(&buf->stream), 0);
Expand Down
2 changes: 1 addition & 1 deletion test/cmocka/src/audio/buffer/buffer_wrap.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ static void test_audio_buffer_write_fill_10_bytes_and_write_5(void **state)
.size = 10
};

struct comp_buffer *buf = buffer_new(&test_buf_desc, false);
struct comp_buffer *buf = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);

assert_non_null(buf);
assert_int_equal(audio_stream_get_avail_bytes(&buf->stream), 0);
Expand Down
4 changes: 2 additions & 2 deletions test/cmocka/src/audio/buffer/buffer_write.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ static void test_audio_buffer_write_10_bytes_out_of_256_and_read_back
.size = 256
};

struct comp_buffer *buf = buffer_new(&test_buf_desc, false);
struct comp_buffer *buf = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);

assert_non_null(buf);
assert_int_equal(audio_stream_get_avail_bytes(&buf->stream), 0);
Expand Down Expand Up @@ -63,7 +63,7 @@ static void test_audio_buffer_fill_10_bytes(void **state)
.size = 10
};

struct comp_buffer *buf = buffer_new(&test_buf_desc, false);
struct comp_buffer *buf = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);

assert_non_null(buf);
assert_int_equal(audio_stream_get_avail_bytes(&buf->stream), 0);
Expand Down
42 changes: 21 additions & 21 deletions test/cmocka/src/math/fft/fft.c
Original file line number Diff line number Diff line change
Expand Up @@ -265,8 +265,8 @@ static void test_math_fft_256(void **state)
struct sof_ipc_buffer test_buf_desc = {
.size = 256 * 2 * sizeof(int32_t),
};
struct comp_buffer *source = buffer_new(&test_buf_desc, false);
struct comp_buffer *sink = buffer_new(&test_buf_desc, false);
struct comp_buffer *source = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);
struct comp_buffer *sink = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);
struct icomplex32 *out = (struct icomplex32 *)sink->stream.addr;
int32_t *in = (int32_t *)source->stream.addr;
int fft_size = 256;
Expand Down Expand Up @@ -307,8 +307,8 @@ static void test_math_fft_512(void **state)
struct sof_ipc_buffer test_buf_desc = {
.size = 512 * 2 * sizeof(int32_t),
};
struct comp_buffer *source = buffer_new(&test_buf_desc, false);
struct comp_buffer *sink = buffer_new(&test_buf_desc, false);
struct comp_buffer *source = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);
struct comp_buffer *sink = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);
struct icomplex32 *out = (struct icomplex32 *)sink->stream.addr;
int32_t *in = (int32_t *)source->stream.addr;
int fft_size = 512;
Expand Down Expand Up @@ -349,8 +349,8 @@ static void test_math_fft_1024(void **state)
struct sof_ipc_buffer test_buf_desc = {
.size = 1024 * 2 * sizeof(int32_t),
};
struct comp_buffer *source = buffer_new(&test_buf_desc, false);
struct comp_buffer *sink = buffer_new(&test_buf_desc, false);
struct comp_buffer *source = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);
struct comp_buffer *sink = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);
struct icomplex32 *out = (struct icomplex32 *)sink->stream.addr;
int32_t *in = (int32_t *)source->stream.addr;
int fft_size = 1024;
Expand Down Expand Up @@ -391,9 +391,9 @@ static void test_math_fft_1024_ifft(void **state)
struct sof_ipc_buffer test_buf_desc = {
.size = 1024 * 4 * 2,
};
struct comp_buffer *source = buffer_new(&test_buf_desc, false);
struct comp_buffer *intm = buffer_new(&test_buf_desc, false);
struct comp_buffer *sink = buffer_new(&test_buf_desc, false);
struct comp_buffer *source = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);
struct comp_buffer *intm = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);
struct comp_buffer *sink = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);
struct icomplex32 *out = (struct icomplex32 *)sink->stream.addr;
float db;
int64_t signal = 0;
Expand Down Expand Up @@ -432,9 +432,9 @@ static void test_math_fft_512_2ch(void **state)
struct sof_ipc_buffer test_buf_desc = {
.size = 512 * 4 * 2,
};
struct comp_buffer *source = buffer_new(&test_buf_desc, false);
struct comp_buffer *sink1 = buffer_new(&test_buf_desc, false);
struct comp_buffer *sink2 = buffer_new(&test_buf_desc, false);
struct comp_buffer *source = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);
struct comp_buffer *sink1 = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);
struct comp_buffer *sink2 = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);
struct icomplex32 *out1 = (struct icomplex32 *)sink1->stream.addr;
struct icomplex32 *out2 = (struct icomplex32 *)sink2->stream.addr;
uint32_t fft_size = 512;
Expand Down Expand Up @@ -625,8 +625,8 @@ static void test_math_fft_256_16(void **state)
struct sof_ipc_buffer test_buf_desc = {
.size = 256 * 2 * sizeof(int16_t),
};
struct comp_buffer *source = buffer_new(&test_buf_desc, false);
struct comp_buffer *sink = buffer_new(&test_buf_desc, false);
struct comp_buffer *source = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);
struct comp_buffer *sink = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);
struct icomplex16 *out = (struct icomplex16 *)sink->stream.addr;
int16_t *in = (int16_t *)source->stream.addr;
int fft_size = 256;
Expand Down Expand Up @@ -667,8 +667,8 @@ static void test_math_fft_512_16(void **state)
struct sof_ipc_buffer test_buf_desc = {
.size = 512 * 2 * sizeof(int16_t),
};
struct comp_buffer *source = buffer_new(&test_buf_desc, false);
struct comp_buffer *sink = buffer_new(&test_buf_desc, false);
struct comp_buffer *source = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);
struct comp_buffer *sink = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);
struct icomplex16 *out = (struct icomplex16 *)sink->stream.addr;
int16_t *in = (int16_t *)source->stream.addr;
int fft_size = 512;
Expand Down Expand Up @@ -709,8 +709,8 @@ static void test_math_fft_1024_16(void **state)
struct sof_ipc_buffer test_buf_desc = {
.size = 1024 * 2 * sizeof(int16_t),
};
struct comp_buffer *source = buffer_new(&test_buf_desc, false);
struct comp_buffer *sink = buffer_new(&test_buf_desc, false);
struct comp_buffer *source = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);
struct comp_buffer *sink = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);
struct icomplex16 *out = (struct icomplex16 *)sink->stream.addr;
int16_t *in = (int16_t *)source->stream.addr;
int fft_size = 1024;
Expand Down Expand Up @@ -751,9 +751,9 @@ static void test_math_fft_1024_ifft_16(void **state)
struct sof_ipc_buffer test_buf_desc = {
.size = 1024 * 2 * sizeof(int16_t),
};
struct comp_buffer *source = buffer_new(&test_buf_desc, false);
struct comp_buffer *intm = buffer_new(&test_buf_desc, false);
struct comp_buffer *sink = buffer_new(&test_buf_desc, false);
struct comp_buffer *source = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);
struct comp_buffer *intm = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);
struct comp_buffer *sink = buffer_new(&test_buf_desc, BUFFER_USAGE_NOT_SHARED);
struct icomplex16 *out = (struct icomplex16 *)sink->stream.addr;
float db;
int64_t signal = 0;
Expand Down
4 changes: 2 additions & 2 deletions test/cmocka/src/util.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ static inline struct comp_buffer *create_test_sink(struct comp_dev *dev,
},
.size = buffer_size,
};
struct comp_buffer *buffer = buffer_new(&desc, false);
struct comp_buffer *buffer = buffer_new(&desc, BUFFER_USAGE_NOT_SHARED);

memset(buffer->stream.addr, 0, buffer_size);

Expand Down Expand Up @@ -58,7 +58,7 @@ static inline struct comp_buffer *create_test_source(struct comp_dev *dev,
},
.size = buffer_size,
};
struct comp_buffer *buffer = buffer_new(&desc, false);
struct comp_buffer *buffer = buffer_new(&desc, BUFFER_USAGE_NOT_SHARED);

memset(buffer->stream.addr, 0, buffer_size);

Expand Down
Loading