From 2e7aea3d485821b8c78dbf092489f8a20a4e5e1d Mon Sep 17 00:00:00 2001 From: Varun Wadekar Date: Thu, 16 Jul 2015 10:35:12 +0530 Subject: [PATCH] Tegra: PMC: check if a CPU is already online This patch checks if the target CPU is already online before proceeding with it's power ON sequence. Signed-off-by: Varun Wadekar --- plat/nvidia/tegra/common/drivers/pmc/pmc.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/plat/nvidia/tegra/common/drivers/pmc/pmc.c b/plat/nvidia/tegra/common/drivers/pmc/pmc.c index 5796ac79e..6e7f23c6c 100644 --- a/plat/nvidia/tegra/common/drivers/pmc/pmc.c +++ b/plat/nvidia/tegra/common/drivers/pmc/pmc.c @@ -51,6 +51,13 @@ void tegra_pmc_cpu_on(int cpu) { uint32_t val; + /* + * Check if CPU is already power ungated + */ + val = tegra_pmc_read_32(PMC_PWRGATE_STATUS); + if (val & (1 << pmc_cpu_powergate_id[cpu])) + return; + /* * The PMC deasserts the START bit when it starts the power * ungate process. Loop till no power toggle is in progress.