msm: kgsl: Explicitly set ISENSE clock rate for A540.
On A540 ISENSE clock rate is controlled by GPU driver. CRs-Fixed: 973565 Change-Id: Iab40cff01b6e65db51a4b793572714d2059a78ad Signed-off-by: Oleg Perelet <operelet@codeaurora.org>
This commit is contained in:
parent
7ea155dd2d
commit
8972d5e96e
2 changed files with 9 additions and 0 deletions
|
@ -1685,6 +1685,7 @@ static int _get_clocks(struct kgsl_device *device)
|
||||||
const char *name;
|
const char *name;
|
||||||
struct property *prop;
|
struct property *prop;
|
||||||
|
|
||||||
|
pwr->isense_clk_indx = 0;
|
||||||
of_property_for_each_string(dev->of_node, "clock-names", prop, name) {
|
of_property_for_each_string(dev->of_node, "clock-names", prop, name) {
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
@ -1703,6 +1704,8 @@ static int _get_clocks(struct kgsl_device *device)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!strcmp(name, "isense_clk"))
|
||||||
|
pwr->isense_clk_indx = i;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1785,6 +1788,10 @@ int kgsl_pwrctrl_init(struct kgsl_device *device)
|
||||||
clk_set_rate(pwr->grp_clks[6],
|
clk_set_rate(pwr->grp_clks[6],
|
||||||
clk_round_rate(pwr->grp_clks[6], KGSL_RBBMTIMER_CLK_FREQ));
|
clk_round_rate(pwr->grp_clks[6], KGSL_RBBMTIMER_CLK_FREQ));
|
||||||
|
|
||||||
|
if (pwr->isense_clk_indx)
|
||||||
|
clk_set_rate(pwr->grp_clks[pwr->isense_clk_indx],
|
||||||
|
KGSL_ISENSE_CLK_FREQ);
|
||||||
|
|
||||||
result = get_regulators(device);
|
result = get_regulators(device);
|
||||||
if (result)
|
if (result)
|
||||||
return result;
|
return result;
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
#define KGSL_CONSTRAINT_PWR_MAXLEVELS 2
|
#define KGSL_CONSTRAINT_PWR_MAXLEVELS 2
|
||||||
|
|
||||||
#define KGSL_RBBMTIMER_CLK_FREQ 19200000
|
#define KGSL_RBBMTIMER_CLK_FREQ 19200000
|
||||||
|
#define KGSL_ISENSE_CLK_FREQ 200000000
|
||||||
|
|
||||||
/* Symbolic table for the constraint type */
|
/* Symbolic table for the constraint type */
|
||||||
#define KGSL_CONSTRAINT_TYPES \
|
#define KGSL_CONSTRAINT_TYPES \
|
||||||
|
@ -162,6 +163,7 @@ struct kgsl_pwrctrl {
|
||||||
struct clk *grp_clks[KGSL_MAX_CLKS];
|
struct clk *grp_clks[KGSL_MAX_CLKS];
|
||||||
struct clk *dummy_mx_clk;
|
struct clk *dummy_mx_clk;
|
||||||
struct clk *gpu_bimc_int_clk;
|
struct clk *gpu_bimc_int_clk;
|
||||||
|
int isense_clk_indx;
|
||||||
unsigned long power_flags;
|
unsigned long power_flags;
|
||||||
unsigned long ctrl_flags;
|
unsigned long ctrl_flags;
|
||||||
struct kgsl_pwrlevel pwrlevels[KGSL_MAX_PWRLEVELS];
|
struct kgsl_pwrlevel pwrlevels[KGSL_MAX_PWRLEVELS];
|
||||||
|
|
Loading…
Add table
Reference in a new issue