summaryrefslogtreecommitdiff
path: root/drivers/video/tegra/dc/dc.c
diff options
context:
space:
mode:
authorHyungwoo Yang <hyungwooy@nvidia.com>2011-10-24 15:06:17 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:49:33 -0800
commit187ada86d745a7f4fed96cd6017275dbe9b21fbb (patch)
treeb12a924a37dd17cd0dcb6fd705e3b8f02af1887a /drivers/video/tegra/dc/dc.c
parentb04d67acb91dc0f388675f85a28bfa955c25d978 (diff)
video: tegra: support display board PM313
This change supports PM313 with 19X12 panel. The change uses PM313 in "Single input to Dual output" mode Bug ID : 822980 Reviewed-on: http://git-master/r/50215 (cherry picked from commit b83e795747fa860b5b7fb66b2067ebe4f15bcfd0) Change-Id: Iabf707ded2976e9877481c215d0b1f1940781f14 Reviewed-on: http://git-master/r/60085 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com> Rebase-Id: Re8eadc35c75fa21b0a5f3cb3bee0e8cb77dc3238
Diffstat (limited to 'drivers/video/tegra/dc/dc.c')
-rw-r--r--drivers/video/tegra/dc/dc.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/video/tegra/dc/dc.c b/drivers/video/tegra/dc/dc.c
index 9a9ddd56be36..b1c441390ce4 100644
--- a/drivers/video/tegra/dc/dc.c
+++ b/drivers/video/tegra/dc/dc.c
@@ -1308,11 +1308,22 @@ void tegra_dc_setup_clk(struct tegra_dc *dc, struct clk *clk)
int pclk;
if (dc->out->type == TEGRA_DC_OUT_RGB) {
+ unsigned long rate;
struct clk *parent_clk =
clk_get_sys(NULL, dc->out->parent_clk ? : "pll_p");
if (clk_get_parent(clk) != parent_clk)
clk_set_parent(clk, parent_clk);
+
+ if (parent_clk != clk_get_sys(NULL, "pll_p")) {
+ struct clk *base_clk = clk_get_parent(parent_clk);
+
+ /* Assuming either pll_d or pll_d2 is used */
+ rate = dc->mode.pclk * 2;
+
+ if (rate != clk_get_rate(base_clk))
+ clk_set_rate(base_clk, rate);
+ }
}
if (dc->out->type == TEGRA_DC_OUT_HDMI) {