kernel-brax3-ubuntu-touch/drivers/misc/mediatek/mtprof/internal.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

48 lines
1.4 KiB
C

/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (C) 2020 MediaTek Inc.
*/
#ifndef _IRQ_MON_INT_H
#define _IRQ_MON_INT_H
/* common and private utility for mtprof */
long long msec_high(unsigned long long nsec);
unsigned long msec_low(unsigned long long nsec);
long long usec_high(unsigned long long nsec);
long long sec_high(unsigned long long nsec);
unsigned long sec_low(unsigned long long nsec);
void mt_irq_monitor_test_init(struct proc_dir_entry *dir);
// irq count tracer
int irq_count_tracer_init(void);
void irq_count_tracer_exit(void);
const char *irq_to_name(int irq);
const void *irq_to_handler(int irq);
const int irq_to_ipi_type(int irq);
void show_irq_count_info(unsigned int output);
void irq_count_tracer_set(bool val);
void irq_count_tracer_proc_init(struct proc_dir_entry *parent);
#define TO_FTRACE BIT(0)
#define TO_KERNEL_LOG BIT(1)
#define TO_AEE BIT(2)
#define TO_SRAM BIT(3)
#define TO_BOTH (TO_FTRACE | TO_KERNEL_LOG)
#define MAX_MSG_LEN 160
void irq_mon_msg(unsigned int out, char *buf, ...);
// proc
int irq_mon_bool_open(struct inode *inode, struct file *file);
ssize_t irq_mon_count_set(struct file *filp,
const char *ubuf, size_t count, loff_t *data);
bool irq_mon_aee_debounce_check(bool update);
extern const struct proc_ops irq_mon_uint_pops;
#define IRQ_MON_TRACER_PROC_ENTRY(name, mode, type, dir, ptr) \
proc_create_data(#name, mode, dir, &irq_mon_##type##_pops, (void *)ptr)
#endif