ARM: 7834/1: mmc: mmci: Save and restore register context
authorUlf Hansson <ulf.hansson@linaro.org>
Wed, 4 Sep 2013 08:05:17 +0000 (09:05 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 19 Sep 2013 19:12:25 +0000 (20:12 +0100)
commit1ff44433c661c30afde6e6d2c47a29039a293da4
tree6b7629a39c594b3662ac7e7cc31e556829bdfcfb
parentf829c04204de83aa0d13307d2a2dc07c0d9a94e3
ARM: 7834/1: mmc: mmci: Save and restore register context

If a corresponding power domain exists for the device and it manages
to cut the domain regulator while the device is runtime suspended,
the IP loses it's registers context. We restore the context in the
.runtime_resume callback from the existing register caches to adapt
to this situation.

We also want to make sure the registers are in a known state while
restoring context in the case when the power domain did not drop the
power, since there are restrictions for the order of writing to these
registers. To handle this, we clear the registers in the
.runtime_suspend callback.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Rickard Andersson <rickard.andersson@stericsson.com>
Reviewed-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
drivers/mmc/host/mmci.c