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>
#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;
}
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);
tegra_fb_update_monspecs(dc->fb, NULL, NULL);
tegra_dc_ext_process_hotplug(dc->ndev->id);
- tegra_dc_powergate_locked(hdmi->dc);
}
}