c225cf3b8a
HDA is a common IP used across the entire ADSP line and deserves a name respecting that alongside similiar IP drivers such as the ADSP GPDMA driver. Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
33 lines
1 KiB
C
33 lines
1 KiB
C
/*
|
|
* Copyright (c) 2022 Intel Corporation
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#ifndef ZEPHYR_LOG_BACKEND_ADSP_HDA_H_
|
|
#define ZEPHYR_LOG_BACKEND_ADSP_HDA_H_
|
|
|
|
#include <stdint.h>
|
|
|
|
/**
|
|
*@brief HDA logger requires a hook for IPC messages
|
|
*
|
|
* When the log is flushed and written with DMA an IPC message should
|
|
* be sent to inform the host. This hook function pointer allows for that
|
|
*/
|
|
typedef void(*adsp_hda_log_hook_t)(uint32_t written);
|
|
|
|
/**
|
|
* @brief Initialize the Intel ADSP HDA logger
|
|
*
|
|
* @param hook Function is called after each HDA flush in order to
|
|
* inform the Host of DMA log data. This hook may be called
|
|
* from multiple CPUs and multiple calling contexts concurrently.
|
|
* It is up to the author of the hook to serialize if needed.
|
|
* It is guaranteed to be called once for every flush.
|
|
* @param channel HDA stream (DMA Channel) to use for logging
|
|
*/
|
|
void adsp_hda_log_init(adsp_hda_log_hook_t hook, uint32_t channel);
|
|
|
|
#endif /* ZEPHYR_LOG_BACKEND_ADSP_HDA_H_ */
|