[RESEND] phy: exynos5-usbdrd: Calibrating makes sense only for USB2.0 PHY

Message ID 20200708133800.3336-1-m.szyprowski@samsung.com
State New
Headers show
Series
  • [RESEND] phy: exynos5-usbdrd: Calibrating makes sense only for USB2.0 PHY
Related show

Commit Message

Marek Szyprowski July 8, 2020, 1:38 p.m.
PHY calibration is needed only for USB2.0 (UTMI) PHY, so skip calling
calibration code when phy_calibrate() is called for USB3.0 (PIPE3) PHY.

Fixes: d8c80bb3b55b ("phy: exynos5-usbdrd: Calibrate LOS levels for exynos5420/5800")
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>

---
 drivers/phy/samsung/phy-exynos5-usbdrd.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

-- 
2.17.1

Comments

Krzysztof Kozlowski July 8, 2020, 1:47 p.m. | #1
On Wed, Jul 08, 2020 at 03:38:00PM +0200, Marek Szyprowski wrote:
> PHY calibration is needed only for USB2.0 (UTMI) PHY, so skip calling

> calibration code when phy_calibrate() is called for USB3.0 (PIPE3) PHY.

> 

> Fixes: d8c80bb3b55b ("phy: exynos5-usbdrd: Calibrate LOS levels for exynos5420/5800")

> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>

> ---

>  drivers/phy/samsung/phy-exynos5-usbdrd.c | 4 +++-

>  1 file changed, 3 insertions(+), 1 deletion(-)


Acked-by: Krzysztof Kozlowski <krzk@kernel.org>


Best regards,
Krzysztof
Vinod Koul July 13, 2020, 5:13 a.m. | #2
On 08-07-20, 15:38, Marek Szyprowski wrote:
> PHY calibration is needed only for USB2.0 (UTMI) PHY, so skip calling

> calibration code when phy_calibrate() is called for USB3.0 (PIPE3) PHY.


Applied, thanks

-- 
~Vinod

Patch

diff --git a/drivers/phy/samsung/phy-exynos5-usbdrd.c b/drivers/phy/samsung/phy-exynos5-usbdrd.c
index 646259bee909..f07edd80d2f3 100644
--- a/drivers/phy/samsung/phy-exynos5-usbdrd.c
+++ b/drivers/phy/samsung/phy-exynos5-usbdrd.c
@@ -714,7 +714,9 @@  static int exynos5_usbdrd_phy_calibrate(struct phy *phy)
 	struct phy_usb_instance *inst = phy_get_drvdata(phy);
 	struct exynos5_usbdrd_phy *phy_drd = to_usbdrd_phy(inst);
 
-	return exynos5420_usbdrd_phy_calibrate(phy_drd);
+	if (inst->phy_cfg->id == EXYNOS5_DRDPHY_UTMI)
+		return exynos5420_usbdrd_phy_calibrate(phy_drd);
+	return 0;
 }
 
 static const struct phy_ops exynos5_usbdrd_phy_ops = {