From 3418950884f805157df80a3c132a7787095ff43f Mon Sep 17 00:00:00 2001 From: therootlord Date: Thu, 29 Nov 2018 16:49:35 -0200 Subject: [PATCH] sanders: initial changes for caf bringup --- BoardConfig.mk | 3 - device.mk | 4 +- libhidl/Android.mk | 30 ----- libshims/Android.mk | 2 +- thermal-engine/Android.mk | 9 -- thermal-engine/thermal_client.h | 94 ---------------- thermal/Android.mk | 30 ----- thermal/thermal-8953.c | 193 -------------------------------- thermal/thermal.c | 187 ------------------------------- 9 files changed, 4 insertions(+), 548 deletions(-) delete mode 100644 libhidl/Android.mk delete mode 100644 thermal-engine/Android.mk delete mode 100644 thermal-engine/thermal_client.h delete mode 100644 thermal/Android.mk delete mode 100644 thermal/thermal-8953.c delete mode 100644 thermal/thermal.c diff --git a/BoardConfig.mk b/BoardConfig.mk index 448857d..86592f6 100644 --- a/BoardConfig.mk +++ b/BoardConfig.mk @@ -217,9 +217,6 @@ TARGET_RELEASETOOLS_EXTENSIONS := $(DEVICE_PATH)/releasetools include device/qcom/sepolicy/sepolicy.mk BOARD_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/vendor -# Thermal -USE_DEVICE_SPECIFIC_THERMAL := true - # Treble BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true BOARD_VENDORIMAGE_PARTITION_SIZE := 805306368 diff --git a/device.mk b/device.mk index 0bf3c6a..e93b6c5 100644 --- a/device.mk +++ b/device.mk @@ -212,7 +212,9 @@ PRODUCT_PACKAGES += \ telephony-ext PRODUCT_BOOT_JARS += \ - telephony-ext + telephony-ext \ + QPerformance \ + UxPerformance # IMS PRODUCT_PACKAGES += \ diff --git a/libhidl/Android.mk b/libhidl/Android.mk deleted file mode 100644 index 1c521e1..0000000 --- a/libhidl/Android.mk +++ /dev/null @@ -1,30 +0,0 @@ -# -# Copyright (C) 2017 The LineageOS Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -include $(CLEAR_VARS) -LOCAL_SHARED_LIBRARIES := libhidltransport -LOCAL_MODULE := android.hidl.base@1.0 -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := SHARED_LIBRARIES -LOCAL_VENDOR_MODULE := true -include $(BUILD_SHARED_LIBRARY) - -include $(CLEAR_VARS) -LOCAL_SHARED_LIBRARIES := libhidltransport -LOCAL_MODULE := android.hidl.manager@1.0 -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := SHARED_LIBRARIES -LOCAL_VENDOR_MODULE := true -include $(BUILD_SHARED_LIBRARY) diff --git a/libshims/Android.mk b/libshims/Android.mk index c7968a4..86d08b3 100644 --- a/libshims/Android.mk +++ b/libshims/Android.mk @@ -17,7 +17,7 @@ LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_SRC_FILES := libqsap_shim.c LOCAL_SHARED_LIBRARIES := libqsap_sdk liblog libcutils libutils -LOCAL_C_INCLUDES := $(TOP)/system/qcom/softap/sdk +LOCAL_C_INCLUDES := $(TOP)/vendor/qcom/opensource/softap/softap/sdk LOCAL_MODULE := libqsap_shim LOCAL_MODULE_TAGS := optional LOCAL_PROPRIETARY_MODULE := true diff --git a/thermal-engine/Android.mk b/thermal-engine/Android.mk deleted file mode 100644 index bcb5423..0000000 --- a/thermal-engine/Android.mk +++ /dev/null @@ -1,9 +0,0 @@ -LOCAL_PATH:= $(call my-dir) - -include $(CLEAR_VARS) - -LOCAL_MODULE:=thermal-engine - -LOCAL_EXPORT_C_INCLUDE_DIRS:=$(LOCAL_PATH) - -include $(BUILD_HEADER_LIBRARY) diff --git a/thermal-engine/thermal_client.h b/thermal-engine/thermal_client.h deleted file mode 100644 index b41f139..0000000 --- a/thermal-engine/thermal_client.h +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright (c) 2016, The Linux Foundation. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of The Linux Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE - * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN - * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include -#ifndef __THERMAL_CLIENT_H__ -#define __THERMAL_CLIENT_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -#define MAX_ACTIONS (32) - -/* Enum for supported fields */ -enum supported_fields { - UNKNOWN_FIELD = 0x0, - DISABLE_FIELD = 0x1, - SAMPLING_FIELD = 0x2, - THRESHOLDS_FIELD = 0x4, - SET_POINT_FIELD = THRESHOLDS_FIELD, - THRESHOLDS_CLR_FIELD = 0x8, - SET_POINT_CLR_FIELD = THRESHOLDS_CLR_FIELD, - ACTION_INFO_FIELD = 0x10, - SUPPORTED_FIELD_MAX = 0x20, -}; - -enum field_data_type { - FIELD_INT = 0, - FIELD_STR, - FIELD_INT_ARR, - FIELD_ARR_STR, - FIELD_ARR_INT_ARR, - FIELD_MAX -}; - -struct action_info_data { - int info[MAX_ACTIONS]; - uint32_t num_actions; -}; - -struct field_data { - char *field_name; - enum field_data_type data_type; - uint32_t num_data; - void *data; -}; - -struct config_instance { - char *cfg_desc; - char *algo_type; - unsigned int fields_mask; /* mask set by client to request to adjust supported fields */ - uint32_t num_fields; - struct field_data *fields; -}; - -int thermal_client_config_query(char *algo_type, struct config_instance **configs); -void thermal_client_config_cleanup(struct config_instance *configs, unsigned int config_size); -int thermal_client_config_set(struct config_instance *configs, unsigned int config_size); - -int thermal_client_register_callback(char *client_name, int (*callback)(int , void *, void *), void *data); -int thermal_client_request(char *client_name, int req_data); -void thermal_client_unregister_callback(int client_cb_handle); - -#ifdef __cplusplus -} -#endif - -#endif /* __THERMAL_CLIENT_H__ */ diff --git a/thermal/Android.mk b/thermal/Android.mk deleted file mode 100644 index c8f3798..0000000 --- a/thermal/Android.mk +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright (C) 2015 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -LOCAL_PATH := $(call my-dir) - -include $(CLEAR_VARS) - -LOCAL_MODULE := thermal.$(TARGET_BOARD_PLATFORM) -LOCAL_MODULE_RELATIVE_PATH := hw -LOCAL_PROPRIETARY_MODULE := true - -LOCAL_SRC_FILES := thermal.c -LOCAL_SRC_FILES += thermal-8953.c - -LOCAL_SHARED_LIBRARIES := liblog libcutils -LOCAL_MODULE_TAGS := optional -LOCAL_CFLAGS := -Wno-unused-parameter - -include $(BUILD_SHARED_LIBRARY) diff --git a/thermal/thermal-8953.c b/thermal/thermal-8953.c deleted file mode 100644 index a43159b..0000000 --- a/thermal/thermal-8953.c +++ /dev/null @@ -1,193 +0,0 @@ -/* - * Copyright (c) 2017, The Linux Foundation. All rights reserved. - * Not a contribution - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include -#include -#include - -#define LOG_TAG "ThermalHAL-8998" -#include - -#include -#include - -#define MAX_LENGTH 50 - -#define TEMPERATURE_FILE_FORMAT "/sys/class/thermal/thermal_zone%d/temp" - -#define BATTERY_SENSOR_NUM 0 -#define GPU_SENSOR_NUM 17 -#define SKIN_SENSOR_NUM 5 - -const int CPU_SENSORS[] = {8, 9, 10, 11, 12, 13, 14,15}; - -#define CPU_NUM (sizeof(CPU_SENSORS) / sizeof(int)) -// Sum of CPU_NUM + 3 for GPU, BATTERY, and SKIN. -#define TEMPERATURE_NUM (CPU_NUM + 3) - -//therm-reset-temp -#define CPU_SHUTDOWN_THRESHOLD 115 -//limit-temp -#define CPU_THROTTLING_THRESHOLD 60 -#define BATTERY_SHUTDOWN_THRESHOLD 60 -//must match thermal-engine.conf -#define SKIN_THROTTLING_THRESHOLD 44 -#define SKIN_SHUTDOWN_THRESHOLD 70 -#define VR_THROTTLED_BELOW_MIN 58 - -#define GPU_LABEL "GPU" -#define BATTERY_LABEL "battery" -#define SKIN_LABEL "skin" - -const char *CPU_LABEL[] = {"CPU0", "CPU1", "CPU2", "CPU3", "CPU4", "CPU5", "CPU6", "CPU7"}; - -const char *get_cpu_label(unsigned int cpu_num) { - - if(cpu_num >= CPU_NUM) - return NULL; - - return CPU_LABEL[cpu_num]; -} - -size_t get_num_cpus() { - return CPU_NUM; -} - -/** - * Reads device temperature. - * - * @param sensor_num Number of sensor file with temperature. - * @param type Device temperature type. - * @param name Device temperature name. - * @param mult Multiplier used to translate temperature to Celsius. - * @param throttling_threshold Throttling threshold for the temperature. - * @param shutdown_threshold Shutdown threshold for the temperature. - * @param out Pointer to temperature_t structure that will be filled with current - * values. - * - * @return 0 on success or negative value -errno on error. - */ -static ssize_t read_temperature(int sensor_num, int type, const char *name, float mult, - float throttling_threshold, float shutdown_threshold, float vr_throttling_threshold, - temperature_t *out) -{ - ALOGD("Entering %s",__func__); - FILE *file; - char file_name[MAX_LENGTH]; - float temp; - - snprintf(file_name, sizeof(file_name), TEMPERATURE_FILE_FORMAT, sensor_num); - file = fopen(file_name, "r"); - if (file == NULL) { - ALOGE("%s: failed to open: %s", __func__, strerror(errno)); - return -errno; - } - if (1 != fscanf(file, "%f", &temp)) { - fclose(file); - ALOGE("%s: failed to read a float: %s", __func__, strerror(errno)); - return errno ? -errno : -EIO; - } - - fclose(file); - - (*out) = (temperature_t) { - .type = type, - .name = name, - .current_value = temp * mult, - .throttling_threshold = throttling_threshold, - .shutdown_threshold = shutdown_threshold, - .vr_throttling_threshold = vr_throttling_threshold - }; - - return 0; -} - -static ssize_t get_cpu_temperatures(temperature_t *list, size_t size) -{ - ALOGD("Entering %s",__func__); - size_t cpu; - for (cpu = 0; cpu < CPU_NUM; cpu++) { - if (cpu >= size) { - break; - } - // tsens_tz_sensor[4,6,9,11]: temperature in decidegrees Celsius. - ssize_t result = read_temperature(CPU_SENSORS[cpu], DEVICE_TEMPERATURE_CPU, CPU_LABEL[cpu], - 0.1, CPU_THROTTLING_THRESHOLD, CPU_SHUTDOWN_THRESHOLD, UNKNOWN_TEMPERATURE, - &list[cpu]); - if (result != 0) { - return result; - } - } - - return cpu; -} - -ssize_t get_temperatures(thermal_module_t *module, temperature_t *list, size_t size) { - ALOGD("Entering %s",__func__); - ssize_t result = 0; - size_t current_index = 0; - - if (list == NULL) { - return TEMPERATURE_NUM; - } - - result = get_cpu_temperatures(list, size); - if (result < 0) { - return result; - } - current_index += result; - - // GPU temperature. - if (current_index < size) { - // tsens_tz_sensor14: temperature in decidegrees Celsius. - result = read_temperature(GPU_SENSOR_NUM, DEVICE_TEMPERATURE_GPU, GPU_LABEL, 0.1, - UNKNOWN_TEMPERATURE, UNKNOWN_TEMPERATURE, UNKNOWN_TEMPERATURE, - &list[current_index]); - if (result < 0) { - return result; - } - current_index++; - } - - // Battery temperature. - if (current_index < size) { - // tsens_tz_sensor29: battery: temperature in millidegrees Celsius. - result = read_temperature(BATTERY_SENSOR_NUM, DEVICE_TEMPERATURE_BATTERY, BATTERY_LABEL, - 0.001, UNKNOWN_TEMPERATURE, BATTERY_SHUTDOWN_THRESHOLD, UNKNOWN_TEMPERATURE, - &list[current_index]); - if (result < 0) { - return result; - } - current_index++; - } - - // Skin temperature. - if (current_index < size) { - // tsens_tz_sensor24: temperature in Celsius. - result = read_temperature(SKIN_SENSOR_NUM, DEVICE_TEMPERATURE_SKIN, SKIN_LABEL, 1., - SKIN_THROTTLING_THRESHOLD, SKIN_SHUTDOWN_THRESHOLD, VR_THROTTLED_BELOW_MIN, - &list[current_index]); - if (result < 0) { - return result; - } - current_index++; - } - return TEMPERATURE_NUM; -} diff --git a/thermal/thermal.c b/thermal/thermal.c deleted file mode 100644 index 684c52f..0000000 --- a/thermal/thermal.c +++ /dev/null @@ -1,187 +0,0 @@ -/* - * Copyright (c) 2017, The Linux Foundation. All rights reserved. - * Not a contribution - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include -#include -#include - -#define LOG_TAG "ThermalHAL" -#include - -#include -#include - -#define MAX_LENGTH 50 - -#define CPU_USAGE_FILE "/proc/stat" -#define CPU_ONLINE_FILE_FORMAT "/sys/devices/system/cpu/cpu%d/online" -#define CPU_PRESENT_FILE "/sys/devices/system/cpu/present" - -const char * __attribute__ ((weak)) get_cpu_label(unsigned int cpu_num) { - ALOGD("Entering %s",__func__); - static const char * cpu_label = "cpu"; - return cpu_label; -} - -size_t __attribute__ ((weak)) get_num_cpus() { - ALOGD("Entering %s",__func__); - FILE *file; - char *line = NULL; - size_t len = 0; - static size_t cpus = 0; - ssize_t read; - - if(cpus) return cpus; - - file = fopen(CPU_PRESENT_FILE, "r"); - if (file == NULL) { - ALOGE("%s: failed to open: %s", __func__, strerror(errno)); - return 0; - } - - if ((read = getline(&line, &len, file)) != -1) { - if (strnlen(line, read) < 3 || strncmp(line, "0-", 2) != 0 || !isdigit(line[2])) - ALOGE("%s: Incorrect cpu present file format", __func__); - else - cpus = atoi(&line[2]) + 1; - - free(line); - } - else - ALOGE("%s: failed to read cpu present file: %s", __func__, strerror(errno)); - - fclose(file); - return cpus; -} - -ssize_t __attribute__ ((weak)) get_temperatures(thermal_module_t *module, temperature_t *list, size_t size) { - ALOGD("Entering %s",__func__); - return 0; -} - -static ssize_t get_cpu_usages(thermal_module_t *module, cpu_usage_t *list) { - ALOGD("Entering %s",__func__); - int vals, cpu_num, online; - ssize_t read; - uint64_t user, nice, system, idle, active, total; - char *line = NULL; - size_t len = 0; - size_t size = 0; - size_t cpus = 0; - char file_name[MAX_LENGTH]; - FILE *file; - FILE *cpu_file; - - cpus = get_num_cpus(); - if (!cpus) - return errno ? -errno : -EIO; - - if (list == NULL) - return cpus; - - file = fopen(CPU_USAGE_FILE, "r"); - if (file == NULL) { - ALOGE("%s: failed to open: %s", __func__, strerror(errno)); - return -errno; - } - - while ((read = getline(&line, &len, file)) != -1) { - if (strnlen(line, read) < 4 || strncmp(line, "cpu", 3) != 0 || !isdigit(line[3])) { - free(line); - line = NULL; - len = 0; - continue; - } - - vals = sscanf(line, "cpu%d %" SCNu64 " %" SCNu64 " %" SCNu64 " %" SCNu64, &cpu_num, &user, - &nice, &system, &idle); - - free(line); - line = NULL; - len = 0; - - if (vals != 5 || size == cpus) { - if (vals != 5) { - ALOGE("%s: failed to read CPU information from file: %s", __func__, - strerror(errno)); - } else { - ALOGE("/proc/stat file has incorrect format."); - } - fclose(file); - return errno ? -errno : -EIO; - } - - active = user + nice + system; - total = active + idle; - - // Read online CPU information. - snprintf(file_name, MAX_LENGTH, CPU_ONLINE_FILE_FORMAT, cpu_num); - cpu_file = fopen(file_name, "r"); - online = 0; - if (cpu_file == NULL) { - ALOGE("%s: failed to open file: %s (%s)", __func__, file_name, strerror(errno)); - fclose(file); - return -errno; - } - if (1 != fscanf(cpu_file, "%d", &online)) { - ALOGE("%s: failed to read CPU online information from file: %s (%s)", __func__, - file_name, strerror(errno)); - fclose(file); - fclose(cpu_file); - return errno ? -errno : -EIO; - } - fclose(cpu_file); - - list[size] = (cpu_usage_t) { - .name = get_cpu_label(size), - .active = active, - .total = total, - .is_online = online - }; - - size++; - } - fclose(file); - - if (size != cpus) { - ALOGE("/proc/stat file has incorrect format."); - return -EIO; - } - - return cpus; -} - -static struct hw_module_methods_t thermal_module_methods = { - .open = NULL, -}; - -thermal_module_t HAL_MODULE_INFO_SYM = { - .common = { - .tag = HARDWARE_MODULE_TAG, - .module_api_version = THERMAL_HARDWARE_MODULE_API_VERSION_0_1, - .hal_api_version = HARDWARE_HAL_API_VERSION, - .id = THERMAL_HARDWARE_MODULE_ID, - .name = "Thermal HAL", - .author = "The Android Open Source Project", - .methods = &thermal_module_methods, - }, - .getTemperatures = get_temperatures, - .getCpuUsages = get_cpu_usages, -};