| 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. |