blob: 5ec0735bce35cc9dd04b1ce17e596cbda359cd99 [file] [log] [blame]
Anurag Singh6ec12062012-10-02 09:59:01 -07001/*
Ananth Raghavan Subramaniane432dbf2017-03-24 16:30:12 -07002 * Copyright (c) 2012-2013,2015-2017, The Linux Foundation. All rights reserved.
Anurag Singh6ec12062012-10-02 09:59:01 -07003 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met:
7 * * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above
10 * copyright notice, this list of conditions and the following
11 * disclaimer in the documentation and/or other materials provided
12 * with the distribution.
Duy Truong70222452013-02-10 06:35:11 -080013 * * Neither the name of The Linux Foundation nor the names of its
Anurag Singh6ec12062012-10-02 09:59:01 -070014 * contributors may be used to endorse or promote products derived
15 * from this software without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
18 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
20 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
21 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
24 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
26 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
27 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 */
29
30#include <cutils/properties.h>
31
Corinna Vinschened3426d2018-04-10 11:57:37 +020032int sysfs_read(const char *path, char *s, int num_bytes);
33int sysfs_write(const char *path, char *s);
Anurag Singh6ec12062012-10-02 09:59:01 -070034int get_scaling_governor(char governor[], int size);
Sravan Kumar Ambapuram58387472015-05-20 22:22:54 +053035int get_scaling_governor_check_cores(char governor[], int size,int core_num);
Ananth Raghavan Subramaniane432dbf2017-03-24 16:30:12 -070036int is_interactive_governor(char*);
Michael Bestasfc62e7c2018-03-25 23:14:21 +030037int is_ondemand_governor(char*);
Anurag Singh6ec12062012-10-02 09:59:01 -070038
Corinna Vinschen282e8892018-08-26 21:16:23 +020039int perform_hint_action(int hint_id, int resource_values[], int num_resources);
Anurag Singh6ec12062012-10-02 09:59:01 -070040void undo_hint_action(int hint_id);
Paul Keithd524aea2017-12-31 02:17:32 +010041void undo_initial_hint_action();
Ananth Raghavan Subramaniane432dbf2017-03-24 16:30:12 -070042void release_request(int lock_handle);
Michael Bestas817963a2018-03-26 02:07:57 +030043void interaction(int duration, int num_args, int opt_list[]);
dianlujitao1f5b9872019-02-19 18:06:41 +080044int interaction_with_handle(int lock_handle, int duration, int num_args, int opt_list[]);
Ananth Raghavan Subramanian0c226b72017-06-27 21:28:43 -070045int perf_hint_enable(int hint_id, int duration);
BeYkeRYktbd52e812018-12-13 06:42:35 +090046int perf_hint_enable_with_type(int hint_id, int duration, int type);
Wei Wang5584ebb2016-06-07 18:44:31 -070047
48long long calc_timespan_us(struct timespec start, struct timespec end);
Zhao Wei Liew6fe52522016-07-19 19:57:06 +080049int get_soc_id(void);