summaryrefslogtreecommitdiff
path: root/drivers/devfreq/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/devfreq/Kconfig')
-rw-r--r--drivers/devfreq/Kconfig148
1 files changed, 148 insertions, 0 deletions
diff --git a/drivers/devfreq/Kconfig b/drivers/devfreq/Kconfig
index 64281bb2f650..459cbaee990f 100644
--- a/drivers/devfreq/Kconfig
+++ b/drivers/devfreq/Kconfig
@@ -64,6 +64,114 @@ config DEVFREQ_GOV_USERSPACE
Otherwise, the governor does not change the frequnecy
given at the initialization.
+config DEVFREQ_GOV_QCOM_ADRENO_TZ
+ tristate "Qualcom Adreno Trustzone"
+ depends on QCOM_KGSL && QCOM_SCM
+ help
+ Trustzone based governor for the Adreno GPU.
+ Sets the frequency using a "on-demand" algorithm.
+ This governor is unlikely to be useful for other devices.
+
+config DEVFREQ_GOV_CPUFREQ
+ tristate "CPUfreq"
+ depends on CPU_FREQ
+ help
+ Chooses frequency based on the online CPUs' current frequency and a
+ CPU frequency to device frequency mapping table(s). This governor
+ can be useful for controlling devices such as DDR, cache, CCI, etc.
+
+config QCOM_BIMC_BWMON
+ tristate "QCOM BIMC Bandwidth monitor hardware"
+ depends on ARCH_QCOM
+ help
+ The BIMC Bandwidth monitor hardware allows for monitoring the
+ traffic coming from each master port connected to the BIMC. It also
+ has the capability to raise an IRQ when the count exceeds a
+ programmable limit.
+
+config DEVFREQ_GOV_QCOM_GPUBW_MON
+ tristate "GPU BW voting governor"
+ depends on DEVFREQ_GOV_QCOM_ADRENO_TZ
+ help
+ QTI GPU governor for GPU bus bandwidth voting.
+ This governor works together with QTI Adreno Trustzone governor,
+ and select bus frequency votes using an "on-demand" alorithm.
+ This governor is unlikely to be useful for non-QTI devices.
+
+config ARMBW_HWMON
+ tristate "ARM PMU Bandwidth monitor hardware"
+ depends on ARCH_QCOM
+ help
+ The PMU present on these ARM cores allow for the use of counters to
+ monitor the traffic coming from each core to the bus. It also has the
+ capability to raise an IRQ when the counter overflows, which can be
+ used to get an IRQ when the count exceeds a certain value
+
+config ARM_MEMLAT_MON
+ tristate "ARM CPU Memory Latency monitor hardware"
+ depends on ARCH_QCOM
+ help
+ The PMU present on these ARM cores allow for the use of counters to
+ monitor the memory latency characteristics of an ARM CPU workload.
+ This driver uses these counters to implement the APIs needed by
+ the mem_latency devfreq governor.
+
+config QCOMCCI_HWMON
+ tristate "QCOM CCI Cache monitor hardware"
+ depends on ARCH_QCOM
+ help
+ QCOM CCI has additional PMU counters that can be used to monitor
+ cache requests. QCOM CCI hardware monitor device configures these
+ registers to monitor cache and inform governor. It can also set an
+ IRQ when count exceeds a programmable limit.
+
+config QCOM_M4M_HWMON
+ tristate "QCOM M4M cache monitor hardware"
+ depends on ARCH_QCOM
+ help
+ QCOM M4M has counters that can be used to monitor requests coming to
+ M4M. QCOM M4M hardware monitor device programs corresponding registers
+ to monitor cache and inform governor. It can also set an IRQ when
+ count exceeds a programmable limit.
+
+config DEVFREQ_GOV_QCOM_BW_HWMON
+ tristate "HW monitor based governor for device BW"
+ depends on QCOM_BIMC_BWMON
+ help
+ HW monitor based governor for device to DDR bandwidth voting.
+ This governor sets the CPU BW vote by using BIMC counters to monitor
+ the CPU's use of DDR. Since this uses target specific counters it
+ can conflict with existing profiling tools. This governor is unlikely
+ to be useful for non-QCOM devices.
+
+config DEVFREQ_GOV_QCOM_CACHE_HWMON
+ tristate "HW monitor based governor for cache frequency"
+ help
+ HW monitor based governor for cache frequency scaling. This
+ governor sets the cache frequency by using PM counters to monitor the
+ CPU's use of cache. Since this governor uses some of the PM counters
+ it can conflict with existing profiling tools. This governor is
+ unlikely to be useful for other devices.
+
+config DEVFREQ_GOV_SPDM_HYP
+ bool "QCOM SPDM Hypervisor Governor"
+ depends on ARCH_QCOM
+ help
+ Hypervisor based governor for CPU bandwidth voting
+ for QCOM chipsets.
+ Sets the frequency using a "on-demand" algorithm.
+ This governor is unlikely to be useful for other devices.
+
+config DEVFREQ_GOV_MEMLAT
+ tristate "HW monitor based governor for device BW"
+ depends on ARM_MEMLAT_MON
+ help
+ HW monitor based governor for device to DDR bandwidth voting.
+ This governor sets the CPU BW vote based on stats obtained from memalat
+ monitor if it determines that a workload is memory latency bound. Since
+ this uses target specific counters it can conflict with existing profiling
+ tools.
+
comment "DEVFREQ Drivers"
config ARM_EXYNOS4_BUS_DEVFREQ
@@ -98,6 +206,46 @@ config ARM_TEGRA_DEVFREQ
It reads ACTMON counters of memory controllers and adjusts the
operating frequencies and voltages with OPP support.
+config DEVFREQ_SIMPLE_DEV
+ tristate "Device driver for simple clock device with no status info"
+ select DEVFREQ_GOV_PERFORMANCE
+ select DEVFREQ_GOV_POWERSAVE
+ select DEVFREQ_GOV_CPUFREQ
+ help
+ Device driver for simple devices that control their frequency using
+ clock APIs and don't have any form of status reporting.
+
+config QCOM_DEVFREQ_DEVBW
+ bool "QCOM DEVFREQ device for device master <-> slave IB/AB BW voting"
+ depends on ARCH_QCOM
+ select DEVFREQ_GOV_PERFORMANCE
+ select DEVFREQ_GOV_POWERSAVE
+ select DEVFREQ_GOV_CPUFREQ
+ default n
+ help
+ Different devfreq governors use this devfreq device to make CPU to
+ DDR IB/AB bandwidth votes. This driver provides a SoC topology
+ agnostic interface to so that some of the devfreq governors can be
+ shared across SoCs.
+
+config SPDM_SCM
+ bool "QCOM SPDM SCM based call support"
+ depends on DEVFREQ_SPDM
+ help
+ SPDM driver support the dcvs algorithm logic being accessed via
+ scm or hvc calls. This adds the support for SPDM interaction to
+ tz via SCM based call. If not selected then Hypervior interaction
+ will be activated.
+
+config DEVFREQ_SPDM
+ bool "QCOM SPDM based bandwidth voting"
+ depends on ARCH_QCOM
+ select DEVFREQ_GOV_SPDM_HYP
+ help
+ This adds the support for SPDM based bandwidth voting on QCOM chipsets.
+ This driver allows any SPDM based client to vote for bandwidth.
+ Used with the QCOM SPDM Hypervisor Governor.
+
source "drivers/devfreq/event/Kconfig"
endif # PM_DEVFREQ