[Sound-open-firmware] [PATCH 10/10] test: audio buffer unit tests Signed-off-by: Slawomir Blauciak <slawomir.blauciak at linux.intel.com>

Liam Girdwood liam.r.girdwood at linux.intel.com
Thu Jun 21 12:12:08 CEST 2018


From: Slawomir Blauciak <slawomir.blauciak at linux.intel.com>

---
 test/cmocka/Makefile.am                     |  25 +++
 test/cmocka/src/audio/buffer/buffer_copy.c  | 174 ++++++++++++++++++++
 test/cmocka/src/audio/buffer/buffer_new.c   |  69 ++++++++
 test/cmocka/src/audio/buffer/buffer_wrap.c  |  91 ++++++++++
 test/cmocka/src/audio/buffer/buffer_write.c | 116 +++++++++++++
 test/cmocka/src/audio/buffer/mock.c         |  63 +++++++
 6 files changed, 538 insertions(+)
 create mode 100644 test/cmocka/src/audio/buffer/buffer_copy.c
 create mode 100644 test/cmocka/src/audio/buffer/buffer_new.c
 create mode 100644 test/cmocka/src/audio/buffer/buffer_wrap.c
 create mode 100644 test/cmocka/src/audio/buffer/buffer_write.c
 create mode 100644 test/cmocka/src/audio/buffer/mock.c

diff --git a/test/cmocka/Makefile.am b/test/cmocka/Makefile.am
index ff1ef19..0437665 100644
--- a/test/cmocka/Makefile.am
+++ b/test/cmocka/Makefile.am
@@ -16,11 +16,36 @@ AM_CFLAGS += -I$(CMOCKA_PREFIX)/include
 AM_LDFLAGS += -L$(CMOCKA_PREFIX)/lib
 endif
 
+if BUILD_XTENSA
+AM_CFLAGS += -I../../src/arch/xtensa/include
+AM_CFLAGS += -I../../src/platform/apollolake/include
+endif
+
+if BUILD_HOST
+AM_CFLAGS += -I../../src/arch/host/include
+endif
+
 CFLAGS := $(filter-out -nostdlib,$(CFLAGS))
 LDFLAGS := $(filter-out -nostdlib,$(LDFLAGS))
 
 LDADD = -lcmocka
 
+check_PROGRAMS += buffer_new
+buffer_new_SOURCES = src/audio/buffer/buffer_new.c src/audio/buffer/mock.c
+buffer_new_LDADD =  ../../src/audio/libaudio.a $(LDADD)
+
+check_PROGRAMS += buffer_write
+buffer_write_SOURCES = src/audio/buffer/buffer_write.c src/audio/buffer/mock.c
+buffer_write_LDADD =  ../../src/audio/libaudio.a $(LDADD)
+
+check_PROGRAMS += buffer_wrap
+buffer_wrap_SOURCES = src/audio/buffer/buffer_wrap.c src/audio/buffer/mock.c
+buffer_wrap_LDADD =  ../../src/audio/libaudio.a $(LDADD)
+
+check_PROGRAMS += buffer_copy
+buffer_copy_SOURCES = src/audio/buffer/buffer_copy.c src/audio/buffer/mock.c
+buffer_copy_LDADD =  ../../src/audio/libaudio.a $(LDADD)
+
 # list tests
 
 check_PROGRAMS += list_init
