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

Commit 06b4461a authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: kgsl: Fix a dead loop issue while changing gpu frequency"

parents 708a614b 997a8de4
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -530,7 +530,8 @@ int kgsl_devfreq_target(struct device *dev, unsigned long *freq, u32 flags)
	struct kgsl_device *device = dev_get_drvdata(dev);
	struct kgsl_pwrctrl *pwr;
	struct kgsl_pwrlevel *pwr_level;
	int level, i;
	int level;
	unsigned int i;
	unsigned long cur_freq, rec_freq;
	struct dev_pm_opp *opp;

@@ -574,7 +575,12 @@ int kgsl_devfreq_target(struct device *dev, unsigned long *freq, u32 flags)
	/* If the governor recommends a new frequency, update it here */
	if (rec_freq != cur_freq) {
		level = pwr->max_pwrlevel;
		for (i = pwr->min_pwrlevel; i >= pwr->max_pwrlevel; i--)
		/*
		 * Array index of pwrlevels[] should be within the permitted
		 * power levels, i.e., from max_pwrlevel to min_pwrlevel.
		 */
		for (i = pwr->min_pwrlevel; (i >= pwr->max_pwrlevel
					  && i <= pwr->min_pwrlevel); i--)
			if (rec_freq <= pwr->pwrlevels[i].gpu_freq) {
				if (pwr->thermal_cycle == CYCLE_ACTIVE)
					level = _thermal_adjust(pwr, i);