Re: [PATCH 3/6] Revert "phy: qcom-qmp: Correct ready status, again"

Bjorn Andersson
2019-12-07T18:39:54Z

On Fri 06 Dec 02:00 PST 2019, Paolo Pisati wrote:

> On Thu, Dec 05, 2019 at 11:07:05PM -0800, Bjorn Andersson wrote:
> > On Thu 05 Dec 08:15 PST 2019, Paolo Pisati wrote:
> >
> > > This reverts commit 14ced7e3a1ae9bed7051df3718c8c7b583854a5c.
> > >
> > > Signed-off-by: Paolo Pisati <p.pisati@gmail.com>
> >
> > Thanks for the patch Paolo, but reverting this commit means we're
> > checking for the wrong status bit and thereby relies on timing of that
> > bit having an appropriate value again.
> >
> > The problem at hand seems to be that some resources are missing while
> > trying to initialize the PHY, which causes it to not become ready. I saw
> > the same problem when bringing up PCIe on SDM845, but failed to validate
> > MSM8996, as this was not booting since mid-summer.
> >
> > I verified that this is the case by applying:
> > https://lore.kernel.org/linux-arm-msm/20191107000917.1092409-4-bjorn.andersson@linaro.org/
>
> Thanks Bjorn,
>
> indeed replacing the revert and leaving the rest of the series intact, my db820c
> boots fine.
>
> One thing though - i removed the =y config changes, and now the board crash
> while, it appears, powering on qmp-phy - no stacktrace, unfortunately:
>

The sudden reboot is caused by UFS not being able to find it's PHY, in
which case it will disable RPM_SMD_LN_BB_CLK, which causes
GCC_PCIE_CLKREF_CLK to stop ticking, so we get an unclocked access.

Together with the patch above I get working PCIe and UFS with both =m.
I'll send out a patch that properly describes this dependency.

I will also propose a set of patches that migrates the 8996 UFS PHY to
phy-qcom-qmp, instead of the UFS-specific QMP driver.

Regards,
Bjorn

> ...
> [ OK ] Reached target Local File Systems (Pre).
> Starting Flush Journal to Persistent Storage...
> [ OK ] Started Load/Save Random Seed.
> [ OK ] Started udev Coldplug all Devices.
> [ OK ] Started udev Kernel Device Manager.
> [ 13.550757] dwc3 7600000.dwc3: Failed to get clk 'ref': -2
> [ 13.552251] dwc3 6a00000.dwc3: Failed to get clk 'ref': -2
> [ 13.580749] dwc3 7600000.dwc3: Failed to get clk 'ref': -2
> [ 13.582802] dwc3 6a00000.dwc3: Failed to get clk 'ref': -2
> [ 13.595811] dwc3 6a00000.dwc3: Failed to get clk 'ref': -2
> [ 13.596502] hub 2-0:1.0: config failed, hub doesn't have any ports! (err -19)
> [ 13.636319] ufshcd-qcom 624000.ufshc: ufshcd_variant_hba_init: variant qcom init failed err -517
> [ 13.638919] ufshcd-qcom 624000.ufshc: Initialization failed
> [ OK ] Found device /dev/ttyMSM0.
> [ 13.675328] ufshcd-qcom 624000.ufshc: ufshcd_pltfrm_init() failed -517
> [ 13.693300] qcom-qmp-phy 34000.phy: phy common block init timed-out
> [ 13.693390] phy phy-34000.phy.2: phy poweron failed --> -110
> [ 13.698831] qcom-pcie 600000.pcie: cannot initialize host
>
> Log Type: B - Since Boot(Power On Reset), D - Delta, S - Statistic
> S - QC_IMAGE_VERSION_STRING=BOOT.XF.1.0-00301
> S - IMAGE_VARIANT_STRING=M8996LAB
> S - OEM_IMAGE_VERSION_STRING=crm-ubuntu68
> S - Boot Interface: UFS
> S - Secure Boot: Off
> ...
> -
> bye,
> p.