Line data Source code
1 0 : /* 2 : * Copyright (c) 2022 Intel Corporation 3 : * 4 : * SPDX-License-Identifier: Apache-2.0 5 : */ 6 : 7 : #ifndef ZEPHYR_LOG_BACKEND_ADSP_HDA_H_ 8 : #define ZEPHYR_LOG_BACKEND_ADSP_HDA_H_ 9 : 10 : #include <stdint.h> 11 : 12 : /** 13 : *@brief HDA logger requires a hook for IPC messages 14 : * 15 : * When the log is flushed and written with DMA an IPC message should 16 : * be sent to inform the host. This hook function pointer allows for that 17 : */ 18 1 : typedef void(*adsp_hda_log_hook_t)(uint32_t written); 19 : 20 : /** 21 : * @brief Initialize the Intel ADSP HDA logger 22 : * 23 : * @param hook Function is called after each HDA flush in order to 24 : * inform the Host of DMA log data. This hook may be called 25 : * from multiple CPUs and multiple calling contexts concurrently. 26 : * It is up to the author of the hook to serialize if needed. 27 : * It is guaranteed to be called once for every flush. 28 : * @param channel HDA stream (DMA Channel) to use for logging 29 : */ 30 1 : void adsp_hda_log_init(adsp_hda_log_hook_t hook, uint32_t channel); 31 : 32 : #endif /* ZEPHYR_LOG_BACKEND_ADSP_HDA_H_ */