linux-stable/arch/arm/mach-at91
Nicolas Ferre 60b89f1928 ARM: at91: pm: cpu_idle: switch DDR to power-down mode
On some DDR controllers, compatible with the sama5d3 one,
the sequence to enter/exit/re-enter the self-refresh mode adds
more constrains than what is currently written in the at91_idle
driver. An actual access to the DDR chip is needed between exit
and re-enter of this mode which is somehow difficult to implement.
This sequence can completely hang the SoC. It is particularly
experienced on parts which embed a L2 cache if the code run
between IDLE calls fits in it...

Moreover, as the intention is to enter and exit pretty rapidly
from IDLE, the power-down mode is a good candidate.

So now we use power-down instead of self-refresh. As we can
simplify the code for sama5d3 compatible DDR controllers,
we instantiate a new sama5d3_ddr_standby() function.

Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Cc: <stable@vger.kernel.org> # v4.1+
Fixes: 017b5522d5 ("ARM: at91: Add new binding for sama5d3-ddramc")
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2017-03-14 11:09:50 +01:00
..
at91rm9200.c arm: use of_platform_default_populate() to populate 2016-06-23 15:00:39 -05:00
at91sam9.c arm: use of_platform_default_populate() to populate 2016-06-23 15:00:39 -05:00
generic.h ARM: at91: remove useless includes and function prototypes 2016-02-17 17:53:02 +01:00
Kconfig ARM: stop *MIGHT_HAVE_PCI* config from being selected redundantly 2016-09-21 22:45:05 +02:00
Makefile
pm.c ARM: at91: pm: cpu_idle: switch DDR to power-down mode 2017-03-14 11:09:50 +01:00
pm.h ARM: at91: pm: remove useless extern definition 2017-01-11 13:21:24 +01:00
pm_suspend.S ARM: at91: pm: at91_pm_suspend_in_sram() must be 8-byte aligned 2015-10-19 22:58:44 +02:00
sama5.c arm: use of_platform_default_populate() to populate 2016-06-23 15:00:39 -05:00
soc.c ARM: at91: use chipid device for soc detection 2016-03-29 16:34:21 +02:00
soc.h ARM: at91/soc: reference the whole sama5d2 family 2016-03-29 16:34:31 +02:00