]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
ARM: tegra: add refcount to powergate for display
authorJon Mayo <jmayo@nvidia.com>
Thu, 6 Dec 2012 21:55:27 +0000 (13:55 -0800)
committerDan Willemsen <dwillemsen@nvidia.com>
Sat, 14 Sep 2013 08:28:15 +0000 (01:28 -0700)
Keep a refcount for DISA and DISB power domains, as they are shared between
multiple drivers.

Bug 1178366

Change-Id: I30edf2d4922705f15c762342d9f502880f1e01b7
Signed-off-by: Jon Mayo <jmayo@nvidia.com>
Reviewed-on: http://git-master/r/169147
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
drivers/video/tegra/dc/dc_priv.h
drivers/video/tegra/dc/hdmi.c

index a1a170dc21bf744bbfcbaee657b7d84f795798b2..c1c9c3ecab1c11d3ab7e1532edf2d1e0733b55ad 100644 (file)
@@ -211,15 +211,13 @@ static inline unsigned long tegra_dc_clk_get_rate(struct tegra_dc *dc)
 #ifdef CONFIG_ARCH_TEGRA_11x_SOC
 static inline void _tegra_dc_powergate_locked(struct tegra_dc *dc)
 {
-       if (tegra_powergate_is_powered(dc->powergate_id))
-               tegra_powergate_partition(dc->powergate_id);
+       tegra_powergate_partition(dc->powergate_id);
        dc->powered = 0;
 }
 
 static inline void _tegra_dc_unpowergate_locked(struct tegra_dc *dc)
 {
-       if (!tegra_powergate_is_powered(dc->powergate_id))
-               tegra_unpowergate_partition(dc->powergate_id);
+       tegra_unpowergate_partition(dc->powergate_id);
        dc->powered = 1;
 }
 
index eb560ed1bf7a13cbf33ee64d38ebb610402a6f5c..8f1a87f5798a45fb8a3f60c86223862d7f57f169 100644 (file)
@@ -861,7 +861,6 @@ static void tegra_dc_hdmi_detect_worker(struct work_struct *work)
                container_of(to_delayed_work(work), struct tegra_dc_hdmi_data, work);
        struct tegra_dc *dc = hdmi->dc;
 
-       tegra_dc_unpowergate_locked(hdmi->dc);
 #ifdef CONFIG_FRAMEBUFFER_CONSOLE
        /* Set default videomode on dc before enabling it*/
        tegra_dc_set_default_videomode(dc);
@@ -873,7 +872,6 @@ static void tegra_dc_hdmi_detect_worker(struct work_struct *work)
                tegra_fb_update_monspecs(dc->fb, NULL, NULL);
 
                tegra_dc_ext_process_hotplug(dc->ndev->id);
-               tegra_dc_powergate_locked(hdmi->dc);
        }
 }