summaryrefslogtreecommitdiff
path: root/drivers/phy/phy-mixel-lvds.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/phy/phy-mixel-lvds.c')
-rw-r--r--drivers/phy/phy-mixel-lvds.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/phy/phy-mixel-lvds.c b/drivers/phy/phy-mixel-lvds.c
index 824b251020a4..31188884f331 100644
--- a/drivers/phy/phy-mixel-lvds.c
+++ b/drivers/phy/phy-mixel-lvds.c
@@ -96,6 +96,13 @@ void mixel_phy_lvds_set_phy_speed(struct phy *phy, unsigned long phy_clk_rate)
mutex_unlock(&priv->lock);
clk_disable_unprepare(priv->phy_clk);
+ /*
+ * To workaround setting clock rate failure issue
+ * when the system resumes back from PM sleep mode,
+ * we need to get the clock rate before setting it's
+ * rate, otherwise, setting the clock rate will fail.
+ */
+ clk_get_rate(priv->phy_clk);
clk_set_rate(priv->phy_clk, phy_clk_rate);
}
EXPORT_SYMBOL_GPL(mixel_phy_lvds_set_phy_speed);