Commit a45c3e9d authored by sumitg's avatar sumitg Committed by Varun Wadekar
Browse files

Tegra210: trigger CPU0 hotplug power on using FC



Hotplug poweron is not working for boot CPU as it's being
triggerred using PMC and not with Flow Controller. This is
happening because "cpu_powergate_mask" is only getting set
for non-boot CPU's as the boot CPU's first bootup follows
different code path. The patch is marking a CPU as ON within
"cpu_powergate_mask" when turning its power domain on
during power on. This will ensure only first bootup on all
CPU's is using PMC and subsequent hotplug poweron will be
using Flow Controller.

Change-Id: Ie9e86e6f9a777d41508a93d2ce286f31307932c2
Signed-off-by: default avatarsumitg <sumitg@nvidia.com>
parent 36e26375
......@@ -533,6 +533,13 @@ int tegra_soc_pwr_domain_on_finish(const psci_power_state_t *target_state)
}
}
/*
* Mark this CPU as ON in the cpu_powergate_mask[],
* so that we use Flow Controller for all subsequent
* power ups.
*/
cpu_powergate_mask[plat_my_core_pos()] = 1;
/*
* T210 has a dedicated ARMv7 boot and power mgmt processor, BPMP. It's
* used for power management and boot purposes. Inform the BPMP that
......@@ -561,7 +568,6 @@ int tegra_soc_pwr_domain_on(u_register_t mpidr)
/* Turn on CPU using flow controller or PMC */
if (cpu_powergate_mask[cpu] == 0) {
tegra_pmc_cpu_on(cpu);
cpu_powergate_mask[cpu] = 1;
} else {
tegra_fc_cpu_on(cpu);
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment