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

Commit f98bf218 authored by Divya Ponnusamy's avatar Divya Ponnusamy
Browse files

msm: kgsl: Add disable-busy-time-burst to disable ceiling threshold



Add a devicetree property disable-busy-time-burst to
disable ceiling threshold in the governor. The ceiling threshold
cause busy time burst that switch power level for
large frames based on busy time.

Change-Id: I44f8a51e0aa49bb0b2210703f57874fd5f219c18
Signed-off-by: default avatarDivya Ponnusamy <pdivya@codeaurora.org>
parent 1c10389d
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -91,6 +91,9 @@ Optional Properties:
			   This is used to override faulty hardware readings.
- qcom,strtstp-sleepwake:  Boolean. Enables use of GPU SLUMBER instead of SLEEP for power savings
- qcom,gx-retention:  	   Boolean. Enables use of GX rail RETENTION voltage
- qcom,disable-busy-time-burst:
				Boolean. Disables the busy time burst to avoid switching
				of power level for large frames based on the busy time limit.

- qcom,pm-qos-active-latency:
				Right after GPU wakes up from sleep, driver votes for
+2 −1
Original line number Diff line number Diff line
@@ -311,7 +311,8 @@ static int tz_get_target_freq(struct devfreq *devfreq, unsigned long *freq,
	 * If there is an extended block of busy processing,
	 * increase frequency.  Otherwise run the normal algorithm.
	 */
	if (priv->bin.busy_time > CEILING) {
	if (!priv->disable_busy_time_burst &&
			priv->bin.busy_time > CEILING) {
		val = -1 * level;
	} else {

+5 −1
Original line number Diff line number Diff line
/* Copyright (c) 2010-2015, The Linux Foundation. All rights reserved.
/* Copyright (c) 2010-2016, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -786,6 +786,10 @@ int kgsl_pwrscale_init(struct device *dev, const char *governor)

	/* initialize msm-adreno-tz governor specific data here */
	data = gpu_profile->private_data;

	data->disable_busy_time_burst = of_property_read_bool(
		device->pdev->dev.of_node, "qcom,disable-busy-time-burst");

	/*
	 * If there is a separate GX power rail, allow
	 * independent modification to its voltage through
+1 −0
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ struct devfreq_msm_adreno_tz_data {
	} bus;
	unsigned int device_id;
	bool is_64;
	bool disable_busy_time_burst;
};

struct msm_adreno_extended_profile {