mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 17:25:35 +03:00
Introduce DEVFREQ_GOV_POD_SCALING_V2 for podgov governor implementation on kernel-5.9 and later version to address major changes in upstream devfreq framework. 1. devfreq framework uses devm_pm_qos to store "min/max frequency request from user-space", which caused 'min_freq' & 'max_freq' field in struct devfreq have been removed. 2. DEVFREQ_GOV_INTERVAL renamed as DEVFREQ_GOV_UPDATE_INTERVAL, and devfreq_interval_update() renamed as devfreq_update_interval() 3. return type of debugfs_create_u32() changed to void Bug 200639056 Change-Id: I673ae3ac6b55b26766253ae0f1aeba181e2e0b53 Signed-off-by: Aaron Tian <atian@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2400108 Reviewed-by: automaticguardword <automaticguardword@nvidia.com> Reviewed-by: Bitan Biswas <bbiswas@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
49 lines
1.8 KiB
Plaintext
49 lines
1.8 KiB
Plaintext
if PM_DEVFREQ
|
|
|
|
comment "NVIDIA DEVFREQ Governors"
|
|
|
|
config DEVFREQ_GOV_POD_SCALING
|
|
tristate "Power On Demand Scaling"
|
|
help
|
|
Sets the frequency based on two properties:
|
|
(1) The governor receives activity throughput hints that
|
|
indicate whether scaling up or down is required
|
|
(2) the load of the devices is estimated using busy times
|
|
from device profile to determine if the frequency should
|
|
be altered.
|
|
|
|
config DEVFREQ_GOV_POD_SCALING_V2
|
|
tristate "Power On Demand Scaling v2"
|
|
help
|
|
Sets the frequency based on two properties:
|
|
(1) The governor receives activity throughput hints that
|
|
indicate whether scaling up or down is required
|
|
(2) the load of the devices is estimated using busy times
|
|
from device profile to determine if the frequency should
|
|
be altered.
|
|
Used with kernel-5.9 and later version
|
|
|
|
config DEVFREQ_GOV_POD_SCALING_HISTORY_BUFFER_SIZE_MAX
|
|
int
|
|
default 100
|
|
|
|
config DEVFREQ_GOV_WMARK_SIMPLE
|
|
tristate "Simple Watermark"
|
|
help
|
|
Sets the frequency based on monitor watermark events.
|
|
This governor returns the next frequency from frequency table
|
|
based on type watermark event.
|
|
|
|
config DEVFREQ_GOV_WMARK_ACTIVE
|
|
tristate "Active Watermark"
|
|
help
|
|
Sets the frequency based on monitor watermark events.
|
|
This governor calculates relation between current load and
|
|
target load. The next frequency is calculated by multiplying
|
|
this relation with the current frequency.
|
|
|
|
The watermark values are updated so that the watermarks are
|
|
triggered when the above algorithm would change the frequency.
|
|
|
|
endif # PM_DEVFREQ
|