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

Commit 379a7a56 authored by Archana Obannagari's avatar Archana Obannagari
Browse files

msm: kgsl: Add a check for valid frequency of RBBM timer clock



rbbmtimer_clk hardwired fixed XO frequency 19.2Mhz. clock_round_rate()
for RBBM timer clock fails with -EPERM as it is fixed. So added a
check to make sure that rbbmtimer_clk clk_set_rate() has valid
frequency. This avoids warning message in the driver log.

Change-Id: I8f8bcec88e6a39e1550bb67590e6b66dba8e7a27
Signed-off-by: default avatarArchana Obannagari <aobann@codeaurora.org>
parent facc015c
Loading
Loading
Loading
Loading
+6 −7
Original line number Diff line number Diff line
/* Copyright (c) 2010-2017, The Linux Foundation. All rights reserved.
/* Copyright (c) 2010-2018, 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
@@ -2078,7 +2078,7 @@ static int kgsl_pwrctrl_clk_set_rate(struct clk *grp_clk, unsigned int freq,

int kgsl_pwrctrl_init(struct kgsl_device *device)
{
	int i, k, m, n = 0, result;
	int i, k, m, n = 0, result, freq;
	struct platform_device *pdev = device->pdev;
	struct kgsl_pwrctrl *pwr = &device->pwrctrl;
	struct device_node *ocmem_bus_node;
@@ -2142,7 +2142,7 @@ int kgsl_pwrctrl_init(struct kgsl_device *device)
	pwr->wakeup_maxpwrlevel = 0;

	for (i = 0; i < pwr->num_pwrlevels; i++) {
		unsigned int freq = pwr->pwrlevels[i].gpu_freq;
		freq = pwr->pwrlevels[i].gpu_freq;

		if (freq > 0)
			freq = clk_round_rate(pwr->grp_clks[0], freq);
@@ -2153,11 +2153,10 @@ int kgsl_pwrctrl_init(struct kgsl_device *device)
	kgsl_pwrctrl_clk_set_rate(pwr->grp_clks[0],
		pwr->pwrlevels[pwr->num_pwrlevels - 1].gpu_freq, clocks[0]);

	if (pwr->grp_clks[6] != NULL)
	freq = clk_round_rate(pwr->grp_clks[6], KGSL_RBBMTIMER_CLK_FREQ);
	if (freq > 0)
		kgsl_pwrctrl_clk_set_rate(pwr->grp_clks[6],
			clk_round_rate(pwr->grp_clks[6],
			KGSL_RBBMTIMER_CLK_FREQ),
			clocks[6]);
			freq, clocks[6]);

	result = get_regulators(device);
	if (result)