diff --git a/test/cmocka/src/audio/buffer/buffer_copy.c b/test/cmocka/src/audio/buffer/buffer_copy.c
new file mode 100644
index 0000000..6a9dea3
--- /dev/null
+++ b/test/cmocka/src/audio/buffer/buffer_copy.c
@@ -0,0 +1,174 @@
+/*
+ * Copyright (c) 2018, Intel Corporation
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *   * Redistributions of source code must retain the above copyright
+ *     notice, this list of conditions and the following disclaimer.
+ *   * Redistributions in binary form must reproduce the above copyright
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution.
+ *   * Neither the name of the Intel Corporation nor the
+ *     names of its contributors may be used to endorse or promote products
+ *     derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Author: Slawomir Blauciak <slawomir.blauciak at linux.intel.com>
+ */
+
+#include <sof/audio/component.h>
+#include <sof/audio/buffer.h>
+#include <sof/ipc.h>
+
+#include <stdio.h>
+#include <stdarg.h>
+#include <stddef.h>
+#include <setjmp.h>
+#include <math.h>
+#include <cmocka.h>
+
+static void test_audio_buffer_copy_underrun(void **state)
+{
+	(void)state;
+
+	struct sof_ipc_buffer test_buf_desc = {
+		.size = 256
+	};
+
+	struct comp_buffer *src = buffer_new(&test_buf_desc);
+	struct comp_buffer *snk = buffer_new(&test_buf_desc);
+
+	assert_non_null(src);
+	assert_non_null(snk);
+
+	comp_update_buffer_produce(src, 10);
+
+	assert_int_equal(src->avail, 10);
+	assert_int_equal(comp_buffer_can_copy_bytes(src, snk, 16), -1);
+
+	buffer_free(src);
+	buffer_free(snk);
+}
+
+static void test_audio_buffer_copy_overrun(void **state)
+{
+	(void)state;
+
+	struct sof_ipc_buffer test_buf_desc = {
+		.size = 256
+	};
+
+	struct comp_buffer *src = buffer_new(&test_buf_desc);
+	struct comp_buffer *snk = buffer_new(&test_buf_desc);
+
+	assert_non_null(src);
+	assert_non_null(snk);
+
+	comp_update_buffer_produce(src, 16);
+	comp_update_buffer_produce(snk, 246);
+
+	assert_int_equal(src->avail, 16);
+	assert_int_equal(snk->free, 10);
+	assert_int_equal(comp_buffer_can_copy_bytes(src, snk, 16), 1);
+
+	buffer_free(src);
+	buffer_free(snk);
+}
+
+static void test_audio_buffer_copy_success(void **state)
+{
+	(void)state;
+
+	struct sof_ipc_buffer test_buf_desc = {
+		.size = 256
+	};
+
+	struct comp_buffer *src = buffer_new(&test_buf_desc);
+	struct comp_buffer *snk = buffer_new(&test_buf_desc);
+
+	assert_non_null(src);
+	assert_non_null(snk);
+
+	comp_update_buffer_produce(src, 10);
+
+	assert_int_equal(src->avail, 10);
+	assert_int_equal(comp_buffer_can_copy_bytes(src, snk, 0), 0);
+
+	buffer_free(src);
+	buffer_free(snk);
+}
+
+static void test_audio_buffer_copy_fit_space_constraint(void **state)
+{
+	(void)state;
+
+	struct sof_ipc_buffer test_buf_desc = {
+		.size = 256
+	};
+
+	struct comp_buffer *src = buffer_new(&test_buf_desc);
+	struct comp_buffer *snk = buffer_new(&test_buf_desc);
+
+	assert_non_null(src);
+	assert_non_null(snk);
+
+	comp_update_buffer_produce(src, 16);
+	comp_update_buffer_produce(snk, 246);
+
+	assert_int_equal(src->avail, 16);
+	assert_int_equal(snk->free, 10);
+	assert_int_equal(comp_buffer_get_copy_bytes(src, snk), 10);
+
+	buffer_free(src);
+	buffer_free(snk);
+}
+
+static void test_audio_buffer_copy_fit_no_space_constraint(void **state)
+{
+	(void)state;
+
+	struct sof_ipc_buffer test_buf_desc = {
+		.size = 256
+	};
+
+	struct comp_buffer *src = buffer_new(&test_buf_desc);
+	struct comp_buffer *snk = buffer_new(&test_buf_desc);
+
+	assert_non_null(src);
+	assert_non_null(snk);
+
+	comp_update_buffer_produce(src, 16);
+
+	assert_int_equal(src->avail, 16);
+	assert_int_equal(comp_buffer_get_copy_bytes(src, snk), 16);
+
+	buffer_free(src);
+	buffer_free(snk);
+}
+
+int main(void)
+{
+	const struct CMUnitTest tests[] = {
+		cmocka_unit_test(test_audio_buffer_copy_underrun),
+		cmocka_unit_test(test_audio_buffer_copy_overrun),
+		cmocka_unit_test(test_audio_buffer_copy_success),
+		cmocka_unit_test(test_audio_buffer_copy_fit_space_constraint),
+		cmocka_unit_test(test_audio_buffer_copy_fit_no_space_constraint)
+	};
+
+	cmocka_set_message_output(CM_OUTPUT_TAP);
+
+	return cmocka_run_group_tests(tests, NULL, NULL);
+}
diff --git a/test/cmocka/src/audio/buffer/buffer_new.c b/test/cmocka/src/audio/buffer/buffer_new.c
new file mode 100644
index 0000000..4c5cb5b
--- /dev/null
+++ b/test/cmocka/src/audio/buffer/buffer_new.c
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2018, Intel Corporation
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *   * Redistributions of source code must retain the above copyright
+ *     notice, this list of conditions and the following disclaimer.
+ *   * Redistributions in binary form must reproduce the above copyright
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution.
+ *   * Neither the name of the Intel Corporation nor the
+ *     names of its contributors may be used to endorse or promote products
+ *     derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Author: Slawomir Blauciak <slawomir.blauciak at linux.intel.com>
+ */
+
+#include <sof/audio/component.h>
+#include <sof/audio/buffer.h>
+#include <sof/ipc.h>
+
+#include <stdio.h>
+#include <stdarg.h>
+#include <stddef.h>
+#include <setjmp.h>
+#include <math.h>
+#include <cmocka.h>
+
+static void test_audio_buffer_new(void **state)
+{
+	(void)state;
+
+	struct sof_ipc_buffer test_buf_desc = {
+		.size = 256
+	};
+
+	struct comp_buffer *buf = buffer_new(&test_buf_desc);
+
+	assert_non_null(buf);
+	assert_int_equal(buf->avail, 0);
+	assert_int_equal(buf->free, 256);
+	assert_ptr_equal(buf->w_ptr, buf->r_ptr);
+
+	buffer_free(buf);
+}
+
+int main(void)
+{
+	const struct CMUnitTest tests[] = {
+		cmocka_unit_test(test_audio_buffer_new)
+	};
+
+	cmocka_set_message_output(CM_OUTPUT_TAP);
+
+	return cmocka_run_group_tests(tests, NULL, NULL);
+}
diff --git a/test/cmocka/src/audio/buffer/buffer_wrap.c b/test/cmocka/src/audio/buffer/buffer_wrap.c
new file mode 100644
index 0000000..aae5b03
--- /dev/null
+++ b/test/cmocka/src/audio/buffer/buffer_wrap.c
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2018, Intel Corporation
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *   * Redistributions of source code must retain the above copyright
+ *     notice, this list of conditions and the following disclaimer.
+ *   * Redistributions in binary form must reproduce the above copyright
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution.
+ *   * Neither the name of the Intel Corporation nor the
+ *     names of its contributors may be used to endorse or promote products
+ *     derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Author: Slawomir Blauciak <slawomir.blauciak at linux.intel.com>
+ */
+
+#include <sof/audio/component.h>
+#include <sof/audio/buffer.h>
+#include <sof/ipc.h>
+
+#include <stdio.h>
+#include <stdarg.h>
+#include <stddef.h>
+#include <setjmp.h>
+#include <math.h>
+#include <cmocka.h>
+
+static void test_audio_buffer_write_fill_10_bytes_and_write_5(void **state)
+{
+	(void)state;
+
+	struct sof_ipc_buffer test_buf_desc = {
+		.size = 10
+	};
+
+	struct comp_buffer *buf = buffer_new(&test_buf_desc);
+
+	assert_non_null(buf);
+	assert_int_equal(buf->avail, 0);
+	assert_int_equal(buf->free, 10);
+	assert_ptr_equal(buf->w_ptr, buf->r_ptr);
+
+	uint8_t bytes[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
+
+	memcpy(buf->w_ptr, &bytes, 10);
+	comp_update_buffer_produce(buf, 10);
+
+	assert_int_equal(buf->avail, 10);
+	assert_int_equal(buf->free, 0);
+	assert_ptr_equal(buf->w_ptr, buf->r_ptr);
+
+	uint8_t more_bytes[5] = {10, 11, 12, 13, 14};
+
+	memcpy(buf->w_ptr, &more_bytes, 5);
+	comp_update_buffer_produce(buf, 5);
+
+	uint8_t ref[10] = {10, 11, 12, 13, 14, 5, 6, 7, 8, 9};
+
+	assert_int_equal(buf->avail, 5);
+	assert_int_equal(buf->free, 5);
+	assert_ptr_equal(buf->w_ptr, buf->r_ptr + 5);
+	assert_int_equal(memcmp(buf->r_ptr, &ref, 10), 0);
+
+	buffer_free(buf);
+}
+
+int main(void)
+{
+	const struct CMUnitTest tests[] = {
+		cmocka_unit_test
+			(test_audio_buffer_write_fill_10_bytes_and_write_5)
+	};
+
+	cmocka_set_message_output(CM_OUTPUT_TAP);
+
+	return cmocka_run_group_tests(tests, NULL, NULL);
+}
diff --git a/test/cmocka/src/audio/buffer/buffer_write.c b/test/cmocka/src/audio/buffer/buffer_write.c
new file mode 100644
index 0000000..47e45c7
--- /dev/null
+++ b/test/cmocka/src/audio/buffer/buffer_write.c
@@ -0,0 +1,116 @@
+/*
+ * Copyright (c) 2018, Intel Corporation
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *   * Redistributions of source code must retain the above copyright
+ *     notice, this list of conditions and the following disclaimer.
+ *   * Redistributions in binary form must reproduce the above copyright
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution.
+ *   * Neither the name of the Intel Corporation nor the
+ *     names of its contributors may be used to endorse or promote products
+ *     derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Author: Slawomir Blauciak <slawomir.blauciak at linux.intel.com>
+ */
+
+#include <sof/audio/component.h>
+#include <sof/audio/buffer.h>
+#include <sof/ipc.h>
+
+#include <stdio.h>
+#include <stdarg.h>
+#include <stddef.h>
+#include <setjmp.h>
+#include <math.h>
+#include <cmocka.h>
+
+static void test_audio_buffer_write_10_bytes_out_of_256_and_read_back
+	(void **state)
+{
+	(void)state;
+
+	struct sof_ipc_buffer test_buf_desc = {
+		.size = 256
+	};
+
+	struct comp_buffer *buf = buffer_new(&test_buf_desc);
+
+	assert_non_null(buf);
+	assert_int_equal(buf->avail, 0);
+	assert_int_equal(buf->free, 256);
+	assert_ptr_equal(buf->w_ptr, buf->r_ptr);
+
+	uint8_t bytes[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
+
+	memcpy(buf->w_ptr, &bytes, 10);
+	comp_update_buffer_produce(buf, 10);
+
+	assert_int_equal(buf->avail, 10);
+	assert_int_equal(buf->free, 246);
+	assert_ptr_equal(buf->w_ptr, buf->r_ptr + 10);
+
+	assert_int_equal(memcmp(buf->r_ptr, &bytes, 10), 0);
+
+	comp_update_buffer_consume(buf, 10);
+
+	assert_int_equal(buf->avail, 0);
+	assert_int_equal(buf->free, 256);
+	assert_ptr_equal(buf->w_ptr, buf->r_ptr);
+
+	buffer_free(buf);
+}
+
+static void test_audio_buffer_fill_10_bytes(void **state)
+{
+	(void)state;
+
+	struct sof_ipc_buffer test_buf_desc = {
+		.size = 10
+	};
+
+	struct comp_buffer *buf = buffer_new(&test_buf_desc);
+
+	assert_non_null(buf);
+	assert_int_equal(buf->avail, 0);
+	assert_int_equal(buf->free, 10);
+	assert_ptr_equal(buf->w_ptr, buf->r_ptr);
+
+	uint8_t bytes[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
+
+	memcpy(buf->w_ptr, &bytes, 10);
+	comp_update_buffer_produce(buf, 10);
+
+	assert_int_equal(buf->avail, 10);
+	assert_int_equal(buf->free, 0);
+	assert_ptr_equal(buf->w_ptr, buf->r_ptr);
+
+	buffer_free(buf);
+}
+
+int main(void)
+{
+	const struct CMUnitTest tests[] = {
+		cmocka_unit_test
+			(test_audio_buffer_write_10_bytes_out_of_256_and_read_back),
+		cmocka_unit_test(test_audio_buffer_fill_10_bytes)
+	};
+
+	cmocka_set_message_output(CM_OUTPUT_TAP);
+
+	return cmocka_run_group_tests(tests, NULL, NULL);
+}
diff --git a/test/cmocka/src/audio/buffer/mock.c b/test/cmocka/src/audio/buffer/mock.c
new file mode 100644
index 0000000..e35d34e
--- /dev/null
+++ b/test/cmocka/src/audio/buffer/mock.c
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2018, Intel Corporation
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *   * Redistributions of source code must retain the above copyright
+ *     notice, this list of conditions and the following disclaimer.
+ *   * Redistributions in binary form must reproduce the above copyright
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution.
+ *   * Neither the name of the Intel Corporation nor the
+ *     names of its contributors may be used to endorse or promote products
+ *     derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Author: Slawomir Blauciak <slawomir.blauciak at linux.intel.com>
+ */
+
+#include <stdint.h>
+#include <stdlib.h>
+
+void _trace_event(uint32_t e)
+{
+	(void)e;
+}
+
+void _trace_event_mbox_atomic(uint32_t e)
+{
+	(void)e;
+}
+
+void *rzalloc(int zone, uint32_t caps, size_t bytes)
+{
+	(void)zone;
+	(void)caps;
+
+	return malloc(bytes);
+}
+
+void *rballoc(int zone, uint32_t caps, size_t bytes)
+{
+	(void)zone;
+	(void)caps;
+
+	return malloc(bytes);
+}
+
+void rfree(void *ptr)
+{
+	free(ptr);
+}
-- 
2.17.0



More information about the Sound-open-firmware mailing list