From d0dbf2be012a7065029810e9bdf9573d2bb31917 Mon Sep 17 00:00:00 2001 From: Terje Bergstrom Date: Mon, 15 Aug 2011 08:52:22 +0300 Subject: tegra: nvhost: On Tegra2, set 2D clock to maximum On Tegra2, clocks are not rounded up. Nvhost tries to set 2D clock to zero, which causes a division-by-zero error. Check for SoC version and for Tegra2, set clocks always to maximum. Bug 863937 Original-Change-Id: I3043cb2ddd243a48700de47e1bfdd13920fd0e8c Reviewed-on: http://git-master/r/47114 Reviewed-by: Varun Colbert Tested-by: Varun Colbert Rebase-Id: Reab7a05cea74039b5d914728173efc8a74155c56 --- drivers/video/tegra/host/nvhost_acm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'drivers/video/tegra/host/nvhost_acm.c') diff --git a/drivers/video/tegra/host/nvhost_acm.c b/drivers/video/tegra/host/nvhost_acm.c index b042aa1b35ee..164617c7229d 100644 --- a/drivers/video/tegra/host/nvhost_acm.c +++ b/drivers/video/tegra/host/nvhost_acm.c @@ -474,7 +474,8 @@ int nvhost_module_init(struct nvhost_module *mod, const char *name, mod->clk[i] = clk_get(dev, get_module_clk_id(name, i)); if (IS_ERR_OR_NULL(mod->clk[i])) break; - if (strcmp(name, "gr2d") == 0) + if (strcmp(name, "gr2d") == 0 + && tegra_get_chipid() != TEGRA_CHIPID_TEGRA2) rate = clk_round_rate(mod->clk[i], 0); else rate = clk_round_rate(mod->clk[i], UINT_MAX); -- cgit v1.2.3