Linux Audio

Check our new training course

Embedded Linux Audio

Check our new training course
with Creative Commons CC-BY-SA
lecture materials

Bootlin logo

Elixir Cross Referencer

Loading...
/*
 * Copyright (c) 2019 Intel corporation
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <sys/ring_buffer.h>

static struct ring_buf tracing_ring_buf;
static uint8_t tracing_buffer[CONFIG_TRACING_BUFFER_SIZE + 1];
static uint8_t tracing_cmd_buffer[CONFIG_TRACING_CMD_BUFFER_SIZE];

uint32_t tracing_cmd_buffer_alloc(uint8_t **data)
{
	*data = &tracing_cmd_buffer[0];

	return sizeof(tracing_cmd_buffer);
}

uint32_t tracing_buffer_put_claim(uint8_t **data, uint32_t size)
{
	return ring_buf_put_claim(&tracing_ring_buf, data, size);
}

int tracing_buffer_put_finish(uint32_t size)
{
	return ring_buf_put_finish(&tracing_ring_buf, size);
}

uint32_t tracing_buffer_put(uint8_t *data, uint32_t size)
{
	return ring_buf_put(&tracing_ring_buf, data, size);
}

uint32_t tracing_buffer_get_claim(uint8_t **data, uint32_t size)
{
	return ring_buf_get_claim(&tracing_ring_buf, data, size);
}

int tracing_buffer_get_finish(uint32_t size)
{
	return ring_buf_get_finish(&tracing_ring_buf, size);
}

uint32_t tracing_buffer_get(uint8_t *data, uint32_t size)
{
	return ring_buf_get(&tracing_ring_buf, data, size);
}

void tracing_buffer_init(void)
{
	ring_buf_init(&tracing_ring_buf,
		      sizeof(tracing_buffer), tracing_buffer);
}

bool tracing_buffer_is_empty(void)
{
	return ring_buf_is_empty(&tracing_ring_buf);
}

uint32_t tracing_buffer_capacity_get(void)
{
	return ring_buf_capacity_get(&tracing_ring_buf);
}

uint32_t tracing_buffer_space_get(void)
{
	return ring_buf_space_get(&tracing_ring_buf);
}