55 lines
995 B
C
55 lines
995 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* Copyright (c) 2020 MediaTek Inc.
|
|
*/
|
|
|
|
#ifndef __THERMAL_JATM_H__
|
|
#define __THERMAL_JATM_H__
|
|
|
|
/* jatm parameters (in ms) */
|
|
#define THER_INVALID_TEMP -274000
|
|
|
|
#define DEFAULT_JATM_STOP_DEADLINE 133 // 167 - 16.6 * 2
|
|
#define DEFAULT_JATM_INTERVAL 1000
|
|
#define DEFAULT_JATM_INFINITE_BUDGET 5000
|
|
|
|
struct jatm_policy {
|
|
unsigned int cpu;
|
|
s32 cpu_limit;
|
|
struct freq_qos_request qos_req;
|
|
struct cpufreq_policy *policy;
|
|
struct list_head jatm_list;
|
|
};
|
|
|
|
enum jatm_stop_reason {
|
|
FRAME_COMPLETE = 0,
|
|
BUDGET_RUNNING_OUT = 1
|
|
};
|
|
|
|
char *jatm_stop_reason_string[] = {
|
|
"0: Frame_complete",
|
|
"1: JATM_budget_running_out"
|
|
};
|
|
|
|
struct jatm_record {
|
|
struct timespec64 end_tv;
|
|
int usage;
|
|
struct list_head list;
|
|
};
|
|
|
|
enum jatm_mode {
|
|
BUDGET,
|
|
STOP_DEADLINE
|
|
};
|
|
|
|
enum jatm_not_start_reason {
|
|
ENABLE = 0,
|
|
ALREADY_ENABLED,
|
|
MIN_TTJ,
|
|
SUSPENDED,
|
|
NO_BUDGET
|
|
};
|
|
|
|
extern void (*jatm_notify_fp)(int enable);
|
|
|
|
#endif
|