kernel-brax3-ubuntu-touch/drivers/misc/mediatek/sched/Kconfig
erascape f319b992b1 kernel-5.15: Initial import brax3 UT kernel
* halium configs enabled

Signed-off-by: erascape <erascape@proton.me>
2025-09-23 15:17:10 +00:00

126 lines
4.2 KiB
Text

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.