Commit 177602b0 authored by Thierry Reding's avatar Thierry Reding

memory: tegra: Add system sleep support

Add system suspend/resume support for the memory controller found on
Tegra186 and later. This is required so that the SID registers can be
reprogrammed after their content was lost during system sleep.
Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
parent 6d3ba761
...@@ -602,10 +602,29 @@ static const struct of_device_id tegra186_mc_of_match[] = { ...@@ -602,10 +602,29 @@ static const struct of_device_id tegra186_mc_of_match[] = {
}; };
MODULE_DEVICE_TABLE(of, tegra186_mc_of_match); MODULE_DEVICE_TABLE(of, tegra186_mc_of_match);
static int tegra186_mc_suspend(struct device *dev)
{
return 0;
}
static int tegra186_mc_resume(struct device *dev)
{
struct tegra186_mc *mc = dev_get_drvdata(dev);
tegra186_mc_program_sid(mc);
return 0;
}
static const struct dev_pm_ops tegra186_mc_pm_ops = {
SET_SYSTEM_SLEEP_PM_OPS(tegra186_mc_suspend, tegra186_mc_resume)
};
static struct platform_driver tegra186_mc_driver = { static struct platform_driver tegra186_mc_driver = {
.driver = { .driver = {
.name = "tegra186-mc", .name = "tegra186-mc",
.of_match_table = tegra186_mc_of_match, .of_match_table = tegra186_mc_of_match,
.pm = &tegra186_mc_pm_ops,
.suppress_bind_attrs = true, .suppress_bind_attrs = true,
}, },
.prevent_deferred_probe = true, .prevent_deferred_probe = true,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment