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

Bjorn Andersson
2019-12-06T19:51:18Z

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:
>

Sorry, forgot to mention this part.

With this patch the PHY driver powers on nicely and I'm able to get PCIe
up and running, but only if both the host and phy drivers are builtin.

I also tried to revert the patch, as you suggest, but unless I make the
QMP driver builtin I simply get timeouts during initialization.

So we need to figure out what resource changes state between the two
cases (builtin vs module based probing).

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.