summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSumit Singh <sumsingh@nvidia.com>2015-06-29 02:31:45 -0400
committerSumit Singh <sumsingh@nvidia.com>2015-06-29 02:31:45 -0400
commit9cc23218bad859017bae995d8bd6716440c3b686 (patch)
tree244c97055a276901006159644f25811488663b3c /drivers
parent30d399de307befc4edc2b8ca66c36ad2440d34f1 (diff)
parent1f99458ed39f44fc874f835aae8289b0d596a5db (diff)
Merge PM domain changes from k3.10 into 'kernel-3.18'
This change brings in all changes that were done for: 1. device-tree support for power domains 2. device-tree support for power-gating driver 3. Reverts of 3 changes from k3.18 power-domain Bug 200070810 Bug 200105664 Bug 200100078 Change-Id: Iba93713180d66caa46f1f55c30e9bbde2be9dcc0 Signed-off-by: Sumit Singh <sumsingh@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.c13
1 files changed, 1 insertions, 12 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c
index 498de7e7..d5208e0d 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.c
@@ -1198,7 +1198,6 @@ static int gk20a_pm_unrailgate(struct generic_pm_domain *domain)
1198 return _gk20a_pm_unrailgate(g->dev); 1198 return _gk20a_pm_unrailgate(g->dev);
1199} 1199}
1200 1200
1201#if 0
1202static int gk20a_pm_suspend(struct device *dev) 1201static int gk20a_pm_suspend(struct device *dev)
1203{ 1202{
1204 struct gk20a_platform *platform = dev_get_drvdata(dev); 1203 struct gk20a_platform *platform = dev_get_drvdata(dev);
@@ -1223,7 +1222,6 @@ static int gk20a_pm_resume(struct device *dev)
1223{ 1222{
1224 return gk20a_pm_finalize_poweron(dev); 1223 return gk20a_pm_finalize_poweron(dev);
1225} 1224}
1226#endif
1227 1225
1228#ifdef CONFIG_PM_GENERIC_DOMAINS_OF 1226#ifdef CONFIG_PM_GENERIC_DOMAINS_OF
1229static int gk20a_pm_initialise_domain(struct platform_device *pdev) 1227static int gk20a_pm_initialise_domain(struct platform_device *pdev)
@@ -1276,11 +1274,8 @@ static int gk20a_pm_initialise_domain(struct platform_device *pdev)
1276 domain->dev_ops.stop = gk20a_pm_disable_clk; 1274 domain->dev_ops.stop = gk20a_pm_disable_clk;
1277 domain->dev_ops.save_state = gk20a_pm_prepare_poweroff; 1275 domain->dev_ops.save_state = gk20a_pm_prepare_poweroff;
1278 domain->dev_ops.restore_state = gk20a_pm_finalize_poweron; 1276 domain->dev_ops.restore_state = gk20a_pm_finalize_poweron;
1279#warning domain suspend/resume ops have been removed upstream
1280#if 0
1281 domain->dev_ops.suspend = gk20a_pm_suspend; 1277 domain->dev_ops.suspend = gk20a_pm_suspend;
1282 domain->dev_ops.resume = gk20a_pm_resume; 1278 domain->dev_ops.resume = gk20a_pm_resume;
1283#endif
1284 1279
1285 device_set_wakeup_capable(&pdev->dev, 0); 1280 device_set_wakeup_capable(&pdev->dev, 0);
1286 ret = pm_genpd_add_device(domain, &pdev->dev); 1281 ret = pm_genpd_add_device(domain, &pdev->dev);
@@ -1347,6 +1342,7 @@ static int gk20a_secure_page_alloc(struct platform_device *pdev)
1347} 1342}
1348 1343
1349static struct of_device_id tegra_gpu_domain_match[] = { 1344static struct of_device_id tegra_gpu_domain_match[] = {
1345 {.compatible = "nvidia,tegra132-gpu-pd"},
1350 {.compatible = "nvidia,tegra210-gpu-pd"}, 1346 {.compatible = "nvidia,tegra210-gpu-pd"},
1351 {}, 1347 {},
1352}; 1348};
@@ -1632,20 +1628,13 @@ static int _gk20a_init_domain(struct device_node *np,
1632 gpd->dev_ops.stop = gk20a_pm_disable_clk; 1628 gpd->dev_ops.stop = gk20a_pm_disable_clk;
1633 gpd->dev_ops.save_state = gk20a_pm_prepare_poweroff; 1629 gpd->dev_ops.save_state = gk20a_pm_prepare_poweroff;
1634 gpd->dev_ops.restore_state = gk20a_pm_finalize_poweron; 1630 gpd->dev_ops.restore_state = gk20a_pm_finalize_poweron;
1635#warning domain suspend/resume ops have been removed upstream
1636#if 0
1637 gpd->dev_ops.suspend = gk20a_pm_suspend; 1631 gpd->dev_ops.suspend = gk20a_pm_suspend;
1638 gpd->dev_ops.resume = gk20a_pm_resume; 1632 gpd->dev_ops.resume = gk20a_pm_resume;
1639#endif
1640 1633
1641 of_genpd_add_provider_simple(np, gpd); 1634 of_genpd_add_provider_simple(np, gpd);
1642
1643#warning genpd_pm_subdomain_attach does not work with upstream
1644#if 0
1645 gpd->of_node = of_node_get(np); 1635 gpd->of_node = of_node_get(np);
1646 1636
1647 genpd_pm_subdomain_attach(gpd); 1637 genpd_pm_subdomain_attach(gpd);
1648#endif
1649 return 0; 1638 return 0;
1650} 1639}
1651 1640