1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * drivers/auth_ctl/qos_ctrl.h
4  *
5  * Copyright (c) 2022 Huawei Device Co., Ltd.
6  *
7  */
8 
9 #ifndef __QOS_CTRL_H
10 #define __QOS_CTRL_H
11 
12 #include "../../kernel/sched/sched.h"
13 
14 #include <linux/sched/qos_ctrl.h>
15 
16 /* min qos level used in kernel space, begin index for LOOP */
17 #define QOS_POLICY_MIN_LEVEL 0
18 
19 struct qos_policy_item {
20 	int nice;
21 	int latency_nice;
22 	int uclamp_min;
23 	int uclamp_max;
24 	int rt_sched_priority;
25 	int policy;
26 };
27 
28 struct qos_policy_map {
29 	rwlock_t lock;
30 	bool initialized;
31 	unsigned int policy_flag;
32 	struct qos_policy_item levels[NR_QOS];
33 };
34 
35 int __init init_qos_ctrl(void);
36 
37 #endif /* __OQS_CTRL_H */
38 
39