/* * Copyright (C) 2018 Fuzhou Rockchip Electronics Co.Ltd. * * Modification based on code covered by the Apache License, Version 2.0 (the "License"). * You may not use this software except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS TO YOU ON AN "AS IS" BASIS * AND ANY AND ALL WARRANTIES AND REPRESENTATIONS WITH RESPECT TO SUCH SOFTWARE, WHETHER EXPRESS, * IMPLIED, STATUTORY OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF TITLE, * NON-INFRINGEMENT, MERCHANTABILITY, SATISFACTROY QUALITY, ACCURACY OR FITNESS FOR A PARTICULAR * PURPOSE 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. * * 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. */ #ifndef _HWC_UTIL_ #define _HWC_UTIL_ #include #define CPU_CLUST0_GOV_PATH "/sys/devices/system/cpu/cpufreq/policy0/scaling_governor" #define CPU_CLUST1_GOV_PATH "/sys/devices/system/cpu/cpufreq/policy4/scaling_governor" //or /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq #define CPU0_SCALING_MIN_FREQ "/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq" //or /sys/devices/system/cpu/cpufreq/policy4/scaling_min_freq #define CPU4_SCALING_MIN_FREQ "/sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq" #define RK3126C_GPU_GOV_PATH "/sys/devices/platform/10091000.gpu/devfreq/10091000.gpu/governor" #define RK3326_GPU_GOV_PATH "/sys/devices/platform/ff400000.gpu/devfreq/ff400000.gpu/governor" #define RK3368_GPU_GOV_PATH "/sys/devices/platform/ffa30000.rogue-g6110/devfreq/ffa30000.rogue-g6110/governor" #define RK3399_GPU_GOV_PATH "/sys/devices/platform/ff9a0000.gpu/devfreq/ff9a0000.gpu/governor" #define RK3288_GPU_GOV_PATH "/sys/devices/platform/ffa30000.gpu/devfreq/ffa30000.gpu/governor" #define RK3328_GPU_GOV_PATH "/sys/devices/platform/ff300000.gpu/devfreq/ff300000.gpu/governor" #ifdef TARGET_BOARD_PLATFORM_RK3399 #define GPU_GOV_PATH RK3399_GPU_GOV_PATH #elif (defined TARGET_BOARD_PLATFORM_RK3368) #define GPU_GOV_PATH RK3368_GPU_GOV_PATH #elif (defined TARGET_BOARD_PLATFORM_RK3288) #define GPU_GOV_PATH RK3288_GPU_GOV_PATH #elif (defined TARGET_BOARD_PLATFORM_RK3328) #define GPU_GOV_PATH RK3328_GPU_GOV_PATH #elif (defined TARGET_BOARD_PLATFORM_RK3126C) #define GPU_GOV_PATH RK3126C_GPU_GOV_PATH #elif (defined TARGET_BOARD_PLATFORM_RK3326) #define GPU_GOV_PATH RK3326_GPU_GOV_PATH #else #define GPU_GOV_PATH "" #endif #if RK_CTS_WORKROUND #define RK_CTS_DEBUG (0) #define VIEW_CTS_FILE "/metadata/view_cts.ini" #define AUTO_FILL_PROG_NAME "android.autofillservice.cts" #define VIEW_CTS_PROG_NAME "android.view.cts" #define VIEW_CTS_HINT "view_cts" #define BIG_SCALE_HINT "big_scale" #define IS_AUTO_FILL "is_auto_fill" typedef unsigned int u32; typedef enum { IMG_STRING_TYPE = 1, /*!< String type */ IMG_FLOAT_TYPE , /*!< Float type */ IMG_UINT_TYPE , /*!< Unsigned Int type */ IMG_INT_TYPE , /*!< (Signed) Int type */ IMG_FLAG_TYPE /*!< Flag Type */ }IMG_DATA_TYPE; #endif #define hwcMIN(x, y) (((x) <= (y)) ? (x) : (y)) #define hwcMAX(x, y) (((x) >= (y)) ? (x) : (y)) #define IS_ALIGN(val,align) (((val)&(align-1))==0) #ifndef ALIGN #define ALIGN( value, base ) (((value) + ((base) - 1)) & ~((base) - 1)) #endif #define ALIGN_DOWN( value, base) (value & (~(base-1)) ) int hwc_get_int_property(const char* pcProperty,const char* default_value); int hwc_get_string_property(const char* pcProperty,const char* default_value,char* retult); #endif // _HWC_UTIL_