OLD | NEW |
1 /* | 1 /* |
2 * drivers/video/tegra/dc/dc.c | 2 * drivers/video/tegra/dc/dc.c |
3 * | 3 * |
4 * Copyright (C) 2010 Google, Inc. | 4 * Copyright (C) 2010 Google, Inc. |
5 * Author: Erik Gilling <konkers@android.com> | 5 * Author: Erik Gilling <konkers@android.com> |
6 * | 6 * |
7 * This software is licensed under the terms of the GNU General Public | 7 * This software is licensed under the terms of the GNU General Public |
8 * License version 2, as published by the Free Software Foundation, and | 8 * License version 2, as published by the Free Software Foundation, and |
9 * may be copied, distributed, and modified under those terms. | 9 * may be copied, distributed, and modified under those terms. |
10 * | 10 * |
(...skipping 689 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
700 | 700 |
701 if (dc->out->type == TEGRA_DC_OUT_HDMI) { | 701 if (dc->out->type == TEGRA_DC_OUT_HDMI) { |
702 unsigned long rate; | 702 unsigned long rate; |
703 struct clk *pll_d_out0_clk = | 703 struct clk *pll_d_out0_clk = |
704 clk_get_sys(NULL, "pll_d_out0"); | 704 clk_get_sys(NULL, "pll_d_out0"); |
705 struct clk *pll_d_clk = | 705 struct clk *pll_d_clk = |
706 clk_get_sys(NULL, "pll_d"); | 706 clk_get_sys(NULL, "pll_d"); |
707 | 707 |
708 if (dc->mode.pclk > 70000000) | 708 if (dc->mode.pclk > 70000000) |
709 rate = 594000000; | 709 rate = 594000000; |
| 710 else if (dc->mode.pclk >= 27000000) |
| 711 rate = 216000000; |
710 else | 712 else |
711 » » » rate = 216000000; | 713 » » » rate = 252000000; |
712 | 714 |
713 if (rate != clk_get_rate(pll_d_clk)) | 715 if (rate != clk_get_rate(pll_d_clk)) |
714 clk_set_rate(pll_d_clk, rate); | 716 clk_set_rate(pll_d_clk, rate); |
715 | 717 |
716 if (clk_get_parent(clk) != pll_d_out0_clk) | 718 if (clk_get_parent(clk) != pll_d_out0_clk) |
717 clk_set_parent(clk, pll_d_out0_clk); | 719 clk_set_parent(clk, pll_d_out0_clk); |
718 } | 720 } |
719 | 721 |
720 pclk = tegra_dc_pclk_round_rate(dc, dc->mode.pclk); | 722 pclk = tegra_dc_pclk_round_rate(dc, dc->mode.pclk); |
721 tegra_dvfs_set_rate(clk, pclk); | 723 tegra_dvfs_set_rate(clk, pclk); |
(...skipping 728 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1450 } | 1452 } |
1451 | 1453 |
1452 static void __exit tegra_dc_module_exit(void) | 1454 static void __exit tegra_dc_module_exit(void) |
1453 { | 1455 { |
1454 nvhost_driver_unregister(&tegra_dc_driver); | 1456 nvhost_driver_unregister(&tegra_dc_driver); |
1455 tegra_dc_ext_module_exit(); | 1457 tegra_dc_ext_module_exit(); |
1456 } | 1458 } |
1457 | 1459 |
1458 module_exit(tegra_dc_module_exit); | 1460 module_exit(tegra_dc_module_exit); |
1459 module_init(tegra_dc_module_init); | 1461 module_init(tegra_dc_module_init); |
OLD | NEW |