config MTK_SCHEDULER tristate "mtk scheduler feature" help Choose this option to enable mtk schduler feature. These features include non-linear DVFS control EAS enhancement config MTK_OPP_CAP_INFO bool "Per-opp capacity information" depends on MTK_CPUFREQ_SUGOV_EXT help Choose this option to provide per-opp capacity API. Scheduler module will get per-opp capacity from sram and initialize opp capacity table. This config is used by performance tuning framework and non-linear frequency control. config NONLINEAR_FREQ_CTL bool "Non-linear frequency control" depends on MTK_OPP_CAP_INFO help Choose this option to enable non-linear frequency control. This will change per-opp capacity from linear scaled by freuqency to evaluated by benchmark. This makes capacity more accurate and will let scheduler/schedutil use more suitable frequency. config MTK_EAS bool "MTK EAS enhancement" depends on MTK_SCHEDULER help MTK EAS enhancement features. These featues include 1. load balance in the same frequency domain 2. hint aware in idle balance 3. Notify thermal ceiling to scheduler by reading thermal ceiling in SRAM and updating thermal pressure. config MTK_THERMAL_AWARE_SCHEDULING bool "thermal aware scheduling" depends on MTK_EAS && MTK_THERMAL_INTERFACE help CPU leakage optimization by temperature balance in the same frequency domain. Task placement consider temperature for leakage. Use current Per-core temperature (per-10'c, per-die). Favor tasks to CPU with lowest thermal pressure. config MTK_LEAKAGE_AWARE_TEMP bool "MTK leakage aware temperature" depends on MTK_EAS && MTK_THERMAL_INTERFACE help Compute energy will consider CPU leakage and CPU leakage will aware per-CPU temperature. Favor to put tasks into CPU with lowest temperature and to save power. config MTK_NEWIDLE_BALANCE bool "new idle balance for hint task" depends on MTK_EAS help When a CPU is newly IDLE, pull the runnable task with Latency-sensitive hint in other CPUs to this IDLE CPU. This feature enhances the latency of the task with latency-sensitive hint. config MTK_CORE_PAUSE bool "core pause driver" depends on MTK_SCHEDULER help Choose this option to provide core pause related API. core pause intends to have a way to force a CPU to go idle and to resume as quickly as possible, with as little disruption as possible on the system. config MTK_SCHED_BIG_TASK_ROTATE bool "scheduling big task rotate" depends on MTK_SCHEDULER help Swap two misfit tasks between big cores and little core, equally distributed runtime for each misfit task. It can use for parallel thread at multi-core to reduce execution time. config MTK_CPUFREQ_SUGOV_EXT tristate "mediatek sugov governor" depends on CPU_FREQ && SMP help Choose this option to provide vendor cpufreq governor build by mediatek. This governor support non-linear freq control and vary optimizations. This config should be enable when you want full mtk solution. config MTK_GEARLESS_SUPPORT bool "MTK CPU DVFS Gearless Control" help This config is for the gearless DVFS design to enable continuous scaling. If you are not sure about whether to enable it or not, please set n. config MTK_LEAKAGE_HIT bool "Leakage hit method" depends on MTK_GEARLESS_SUPPORT help This config is for the leakage parameters means leakage parameters are loaded when someone uses, like cache hit or when module initialization. If this config is not setted to y, leakage parameters will be loaded during booting process. config MTK_OPP_MIN bool "mediatek sugov governor" depends on MTK_CPUFREQ_SUGOV_EXT && MTK_THERMAL_INTERFACE help To improve critical task performance under same power budget On-time deliver critical task frequency boost hint to thermal. config MTK_CORE_CTL tristate "MTK Core Control with CPU Isolation" depends on MTK_CORE_PAUSE help This config is for the core control policy with CPU isolation. The core control online and offline CPU cores based on task utilizations from scheduler information automatically. If you are not sure about whether to enable it or not, please set n.