84fe2210c5e9479a4e82f0faca3de4f1b729cf01
[firefly-linux-kernel-4.4.55.git] / drivers / gpu / arm / mali400 / mali / platform / rk30 / arm_core_scaling.h
1 /*
2  * This confidential and proprietary software may be used only as
3  * authorised by a licensing agreement from ARM Limited
4  * (C) COPYRIGHT 2013-2014 ARM Limited
5  * ALL RIGHTS RESERVED
6  * The entire notice above must be reproduced on all authorised
7  * copies and copies may only be made to the extent permitted
8  * by a licensing agreement from ARM Limited.
9  */
10
11 /**
12  * @file arm_core_scaling.h
13  * Example core scaling policy.
14  */
15
16 #ifndef __ARM_CORE_SCALING_H__
17 #define __ARM_CORE_SCALING_H__
18
19 struct mali_gpu_utilization_data;
20
21 /**
22  * Initialize core scaling policy.
23  * .DP : core_scaling_policy, core_scaling_facility.
24  *
25  * @note
26  * The core scaling policy will assume
27  *      that all PP cores are on initially.
28  *
29  * @param num_pp_cores
30  *      Total number of PP cores.
31  */
32 void mali_core_scaling_init(int num_pp_cores);
33
34 /**
35  * Terminate core scaling policy.
36  */
37 void mali_core_scaling_term(void);
38
39 /**
40  * Update core scaling policy
41  *      with new utilization data.
42  *
43  * @param data
44  *      Utilization data.
45  */
46 void mali_core_scaling_update(struct mali_gpu_utilization_data *data);
47
48 void mali_core_scaling_sync(int num_cores);
49
50 #endif /* __ARM_CORE_SCALING_H__ */