]> git.itanic.dy.fi Git - linux-stable/commitdiff
phy: exynos5-usbdrd: Calibrating makes sense only for USB2.0 PHY
authorMarek Szyprowski <m.szyprowski@samsung.com>
Wed, 8 Jul 2020 13:38:00 +0000 (15:38 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 19 Aug 2020 06:14:57 +0000 (08:14 +0200)
[ Upstream commit dcbabfeb17c3c2fdb6bc92a3031ecd37df1834a8 ]

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>
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20200708133800.3336-1-m.szyprowski@samsung.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/phy/samsung/phy-exynos5-usbdrd.c

index b8b226a2001465da56beb1246abeacfb8377ddc1..1feb1e1bf85e24f30f2ae4fed14c4c4a3d165033 100644 (file)
@@ -717,7 +717,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 = {