video: tegra: host: use runtime pm and pm domain
authorMayuresh Kulkarni <mkulkarni@nvidia.com>
Mon, 29 Apr 2013 12:10:39 +0000 (17:10 +0530)
committerDan Willemsen <dwillemsen@nvidia.com>
Sat, 14 Sep 2013 20:25:06 +0000 (13:25 -0700)
commit149207565dd8d72a3b67090b772bef5301d771ee
tree0e284e4755f01a98c4ca970afafca028249c816c
parentfdd90c646c5814e0d707549d58d8b4e8d52d33af
video: tegra: host: use runtime pm and pm domain

- this commit deprecates the custom acm and replaces it with
runtime pm and pm domains
- runtime pm is used for clock management while pm domains
is used for power-gate management
- for each power gatable domain (represented by .can_powergate flag),
we add a pm domain (3d/mpe for t20/t30, 3d/2d/msenc for t114/t148,
gk20a/vic/msenc for t124)
- whenever a device is added to power domain,
it results into populating the dev->pm_domain field. runtime pm &
system suspend calls into domain if a device is part of a domain.
hence replace the dev_pm_ops from drivers whose device are part of
a domain with pm domain call-backs
- it uses delayed power off capability of pm domain to lazily
power-gate a partition associated with a domain/device
- it also ensures that correct dependent domains are ON during
boot-up
- fix the issue with gk20a pm domain setup (prepare_poweroff
was not hooked up to pm domain's save state)
- add pm domain support for vic since it has a dedicated
power partition of its own

bug 887332

Change-Id: If73fb13a05af36f4c1a2cae8c6f84371496333a6
Signed-off-by: Mayuresh Kulkarni <mkulkarni@nvidia.com>
Reviewed-on: http://git-master/r/223884
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
drivers/video/tegra/host/gk20a/gk20a.c
drivers/video/tegra/host/vic03/vic03.c