diff options
author | Dominik Sliwa <dominik.sliwa@toradex.com> | 2018-06-18 17:02:46 +0200 |
---|---|---|
committer | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2018-06-19 15:20:31 +0200 |
commit | df2b46ba248687c208767865abe5fca32a43faaf (patch) | |
tree | 10abb048969e3edaef6b8552c630d4c63a15d1c2 /arch/arm/mach-tegra/powergate.c | |
parent | eb660075db011c87a364d884a015657b4ba3195a (diff) |
apalis-tk1: invoking ram_repair before powerup_cpus()
Invoking tegra124_ram_repair() before powerup_cpus() is being
invoked to avoid race-conditions if arises further.
(based on downstream: fe1c9e4d523d6727afb62f03ef9fa5c0f04e7859)
Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Diffstat (limited to 'arch/arm/mach-tegra/powergate.c')
-rw-r--r-- | arch/arm/mach-tegra/powergate.c | 18 |
1 files changed, 0 insertions, 18 deletions
diff --git a/arch/arm/mach-tegra/powergate.c b/arch/arm/mach-tegra/powergate.c index 30ae036bff..9606b420e6 100644 --- a/arch/arm/mach-tegra/powergate.c +++ b/arch/arm/mach-tegra/powergate.c @@ -75,29 +75,11 @@ static int tegra_powergate_remove_clamping(enum tegra_powergate id) return 0; } -static void tegra_powergate_ram_repair(void) -{ -#ifdef CONFIG_TEGRA124 - struct flow_ctlr *flow = (struct flow_ctlr *)NV_PA_FLOW_BASE; - - /* Request RAM repair for cluster 0 and wait until complete */ - setbits_le32(&flow->ram_repair, RAM_REPAIR_REQ); - while (!(readl(&flow->ram_repair) & RAM_REPAIR_STS)) - ; - - /* Same for cluster 1 */ - setbits_le32(&flow->ram_repair_cluster1, RAM_REPAIR_REQ); - while (!(readl(&flow->ram_repair_cluster1) & RAM_REPAIR_STS)) - ; -#endif -} - int tegra_powergate_sequence_power_up(enum tegra_powergate id, enum periph_id periph) { int err; - tegra_powergate_ram_repair(); reset_set_enable(periph, 1); err = tegra_powergate_power_on(id); |