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: sumitg <sumitg@nvidia.com>
This commit is contained in:
parent
36e2637536
commit
a45c3e9d81
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue