diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2011-11-03 13:58:22 +0200 |
---|---|---|
committer | Varun Wadekar <vwadekar@nvidia.com> | 2011-12-08 16:55:07 +0530 |
commit | 852267c6eb21c231ff7d10f40873ce477887a49f (patch) | |
tree | 102e1fe0283ea6dfe8fd7ddc1cf373a610a7eb48 /arch/arm/mach-tegra/powergate.c | |
parent | 63e1347def78cf768823e1cd4e5f08140e36a0ad (diff) |
ARM: tegra: Pad client list of TEGRA_POWERGATE_HEG
Client list for TEGRA_POWERGATE_HEG was not padded with MC_CLIENT_LAST,
which causes an infinite loop if HEG is power gated.
Bug 855755
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: http://git-master/r/62129
(cherry picked from commit b36a3ef9584ceb23bd0ed97ba662a12ec08ce957)
Change-Id: Id6ad765db682ee153c7a271e01e3c40e462db6c4
Reviewed-on: http://git-master/r/67126
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/powergate.c')
-rw-r--r-- | arch/arm/mach-tegra/powergate.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/powergate.c b/arch/arm/mach-tegra/powergate.c index cfc89b9e52b8..8efdf44dd3e8 100644 --- a/arch/arm/mach-tegra/powergate.c +++ b/arch/arm/mach-tegra/powergate.c @@ -151,7 +151,9 @@ static struct powergate_partition powergate_partition_info[TEGRA_NUM_POWERGATE] {MC_CLIENT_NV2, MC_CLIENT_LAST}, {{"3d2", CLK_AND_RST} }, }, [TEGRA_POWERGATE_HEG] = { "heg", - {MC_CLIENT_G2, MC_CLIENT_EPP, MC_CLIENT_HC}, + {MC_CLIENT_G2, MC_CLIENT_EPP, + MC_CLIENT_HC, + MC_CLIENT_LAST}, {{"2d", CLK_AND_RST}, {"epp", CLK_AND_RST}, {"host1x", CLK_AND_RST}, @@ -202,7 +204,6 @@ static void mc_flush(int id) break; spin_lock_irqsave(&tegra_powergate_lock, flags); - rst_ctrl = mc_read(MC_CLIENT_HOTRESET_CTRL); rst_ctrl |= (1 << mcClientBit); mc_write(rst_ctrl, MC_CLIENT_HOTRESET_CTRL); |