linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Kishon Vijay Abraham I <kishon@ti.com>
To: <gregkh@linuxfoundation.org>
Cc: <kishon@ti.com>, <linux-kernel@vger.kernel.org>
Subject: [PATCH 07/20] phy: rockchip-inno-usb2: correct clk_ops callback
Date: Fri, 18 Nov 2016 18:58:30 +0530	[thread overview]
Message-ID: <1479475723-4857-8-git-send-email-kishon@ti.com> (raw)
In-Reply-To: <1479475723-4857-1-git-send-email-kishon@ti.com>

From: William Wu <wulf@rock-chips.com>

Since we needs to delay ~1ms to wait for 480MHz output clock
of USB2 PHY to become stable after turn on it, the delay time
is pretty long for something that's supposed to be "atomic"
like a clk_enable(). Consider that clk_enable() will disable
interrupt and that a 1ms interrupt latency is not sensible.

The 480MHz output clock should be handled in prepare callbacks
which support gate a clk if the operation may sleep.

Signed-off-by: William Wu <wulf@rock-chips.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
---
 drivers/phy/phy-rockchip-inno-usb2.c |   12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/phy/phy-rockchip-inno-usb2.c b/drivers/phy/phy-rockchip-inno-usb2.c
index ecfd7d1..486a0e4 100644
--- a/drivers/phy/phy-rockchip-inno-usb2.c
+++ b/drivers/phy/phy-rockchip-inno-usb2.c
@@ -254,7 +254,7 @@ static inline bool property_enabled(struct rockchip_usb2phy *rphy,
 	return tmp == reg->enable;
 }
 
-static int rockchip_usb2phy_clk480m_enable(struct clk_hw *hw)
+static int rockchip_usb2phy_clk480m_prepare(struct clk_hw *hw)
 {
 	struct rockchip_usb2phy *rphy =
 		container_of(hw, struct rockchip_usb2phy, clk480m_hw);
@@ -273,7 +273,7 @@ static int rockchip_usb2phy_clk480m_enable(struct clk_hw *hw)
 	return 0;
 }
 
-static void rockchip_usb2phy_clk480m_disable(struct clk_hw *hw)
+static void rockchip_usb2phy_clk480m_unprepare(struct clk_hw *hw)
 {
 	struct rockchip_usb2phy *rphy =
 		container_of(hw, struct rockchip_usb2phy, clk480m_hw);
@@ -282,7 +282,7 @@ static void rockchip_usb2phy_clk480m_disable(struct clk_hw *hw)
 	property_enable(rphy, &rphy->phy_cfg->clkout_ctl, false);
 }
 
-static int rockchip_usb2phy_clk480m_enabled(struct clk_hw *hw)
+static int rockchip_usb2phy_clk480m_prepared(struct clk_hw *hw)
 {
 	struct rockchip_usb2phy *rphy =
 		container_of(hw, struct rockchip_usb2phy, clk480m_hw);
@@ -298,9 +298,9 @@ static int rockchip_usb2phy_clk480m_enabled(struct clk_hw *hw)
 }
 
 static const struct clk_ops rockchip_usb2phy_clkout_ops = {
-	.enable = rockchip_usb2phy_clk480m_enable,
-	.disable = rockchip_usb2phy_clk480m_disable,
-	.is_enabled = rockchip_usb2phy_clk480m_enabled,
+	.prepare = rockchip_usb2phy_clk480m_prepare,
+	.unprepare = rockchip_usb2phy_clk480m_unprepare,
+	.is_prepared = rockchip_usb2phy_clk480m_prepared,
 	.recalc_rate = rockchip_usb2phy_clk480m_recalc_rate,
 };
 
-- 
1.7.9.5

  parent reply	other threads:[~2016-11-18 13:32 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-18 13:28 [GIT PULL] phy: for 4.10 Kishon Vijay Abraham I
2016-11-18 13:28 ` [PATCH 01/20] Documentation: dt-bindings: update the meson-usb2-phy example Kishon Vijay Abraham I
2016-11-18 13:28 ` [PATCH 02/20] Documentation: dt-bindings: rename meson-usb2-phy to meson8b-usb2-phy Kishon Vijay Abraham I
2016-11-18 13:28 ` [PATCH 03/20] phy: meson: add USB2 PHY support for Meson8b and GXBB Kishon Vijay Abraham I
2016-11-18 13:28 ` [PATCH 04/20] phy: meson8b-usb2: fix missing clk_disable_unprepare() on error Kishon Vijay Abraham I
2016-11-18 13:28 ` [PATCH 05/20] phy: meson8b-usb2: request a shared reset line Kishon Vijay Abraham I
2016-11-18 13:28 ` [PATCH 06/20] phy: rockchip-inno-usb2: support otg-port for rk3399 Kishon Vijay Abraham I
2016-11-18 13:28 ` Kishon Vijay Abraham I [this message]
2016-11-18 13:28 ` [PATCH 08/20] phy: rockchip-inno-usb2: correct 480MHz output clock stable time Kishon Vijay Abraham I
2016-11-18 13:28 ` [PATCH 09/20] phy: phy-miphy365x: Remove miphy365 driver and dt binding documentation Kishon Vijay Abraham I
2016-11-18 13:28 ` [PATCH 10/20] phy: stih41x-usb: Remove usb phy " Kishon Vijay Abraham I
2016-11-18 13:28 ` [PATCH 11/20] phy: da8xx-usb: Configure CFGCHIP2 to support OTG workaround Kishon Vijay Abraham I
2016-11-18 13:28 ` [PATCH 12/20] phy: rcar-gen3-usb2: add sysfs for usb role swap Kishon Vijay Abraham I
2016-11-18 13:28 ` [PATCH 13/20] phy: exynos-mipi-video: simplify check for coupled phy status Kishon Vijay Abraham I
2016-11-18 13:28 ` [PATCH 14/20] phy: fix semicolon.cocci warnings Kishon Vijay Abraham I
2016-11-18 13:28 ` [PATCH 15/20] phy: Fix ptr_ret.cocci warnings Kishon Vijay Abraham I
2016-11-18 13:28 ` [PATCH 16/20] phy: fix returnvar.cocci warnings Kishon Vijay Abraham I
2016-11-18 13:28 ` [PATCH 17/20] phy_sun4i_usb: set_mode: Allow using set_mode to force end the current session Kishon Vijay Abraham I
2016-11-18 13:28 ` [PATCH 18/20] phy: phy-twl4030-usb: emit VBUS status events to userspace Kishon Vijay Abraham I
2016-11-18 13:28 ` [PATCH 19/20] phy: rockchip-inno-usb2: fix uninitialized tmout variable Kishon Vijay Abraham I
2016-11-18 13:28 ` [PATCH 20/20] phy: rockchip-inno-usb2: select USB_COMMON Kishon Vijay Abraham I
2016-11-28  7:46 ` [GIT PULL] phy: for 4.10 Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1479475723-4857-8-git-send-email-kishon@ti.com \
    --to=kishon@ti.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).