lkml.org 
[lkml]   [2019]   [Aug]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH v2 2/2 RESEND] usb: dwc3: remove generic PHY calibrate() calls
Date

Hi,

Marek Szyprowski <m.szyprowski@samsung.com> writes:
> On 2019-08-08 11:51, Felipe Balbi wrote:
>> Marek Szyprowski <m.szyprowski@samsung.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@samsung.com>
>>> Tested-by: Anand Moon <linux.amoon@gmail.com>
>>> Tested-by: Jochen Sprickerhof <jochen@sprickerhof.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.

We should, certainly, apply them together. But my concern is that
someone has been depending on this. If you've checked all other PHY
drivers, then I'm okay with removing the call.

As $subject should be applied together with the previous patch, here's
my Ack:

Acked-by: Felipe Balbi <felipe.balbi@linux.intel.com>

@Greg, if you prefer that I queue both patches and send you in a pull
request, let me know. Works either way for me. I can just rebase my
testing/next on top of your tree once you apply these patches.

cheers

--
balbi
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2019-08-08 14:56    [W:0.052 / U:6.872 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site