mem: Ensure DRAM refresh respects timings
authorAndreas Hansson <andreas.hansson@arm.com>
Fri, 9 May 2014 22:58:48 +0000 (18:58 -0400)
committerAndreas Hansson <andreas.hansson@arm.com>
Fri, 9 May 2014 22:58:48 +0000 (18:58 -0400)
commitbabf072c1c9d37c5324a65fa1a7ef902c4d8fb43
tree6c297af303dea43c10fee4ac5a5a95548f9b9973
parent5c2c3f598ee08875c273e78db7755e1306bea46e
mem: Ensure DRAM refresh respects timings

This patch adds a state machine for the refresh scheduling to
ensure that no accesses are allowed while the refresh is in progress,
and that all banks are propely precharged.

As part of this change, the precharging of banks of broken out into a
method of its own, making is similar to how activations are dealt
with. The idle accounting is also updated to ensure that the refresh
duration is not added to the time that the DRAM is in the idle state
with all banks precharged.
src/mem/dram_ctrl.cc
src/mem/dram_ctrl.hh