blob: 1119ac4663551fc4c60359018549c2cc05482b11 [file] [log] [blame]
rjw1f884582022-01-06 17:20:42 +08001/*
2 * Copyright (C) 2018 MediaTek Inc.
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 */
13
14struct met_api_tbl {
15 int (*met_tag_start)(unsigned int class_id, const char *name);
16 int (*met_tag_end)(unsigned int class_id, const char *name);
17 int (*met_tag_async_start)(unsigned int class_id, const char *name, unsigned int cookie);
18 int (*met_tag_async_end)(unsigned int class_id, const char *name, unsigned int cookie);
19 int (*met_tag_oneshot)(unsigned int class_id, const char *name, unsigned int value);
20 int (*met_tag_userdata)(char *pData);
21 int (*met_tag_dump)(unsigned int class_id, const char *name, void *data, unsigned int length);
22 int (*met_tag_disable)(unsigned int class_id);
23 int (*met_tag_enable)(unsigned int class_id);
24 int (*met_set_dump_buffer)(int size);
25 int (*met_save_dump_buffer)(const char *pathname);
26 int (*met_save_log)(const char *pathname);
27 int (*met_show_bw_limiter)(void);
28 int (*met_reg_bw_limiter)(void *fp);
29 int (*met_show_clk_tree)(const char *name, unsigned int addr, unsigned int status);
30 int (*met_reg_clk_tree)(void *fp);
31 void (*met_sched_switch)(struct task_struct *prev, struct task_struct *next);
32 void (*met_pm_qos_update_request)(int pm_qos_class, s32 value, char *owner);
33 void (*met_pm_qos_update_target)(unsigned int action, int prev_value, int curr_value);
34 int (*enable_met_backlight_tag)(void);
35 int (*output_met_backlight_tag)(int level);
36};
37
38extern struct met_api_tbl met_ext_api;