diff options
Diffstat (limited to 'src/soc/nvidia/tegra132/ccplex.c')
-rw-r--r-- | src/soc/nvidia/tegra132/ccplex.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/soc/nvidia/tegra132/ccplex.c b/src/soc/nvidia/tegra132/ccplex.c index ea92b31324..520c244fbf 100644 --- a/src/soc/nvidia/tegra132/ccplex.c +++ b/src/soc/nvidia/tegra132/ccplex.c @@ -135,14 +135,22 @@ static void request_ram_repair(void) printk(BIOS_DEBUG, "Requesting RAM repair.\n"); + stopwatch_init(&sw); + + /* Perform cluster 0 ram repair */ reg = read32(&flow->ram_repair); reg |= req; write32(reg, &flow->ram_repair); - - stopwatch_init(&sw); while ((read32(&flow->ram_repair) & sts) != sts) ; + /* Perform cluster 1 ram repair */ + reg = read32(&flow->ram_repair_cluster1); + reg |= req; + write32(reg, &flow->ram_repair_cluster1); + while ((read32(&flow->ram_repair_cluster1) & sts) != sts) + ; + printk(BIOS_DEBUG, "RAM repair complete in %ld usecs.\n", stopwatch_duration_usecs(&sw)); } |