kernel-brax3-ubuntu-touch/drivers/misc/mediatek/adsp/adsp_logger.h
erascape f319b992b1 kernel-5.15: Initial import brax3 UT kernel
* halium configs enabled

Signed-off-by: erascape <erascape@proton.me>
2025-09-23 15:17:10 +00:00

43 lines
1.1 KiB
C

/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (c) 2019 MediaTek Inc.
*/
#ifndef __ADSP_LOGGER_H__
#define __ADSP_LOGGER_H__
#define ADSP_LOGGER_UT (1)
struct log_ctrl_s { /* ap used */
unsigned int inited;
struct mutex lock;
struct delayed_work work;
void *priv;
};
struct log_info_s { /* adsp & ap shared */
unsigned int base;
unsigned int size;
unsigned int enable;
unsigned int info_ofs;
unsigned int buff_ofs;
unsigned int buff_size;
};
struct buffer_info_s {
unsigned int r_pos;
unsigned char resv1[124]; /* dummy bytes for 128-byte align */
unsigned int w_pos;
unsigned char resv2[124]; /* dummy bytes for 128-byte align */
};
struct log_ctrl_s *adsp_logger_init(int mem_id,
void (*work_cb)(struct work_struct *ws));
unsigned int adsp_log_poll(struct log_ctrl_s *ctrl);
ssize_t adsp_log_read(struct log_ctrl_s *ctrl, char __user *userbuf,
size_t len);
ssize_t adsp_log_enable(struct log_ctrl_s *ctrl, int cid, u32 enable);
ssize_t adsp_dump_log_state(struct log_ctrl_s *ctrl, char *buffer, int size);
#endif /* __ADSP_LOGGER_H__ */