mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-26 20:20:53 +07:00
f262f28c14
This patch adds a new class in devfreq, devfreq_event, which provides raw data (e.g., memory bus utilization, GPU utilization) for devfreq governors. - devfreq_event device : Provides raw data for a governor of a devfreq device - devfreq device : Monitors device state and changes frequency/voltage of the device using the raw data from its devfreq_event device. A devfreq device dertermines performance states (normally the frequency and the voltage vlues) based on the results its designtated devfreq governor: e.g., ondemand, performance, powersave. In order to give such results required by a devfreq device, the devfreq governor requires data that indicates the performance requirement given to the devfreq device. The conventional (previous) implementatino of devfreq subsystem requires a devfreq device driver to implement its own mechanism to acquire performance requirement for its governor. However, there had been issues with such requirements: 1. Although performance requirement of such devices is usually acquired from common devices (PMU/PPMU), we do not have any abstract structure to represent them properly. 2. Such performance requirement devices (PMU/PPMU) are actual hardware pieces that may be represented by Device Tree directly while devfreq device itself is a virtual entity that are not considered to be represented by Device Tree according to Device Tree folks. In order to address such issues, a devferq_event device (represented by this patch) provides a template for device drivers representing performance monitoring unit, which gives the basic or raw data for preformance requirement, which in turn, is required by devfreq governors. The following description explains the feature of two kind of devfreq class: - devfreq class (existing) : devfreq consumer device use raw data from devfreq_event device for determining proper current system state and change voltage/frequency dynamically using various governors. - devfreq_event class (new) : Provide measured raw data to devfreq device for governor Cc: MyungJoo Ham <myungjoo.ham@samsung.com> Cc: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> [Commit message rewritten & conflict resolved by MyungJoo] Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
26 lines
922 B
Plaintext
26 lines
922 B
Plaintext
menuconfig PM_DEVFREQ_EVENT
|
|
bool "DEVFREQ-Event device Support"
|
|
help
|
|
The devfreq-event device provide the raw data and events which
|
|
indicate the current state of devfreq-event device. The provided
|
|
data from devfreq-event device is used to monitor the state of
|
|
device and determine the suitable size of resource to reduce the
|
|
wasted resource.
|
|
|
|
The devfreq-event device can support the various type of events
|
|
(e.g., raw data, utilization, latency, bandwidth). The events
|
|
may be used by devfreq governor and other subsystem.
|
|
|
|
if PM_DEVFREQ_EVENT
|
|
|
|
config DEVFREQ_EVENT_EXYNOS_PPMU
|
|
bool "EXYNOS PPMU (Platform Performance Monitoring Unit) DEVFREQ event Driver"
|
|
depends on ARCH_EXYNOS
|
|
select PM_OPP
|
|
help
|
|
This add the devfreq-event driver for Exynos SoC. It provides PPMU
|
|
(Platform Performance Monitoring Unit) counters to estimate the
|
|
utilization of each module.
|
|
|
|
endif # PM_DEVFREQ_EVENT
|