clk: qcom: gdsc: Add support for gdscs with gds hw controller
authorRajendra Nayak <rnayak@codeaurora.org>
Tue, 1 Dec 2015 16:12:12 +0000 (21:42 +0530)
committerStephen Boyd <sboyd@codeaurora.org>
Fri, 12 Feb 2016 00:24:03 +0000 (16:24 -0800)
commit77b1067a19b4986b009f3279cc6b8ad1d29ff51c
tree0cbe30f554030b78b0bf9779a5d554aeb4f6e43a
parentc2c7f0a47493ae23f9a76fabdbdd4f25e1de0925
clk: qcom: gdsc: Add support for gdscs with gds hw controller

Some gdsc power domains can have a gds_hw_controller block inside
to help ensure all slave devices within the power domain are idle
before the gdsc is actually switched off.
This is mainly useful in power domains which host a MMU, in which
case its necessary to make sure there are no outstanding MMU operations
or pending bus transactions before the power domain is turned off.

In gdscs with gds_hw_controller block, its necessary to check the
gds_hw_ctrl status bits instead of the ones in gdscr, to determine
the state of the powerdomain.

While at it, also move away from using jiffies and use ktime APIs
instead for busy looping on status bits.

Signed-off-by: Rajendra Nayak <rnayak@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
drivers/clk/qcom/gdsc.c
drivers/clk/qcom/gdsc.h