OMAP: SRF: Fixes to shared resource framework (Ver.3)
commit84b192ca6991834381a3a75a8dafda45b4aa8307
authorKalle Jokiniemi <ext-kalle.jokiniemi@nokia.com>
Wed, 29 Oct 2008 14:20:42 +0000 (29 16:20 +0200)
committerKevin Hilman <khilman@deeprootsystems.com>
Fri, 23 Oct 2009 18:20:32 +0000 (23 11:20 -0700)
tree7091a3dcad8c98a989b43efc08bce48425fadbaf
parent50b30c9e7858665e631e0dc615f58b877e29057c
OMAP: SRF: Fixes to shared resource framework (Ver.3)

This patch corrects some problems found in shared resource
framwork patches sent by Rajendra Nayak. This patch requires
also the omapdev patchset sent by Paul walmsley.

Fixes include:

1. Use omapdev to get correct power domain for a device in
omap_pm_set_max_dev_wakeup_lat function. A compatibility issue
remains, as omap_pm_set_max_dev_wakeup_lat takes device pointer,
but omapdev_find_pdev requires platform_device pointer.

2. Add support for devices in CORE power domain to set latency
requirements through the omap_pm_set_max_dev_wakeup_lat interface.

3. Move update_resource_level call out of spin_lock as the underlying
pm_qos_add_requirement calls kzalloc. The point of the spin locks
according to comments is to protect adding and removing users, which
remains inside the spin_lock.

4. Added resource_refresh function into generic resource fw to
support enable_off_mode swithcing with SRF.

5. SGX power domain was not updated due wrong power domain name.
Fixed by adding a new separate pd_latency_db structure for SGX.
Thanks to Jouni Hogander for finding this problem.

Signed-off-by: Kalle Jokiniemi <ext-kalle.jokiniemi@nokia.com>
arch/arm/mach-omap2/pm34xx.c
arch/arm/mach-omap2/resource34xx.c
arch/arm/mach-omap2/resource34xx.h
arch/arm/plat-omap/include/plat/resource.h
arch/arm/plat-omap/omap-pm-srf.c
arch/arm/plat-omap/resource.c