ARM: zynq: Implement better check for DDR idle
In suspend DRAM is put in self-refresh and clocks are stopped. Though, before the clocks can be stopped the DDRC must be idle. Zynq does not provide a reliable way to query the activity state of the DRAM. The recommened way is to poll the CAM queues and wait for ~40 DDR cycles once they are idle to allow the queues and pipelines to be drained. If something causes new DDR transactions in the gap between finish polling and turning DDR off, things will go sideways... Tested-by:Chandramohan Pujari <cpujari@xilinx.com> Signed-off-by:
Soren Brinkmann <soren.brinkmann@xilinx.com> Signed-off-by:
Michal Simek <michal.simek@xilinx.com>
Loading
Please sign in to comment