Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 412c7fb6 authored by Vladimir Razgulin's avatar Vladimir Razgulin
Browse files

msm: kgsl: Split BMC code to a separate devfreq governor



The existing devfreq governor_msm_adreno_tz supports both GPU DCVS and BMC
(Bus Modification Calculation) at the same time. This change splits BMC
code into a new governor_gpubw_mon.

Change-Id: Ie7162985e994aa5bed0fb41eb2741a811cf8bd56
Signed-off-by: default avatarVladimir Razgulin <vrazguli@codeaurora.org>
parent 286b0d28
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
Adreno bus monitor device

kgsl-busmon is a psedo device that represents a devfreq bus bandwidth
governor. If this device is present then two different governors are used
for  GPU DCVS and bus DCVS.

Required properties:
- compatible:	Must be "qcom,kgsl-busmon"
- label:	Device name used for sysfs entry.

Example:

	qcom,kgsl-busmon {
		compatible = "qcom,kgsl-busmon";
		label = "kgsl-busmon";
	};
+5 −0
Original line number Diff line number Diff line
@@ -11,6 +11,11 @@
 */

&soc {
	msm_bus: qcom,kgsl-busmon{
		label = "kgsl-busmon";
		compatible = "qcom,kgsl-busmon";
	};

	msm_gpu: qcom,kgsl-3d0@fdb00000 {
		label = "kgsl-3d0";
		compatible = "qcom,kgsl-3d0", "qcom,kgsl-3d";
+5 −0
Original line number Diff line number Diff line
@@ -11,6 +11,11 @@
 */

&soc {
	msm_bus: qcom,kgsl-busmon{
		label = "kgsl-busmon";
		compatible = "qcom,kgsl-busmon";
	};

	msm_gpu: qcom,kgsl-3d0@fdb00000 {
		label = "kgsl-3d0";
		compatible = "qcom,kgsl-3d0", "qcom,kgsl-3d";
+9 −0
Original line number Diff line number Diff line
@@ -97,6 +97,15 @@ config ARMBW_HWMON
	  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 DEVFREQ_GOV_MSM_GPUBW_MON
	tristate "GPU BW voting governor"
	depends on DEVFREQ_GOV_MSM_ADRENO_TZ
	help
	  MSM GPU governor for GPU bus bandwidth voting.
	  This governor works together with MSM Adreno Trustzone governor,
	  and select bus frequency votes using an "on-demand" alorithm..
	  This governor is unlikely to be useful for non-MSM devices.

config DEVFREQ_GOV_MSM_BW_HWMON
	tristate "HW monitor based governor for device BW"
	depends on ARCH_MSM_KRAIT || ARCH_MSM_BIMC_BWMON
+2 −0
Original line number Diff line number Diff line
obj-$(CONFIG_PM_DEVFREQ)	+= devfreq.o
obj-$(CONFIG_PM_DEVFREQ)	+= devfreq_trace.o
obj-$(CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND)	+= governor_simpleondemand.o
obj-$(CONFIG_DEVFREQ_GOV_PERFORMANCE)	+= governor_performance.o
obj-$(CONFIG_DEVFREQ_GOV_POWERSAVE)	+= governor_powersave.o
@@ -11,6 +12,7 @@ obj-$(CONFIG_MSM_BIMC_BWMON) += bimc-bwmon.o
obj-$(CONFIG_ARMBW_HWMON)		+= armbw-pm.o
obj-$(CONFIG_DEVFREQ_GOV_MSM_BW_HWMON)	+= governor_bw_hwmon.o
obj-$(CONFIG_DEVFREQ_GOV_MSM_CACHE_HWMON)	+= governor_cache_hwmon.o
obj-$(CONFIG_DEVFREQ_GOV_MSM_GPUBW_MON)	+= governor_gpubw_mon.o

# DEVFREQ Drivers
obj-$(CONFIG_ARM_EXYNOS4_BUS_DEVFREQ)	+= exynos4_bus.o
Loading