Lines Matching refs:cpufreq

51 	struct tegra20_cpufreq *cpufreq = cpufreq_get_driver_data();  in tegra_get_intermediate()  local
52 unsigned int ifreq = clk_get_rate(cpufreq->pll_p_clk) / 1000; in tegra_get_intermediate()
68 struct tegra20_cpufreq *cpufreq = cpufreq_get_driver_data(); in tegra_target_intermediate() local
81 clk_prepare_enable(cpufreq->pll_x_clk); in tegra_target_intermediate()
83 ret = clk_set_parent(cpufreq->cpu_clk, cpufreq->pll_p_clk); in tegra_target_intermediate()
85 clk_disable_unprepare(cpufreq->pll_x_clk); in tegra_target_intermediate()
87 cpufreq->pll_x_prepared = true; in tegra_target_intermediate()
94 struct tegra20_cpufreq *cpufreq = cpufreq_get_driver_data(); in tegra_target() local
96 unsigned int ifreq = clk_get_rate(cpufreq->pll_p_clk) / 1000; in tegra_target()
104 return clk_set_parent(cpufreq->cpu_clk, cpufreq->pll_p_clk); in tegra_target()
106 ret = clk_set_rate(cpufreq->pll_x_clk, rate * 1000); in tegra_target()
109 dev_err(cpufreq->dev, "Failed to change pll_x to %lu\n", rate); in tegra_target()
111 ret = clk_set_parent(cpufreq->cpu_clk, cpufreq->pll_x_clk); in tegra_target()
119 if (cpufreq->pll_x_prepared) { in tegra_target()
120 clk_disable_unprepare(cpufreq->pll_x_clk); in tegra_target()
121 cpufreq->pll_x_prepared = false; in tegra_target()
129 struct tegra20_cpufreq *cpufreq = cpufreq_get_driver_data(); in tegra_cpu_init() local
132 clk_prepare_enable(cpufreq->cpu_clk); in tegra_cpu_init()
137 clk_disable_unprepare(cpufreq->cpu_clk); in tegra_cpu_init()
141 policy->clk = cpufreq->cpu_clk; in tegra_cpu_init()
148 struct tegra20_cpufreq *cpufreq = cpufreq_get_driver_data(); in tegra_cpu_exit() local
150 clk_disable_unprepare(cpufreq->cpu_clk); in tegra_cpu_exit()
156 struct tegra20_cpufreq *cpufreq; in tegra20_cpufreq_probe() local
159 cpufreq = devm_kzalloc(&pdev->dev, sizeof(*cpufreq), GFP_KERNEL); in tegra20_cpufreq_probe()
160 if (!cpufreq) in tegra20_cpufreq_probe()
163 cpufreq->cpu_clk = clk_get_sys(NULL, "cclk"); in tegra20_cpufreq_probe()
164 if (IS_ERR(cpufreq->cpu_clk)) in tegra20_cpufreq_probe()
165 return PTR_ERR(cpufreq->cpu_clk); in tegra20_cpufreq_probe()
167 cpufreq->pll_x_clk = clk_get_sys(NULL, "pll_x"); in tegra20_cpufreq_probe()
168 if (IS_ERR(cpufreq->pll_x_clk)) { in tegra20_cpufreq_probe()
169 err = PTR_ERR(cpufreq->pll_x_clk); in tegra20_cpufreq_probe()
173 cpufreq->pll_p_clk = clk_get_sys(NULL, "pll_p"); in tegra20_cpufreq_probe()
174 if (IS_ERR(cpufreq->pll_p_clk)) { in tegra20_cpufreq_probe()
175 err = PTR_ERR(cpufreq->pll_p_clk); in tegra20_cpufreq_probe()
179 cpufreq->dev = &pdev->dev; in tegra20_cpufreq_probe()
180 cpufreq->driver.get = cpufreq_generic_get; in tegra20_cpufreq_probe()
181 cpufreq->driver.attr = cpufreq_generic_attr; in tegra20_cpufreq_probe()
182 cpufreq->driver.init = tegra_cpu_init; in tegra20_cpufreq_probe()
183 cpufreq->driver.exit = tegra_cpu_exit; in tegra20_cpufreq_probe()
184 cpufreq->driver.flags = CPUFREQ_NEED_INITIAL_FREQ_CHECK; in tegra20_cpufreq_probe()
185 cpufreq->driver.verify = cpufreq_generic_frequency_table_verify; in tegra20_cpufreq_probe()
186 cpufreq->driver.suspend = cpufreq_generic_suspend; in tegra20_cpufreq_probe()
187 cpufreq->driver.driver_data = cpufreq; in tegra20_cpufreq_probe()
188 cpufreq->driver.target_index = tegra_target; in tegra20_cpufreq_probe()
189 cpufreq->driver.get_intermediate = tegra_get_intermediate; in tegra20_cpufreq_probe()
190 cpufreq->driver.target_intermediate = tegra_target_intermediate; in tegra20_cpufreq_probe()
191 snprintf(cpufreq->driver.name, CPUFREQ_NAME_LEN, "tegra"); in tegra20_cpufreq_probe()
193 err = cpufreq_register_driver(&cpufreq->driver); in tegra20_cpufreq_probe()
197 platform_set_drvdata(pdev, cpufreq); in tegra20_cpufreq_probe()
202 clk_put(cpufreq->pll_p_clk); in tegra20_cpufreq_probe()
204 clk_put(cpufreq->pll_x_clk); in tegra20_cpufreq_probe()
206 clk_put(cpufreq->cpu_clk); in tegra20_cpufreq_probe()
213 struct tegra20_cpufreq *cpufreq = platform_get_drvdata(pdev); in tegra20_cpufreq_remove() local
215 cpufreq_unregister_driver(&cpufreq->driver); in tegra20_cpufreq_remove()
217 clk_put(cpufreq->pll_p_clk); in tegra20_cpufreq_remove()
218 clk_put(cpufreq->pll_x_clk); in tegra20_cpufreq_remove()
219 clk_put(cpufreq->cpu_clk); in tegra20_cpufreq_remove()