Merge "clk: qcom: osm: Initialize ACD when the cluster is online"
This commit is contained in:
commit
d519bfb9c1
1 changed files with 13 additions and 11 deletions
|
@ -719,9 +719,22 @@ static int clk_osm_set_rate(struct clk_hw *hw, unsigned long rate,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int clk_osm_acd_init(struct clk_osm *c);
|
||||
|
||||
static int clk_osm_enable(struct clk_hw *hw)
|
||||
{
|
||||
struct clk_osm *cpuclk = to_clk_osm(hw);
|
||||
int rc;
|
||||
|
||||
rc = clk_osm_acd_init(cpuclk);
|
||||
if (rc) {
|
||||
pr_err("Failed to initialize ACD for cluster %d, rc=%d\n",
|
||||
cpuclk->cluster_num, rc);
|
||||
return rc;
|
||||
}
|
||||
|
||||
/* Wait for 5 usecs before enabling OSM */
|
||||
udelay(5);
|
||||
|
||||
clk_osm_write_reg(cpuclk, 1, ENABLE_REG);
|
||||
|
||||
|
@ -3272,17 +3285,6 @@ static int clk_cpu_osm_driver_probe(struct platform_device *pdev)
|
|||
clk_osm_setup_cluster_pll(&perfcl_clk);
|
||||
}
|
||||
|
||||
rc = clk_osm_acd_init(&pwrcl_clk);
|
||||
if (rc) {
|
||||
pr_err("failed to initialize ACD for pwrcl, rc=%d\n", rc);
|
||||
return rc;
|
||||
}
|
||||
rc = clk_osm_acd_init(&perfcl_clk);
|
||||
if (rc) {
|
||||
pr_err("failed to initialize ACD for perfcl, rc=%d\n", rc);
|
||||
return rc;
|
||||
}
|
||||
|
||||
spin_lock_init(&pwrcl_clk.lock);
|
||||
spin_lock_init(&perfcl_clk.lock);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue