blob: 06b37e1dbc739c55986ae85c47ab72f640262274 [file] [log] [blame]
/*
* Copyright (c) 2022 Intel Corporation
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef ZEPHYR_LOG_BACKEND_ADSP_MTRACE_H_
#define ZEPHYR_LOG_BACKEND_ADSP_MTRACE_H_
#include <stdint.h>
#include <stddef.h>
/**
*@brief mtracelogger requires a hook for IPC messages
*
* When new log data is added to the SRAM buffer, a IPC message
* should be sent to the host. This hook function pointer allows
* for that.
*/
typedef void(*adsp_mtrace_log_hook_t)(size_t written, size_t space_left);
/**
* @brief Initialize the Intel ADSP mtrace logger
*
* @param hook Function is called after each write to the SRAM buffer
* It is up to the author of the hook to serialize if needed.
*/
void adsp_mtrace_log_init(adsp_mtrace_log_hook_t hook);
const struct log_backend *log_backend_adsp_mtrace_get(void);
#endif /* ZEPHYR_LOG_BACKEND_ADSP_MTRACE_H_ */