]> git.baikalelectronics.ru Git - kernel.git/commit
ARM: OMAP4/AM335x: hwmod: fix disable_module regression in hardreset handling
authorPaul Walmsley <paul@pwsan.com>
Tue, 9 Oct 2012 05:08:15 +0000 (23:08 -0600)
committerPaul Walmsley <paul@pwsan.com>
Tue, 9 Oct 2012 05:08:15 +0000 (23:08 -0600)
commit9bb08f2e07ec27f83703943037eaae545ccd5b6d
treebeb9158583964f44fcbd0879ad9394fb5dd8c55c
parent68da389df082676aa5adbfa2076484d549ed97b8
ARM: OMAP4/AM335x: hwmod: fix disable_module regression in hardreset handling

Commit d57b03453ed3ac81361c9dd24612db3b5a672da1 ("ARM: OMAP: hwmod:
partially un-reset hwmods might not be properly enabled") added code
to skip the IP block disable sequence if all of the block's hardreset
lines weren't asserted.  But this did not handle the case when no
hardreset lines were associated with a module, which is the general
case.  In that situation, the IP block disable would be skipped.  This
is likely to cause PM regressions.

So, modify _omap4_disable_module() and _am33xx_disable_module() to
only bail out early if there are any hardreset lines asserted.  And
move the AM33xx test above the actual module disable code to ensure
that the behavior is consistent.

Reported-by: Archit Taneja <a0393947@ti.com>
Tested-by: Archit Taneja <a0393947@ti.com> # DSS
Cc: Omar Ramirez Luna <omar.luna@linaro.org>
Cc: Vaibhav Hiremath <hvaibhav@ti.com>
Acked-by: Vaibhav Hiremath <hvaibhav@ti.com>
Tested-by: Vaibhav Hiremath <hvaibhav@ti.com> # AM335x
Signed-off-by: Paul Walmsley <paul@pwsan.com>
arch/arm/mach-omap2/omap_hwmod.c