summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/powergate.c
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2011-11-03 13:58:22 +0200
committerVarun Wadekar <vwadekar@nvidia.com>2011-12-08 16:55:07 +0530
commit852267c6eb21c231ff7d10f40873ce477887a49f (patch)
tree102e1fe0283ea6dfe8fd7ddc1cf373a610a7eb48 /arch/arm/mach-tegra/powergate.c
parent63e1347def78cf768823e1cd4e5f08140e36a0ad (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.c5
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);