diff options
author | Kevin Huang <kevinh@nvidia.com> | 2012-06-06 10:48:18 -0700 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-06-11 17:31:24 -0700 |
commit | b901b56e0c0573ce30393836e4078ca78beffca0 (patch) | |
tree | 6941d2d4cbd9719d26f2d3840735cca6c31bec4d /drivers/video/tegra/dc/dc_priv.h | |
parent | b08927a712005ae3f6941e59f530b7896ac5f407 (diff) |
video: tegra: dc: Clock-gate display modules dynamically.
Bug 936337
Bug 899053
Change-Id: I2b3d8cfc8a00881338c1e17d03f2844d15ba7d3e
Signed-off-by: Kevin Huang <kevinh@nvidia.com>
Reviewed-on: http://git-master/r/106313
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>
Diffstat (limited to 'drivers/video/tegra/dc/dc_priv.h')
-rw-r--r-- | drivers/video/tegra/dc/dc_priv.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/video/tegra/dc/dc_priv.h b/drivers/video/tegra/dc/dc_priv.h index 4f53f60f2599..06f2a6061bf6 100644 --- a/drivers/video/tegra/dc/dc_priv.h +++ b/drivers/video/tegra/dc/dc_priv.h @@ -32,6 +32,7 @@ #include "../host/host1x/host1x_syncpt.h" #include <mach/tegra_dc_ext.h> +#include <mach/clk.h> #define WIN_IS_TILED(win) ((win)->flags & TEGRA_WIN_FLAG_TILED) #define WIN_IS_ENABLED(win) ((win)->flags & TEGRA_WIN_FLAG_ENABLED) @@ -164,6 +165,9 @@ static inline unsigned long tegra_dc_readl(struct tegra_dc *dc, unsigned long ret; BUG_ON(!nvhost_module_powered(nvhost_get_host(dc->ndev)->dev)); + if (!tegra_is_clk_enabled(dc->clk)) + WARN(1, "DC is clock-gated.\n"); + ret = readl(dc->base + reg * 4); trace_printk("readl %p=%#08lx\n", dc->base + reg * 4, ret); return ret; @@ -173,6 +177,9 @@ static inline void tegra_dc_writel(struct tegra_dc *dc, unsigned long val, unsigned long reg) { BUG_ON(!nvhost_module_powered(nvhost_get_host(dc->ndev)->dev)); + if (!tegra_is_clk_enabled(dc->clk)) + WARN(1, "DC is clock-gated.\n"); + trace_printk("writel %p=%#08lx\n", dc->base + reg * 4, val); writel(val, dc->base + reg * 4); } |