[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 8 Aug 2019 12:38:51 +0200
From: Marek Szyprowski <m.szyprowski@...sung.com>
To: Felipe Balbi <balbi@...nel.org>, linux-usb@...r.kernel.org,
linux-samsung-soc@...r.kernel.org
Cc: linux-kernel@...r.kernel.org,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Martin Blumenstingl <martin.blumenstingl@...glemail.com>,
Mathias Nyman <mathias.nyman@...el.com>,
Bartlomiej Zolnierkiewicz <b.zolnierkie@...sung.com>,
Krzysztof Kozlowski <krzk@...nel.org>,
Jochen Sprickerhof <jochen@...ickerhof.de>,
Anand Moon <linux.amoon@...il.com>
Subject: Re: [PATCH v2 2/2 RESEND] usb: dwc3: remove generic PHY calibrate()
calls
Hi Felipe,
On 2019-08-08 11:51, Felipe Balbi wrote:
> Marek Szyprowski <m.szyprowski@...sung.com> writes:
>> Calls to USB2 generic PHY calibrate() method has been moved to HCD core,
>> which now successfully handles generic PHYs and their calibration after
>> every HCD reset. This fixes all the timing issues related to PHY
>> calibration done directly from DWC3 driver: incorrect operation after
>> system suspend/resume or USB3.0 detection failure when XHCI-plat driver
>> compiled as separate module.
>>
>> Signed-off-by: Marek Szyprowski <m.szyprowski@...sung.com>
>> Tested-by: Anand Moon <linux.amoon@...il.com>
>> Tested-by: Jochen Sprickerhof <jochen@...ickerhof.de>
>> ---
>> drivers/usb/dwc3/core.c | 2 --
>> 1 file changed, 2 deletions(-)
>>
>> diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
>> index c9bb93a2c81e..7dd6d419254d 100644
>> --- a/drivers/usb/dwc3/core.c
>> +++ b/drivers/usb/dwc3/core.c
>> @@ -168,7 +168,6 @@ static void __dwc3_set_mode(struct work_struct *work)
>> otg_set_vbus(dwc->usb2_phy->otg, true);
>> phy_set_mode(dwc->usb2_generic_phy, PHY_MODE_USB_HOST);
>> phy_set_mode(dwc->usb3_generic_phy, PHY_MODE_USB_HOST);
>> - phy_calibrate(dwc->usb2_generic_phy);
> are you sure you're the only one using phy_calibrate()? I don't want any
> regressions because of this :-p
Yes I've checked. In case of USB PHYs, the .calibrate method is only
implemented by Exynos DRDUSB3 PHY driver:
# git grep \\\.calibrate drivers/phy
drivers/phy/broadcom/phy-brcm-sata.c: .calibrate =
brcm_sata_phy_calibrate,
drivers/phy/qualcomm/phy-qcom-ufs-qmp-14nm.c: .calibrate =
ufs_qcom_phy_qmp_14nm_phy_calibrate,
drivers/phy/qualcomm/phy-qcom-ufs-qmp-20nm.c: .calibrate =
ufs_qcom_phy_qmp_20nm_phy_calibrate,
drivers/phy/samsung/phy-exynos5-usbdrd.c: .calibrate =
exynos5_usbdrd_phy_calibrate,
(the other PHY drivers are for SATA or UFS).
To avoid the regression on Exynos it is enough to apply the 2 patches
from this patchset together.
Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland
Powered by blists - more mailing lists