• Paul Walmsley's avatar
    ARM: OMAP4/AM335x: hwmod: fix disable_module regression in hardreset handling · e9332b6e
    Paul Walmsley authored
    Commit eb05f691 ("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: default avatarArchit 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: default avatarVaibhav Hiremath <hvaibhav@ti.com>
    Tested-by: Vaibhav Hiremath <hvaibhav@ti.com> # AM335x
    Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
    e9332b6e
omap_hwmod.c 114 KB