From e43496ce1302973ef977b48353470e068cacb0dc Mon Sep 17 00:00:00 2001 From: Vamsi Krishna Samavedam Date: Tue, 27 Sep 2016 15:18:23 -0700 Subject: usb: dwc3: fix overriding core clock rate to default max Fix the bug introduced by commit 82d4ec97786d ("usb: Add support for reset controller framework") which overrides the core clock rate from device tree. Change-Id: Ic3ef2229fa8552301e09dfb912e79e044a81324f Signed-off-by: Vamsi Krishna Samavedam --- drivers/usb/dwc3/dwc3-msm.c | 29 +++++++---------------------- 1 file changed, 7 insertions(+), 22 deletions(-) (limited to 'drivers/usb') diff --git a/drivers/usb/dwc3/dwc3-msm.c b/drivers/usb/dwc3/dwc3-msm.c index 83a265f0211e..7ce9ff925117 100644 --- a/drivers/usb/dwc3/dwc3-msm.c +++ b/drivers/usb/dwc3/dwc3-msm.c @@ -2365,36 +2365,21 @@ static int dwc3_msm_get_clk_gdsc(struct dwc3_msm *mdwc) (u32 *)&mdwc->core_clk_rate)) { mdwc->core_clk_rate = clk_round_rate(mdwc->core_clk, mdwc->core_clk_rate); - } else { - /* - * Get Max supported clk frequency for USB Core CLK and request - * to set the same. - */ - mdwc->core_clk_rate = clk_round_rate(mdwc->core_clk, LONG_MAX); } + dev_dbg(mdwc->dev, "USB core frequency = %ld\n", + mdwc->core_clk_rate); + ret = clk_set_rate(mdwc->core_clk, mdwc->core_clk_rate); + if (ret) + dev_err(mdwc->dev, "fail to set core_clk freq:%d\n", ret); + + mdwc->core_reset = devm_reset_control_get(mdwc->dev, "core_reset"); if (IS_ERR(mdwc->core_reset)) { dev_err(mdwc->dev, "failed to get core_reset\n"); return PTR_ERR(mdwc->core_reset); } - /* - * Get Max supported clk frequency for USB Core CLK and request - * to set the same. - */ - mdwc->core_clk_rate = clk_round_rate(mdwc->core_clk, LONG_MAX); - if (IS_ERR_VALUE(mdwc->core_clk_rate)) { - dev_err(mdwc->dev, "fail to get core clk max freq.\n"); - } else { - dev_dbg(mdwc->dev, "USB core frequency = %ld\n", - mdwc->core_clk_rate); - ret = clk_set_rate(mdwc->core_clk, mdwc->core_clk_rate); - if (ret) - dev_err(mdwc->dev, "fail to set core_clk freq:%d\n", - ret); - } - mdwc->sleep_clk = devm_clk_get(mdwc->dev, "sleep_clk"); if (IS_ERR(mdwc->sleep_clk)) { dev_err(mdwc->dev, "failed to get sleep_clk\n"); -- cgit v1.2.3