1 /* 2 * Copyright (c) 2022 Intel Corporation 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 #ifndef ZEPHYR_LOG_BACKEND_ADSP_MTRACE_H_ 8 #define ZEPHYR_LOG_BACKEND_ADSP_MTRACE_H_ 9 10 #include <stdint.h> 11 #include <stddef.h> 12 13 /** 14 *@brief mtracelogger requires a hook for IPC messages 15 * 16 * When new log data is added to the SRAM buffer, a IPC message 17 * should be sent to the host. This hook function pointer allows 18 * for that. 19 */ 20 typedef void(*adsp_mtrace_log_hook_t)(size_t written, size_t space_left); 21 22 /** 23 * @brief Initialize the Intel ADSP mtrace logger 24 * 25 * @param hook Function is called after each write to the SRAM buffer 26 * It is up to the author of the hook to serialize if needed. 27 */ 28 void adsp_mtrace_log_init(adsp_mtrace_log_hook_t hook); 29 30 const struct log_backend *log_backend_adsp_mtrace_get(void); 31 32 #endif /* ZEPHYR_LOG_BACKEND_ADSP_MTRACE_H_ */ 33