bus: ti-sysc: Fix clock handling for no-idle quirks
authorTony Lindgren <tony@atomide.com>
Thu, 5 Sep 2019 14:37:22 +0000 (07:37 -0700)
committerTony Lindgren <tony@atomide.com>
Thu, 5 Sep 2019 14:37:22 +0000 (07:37 -0700)
commitd098913a10f8ef8e6043765d7f2fa552527d9c42
tree3020caba28cec506ed46ee925ddcd535c5ed9211
parent4a65bbb9109ed7edd4b6ed7168ced48abb8561a2
bus: ti-sysc: Fix clock handling for no-idle quirks

NFSroot can fail on dra7 when cpsw is probed using ti-sysc interconnect
target module driver as reported by Keerthy.

Device clocks and the interconnect target module may or may not be
enabled by the bootloader on init, but we currently assume the clocks
and module are on from the bootloader for "ti,no-idle" and
"ti,no-idle-on-init" quirks as reported by Grygorii Strashko.

Let's fix the issue by always enabling clocks init, and
never disable them for "ti,no-idle" quirk. For "ti,no-idle-on-init"
quirk, we must decrement the usage count later on to allow PM
runtime to idle the module if requested.

Fixes: 1a5cd7c23cc5 ("bus: ti-sysc: Enable all clocks directly during init to read revision")
Cc: Keerthy <j-keerthy@ti.com>
Cc: Vignesh Raghavendra <vigneshr@ti.com>
Reported-by: Keerthy <j-keerthy@ti.com>
Reported-by: Grygorii Strashko <grygorii.strashko@ti.com>
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
drivers/bus/ti-sysc.c