video: tegra: host: use runtime pm and pm domain
authorMayuresh Kulkarni <mkulkarni@nvidia.com>
Wed, 16 Jan 2013 12:06:09 +0000 (17:06 +0530)
committerDan Willemsen <dwillemsen@nvidia.com>
Sat, 14 Sep 2013 20:07:59 +0000 (13:07 -0700)
commit21d28d261027b81c80886d618f33988dc29e91de
treed93203dfaa77e6bba23be798aef8a5a5cdf396f4
parent1e5cb7b575e2f81fa1abf6ed3c99148e7ff73bff
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)
- 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

bug 887332

Change-Id: I13344ef9a374f1522818b9030551cc2964d208c4
Signed-off-by: Mayuresh Kulkarni <mkulkarni@nvidia.com>
Reviewed-on: http://git-master/r/211590
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
13 files changed:
drivers/video/tegra/host/bus_client.c
drivers/video/tegra/host/gr2d/gr2d.c
drivers/video/tegra/host/gr3d/gr3d.c
drivers/video/tegra/host/host1x/host1x.c
drivers/video/tegra/host/host1x/host1x_debug.c
drivers/video/tegra/host/isp/isp.c
drivers/video/tegra/host/mpe/mpe.c
drivers/video/tegra/host/msenc/msenc.c
drivers/video/tegra/host/nvhost_acm.c
drivers/video/tegra/host/nvhost_acm.h
drivers/video/tegra/host/tsec/tsec.c
drivers/video/tegra/host/vi/vi.c
include/linux/nvhost.h