Re: [PATCH v8 6/9] usb: dwc3: qcom: Add multiport controller support for qcom wrapper

From: Johan Hovold
Date: Fri Jul 14 2023 - 05:00:42 EST


On Mon, Jul 03, 2023 at 12:35:48AM +0530, Krishna Kurapati PSSNV wrote:
> On 6/27/2023 9:13 PM, Johan Hovold wrote:
> > On Wed, Jun 07, 2023 at 02:16:37PM +0200, Johan Hovold wrote:
> >> On Sun, May 14, 2023 at 11:19:14AM +0530, Krishna Kurapati wrote:

> >>> - val = readl(qcom->qscratch_base + PWR_EVNT_IRQ_STAT_REG);
> >>> - if (!(val & PWR_EVNT_LPM_IN_L2_MASK))
> >>> - dev_err(qcom->dev, "HS-PHY not in L2\n");
> >>> + for (i = 0; i < dwc->num_usb2_ports; i++) {
> >>> + val = readl(qcom->qscratch_base + pwr_evnt_irq_stat_reg_offset[i]);
> >>> + if (!(val & PWR_EVNT_LPM_IN_L2_MASK))
> >>> + dev_err(qcom->dev, "HS-PHY%d not in L2\n", i);
> >>> + }
> >
> >> When testing this on the X13s I get:
> >>
> >> dwc3-qcom a4f8800.usb: HS-PHY2 not in L2
> >>
> >> for the third port, whose status registers always seems to return zero
> >> (e.g. as if we're checking the wrong register?):
> >>
> >> dwc3-qcom a4f8800.usb: dwc3_qcom_suspend - phy 0, pwr_event_stat = 38103c
> >> dwc3-qcom a4f8800.usb: dwc3_qcom_suspend - phy 1, pwr_event_stat = 38103c
> >> dwc3-qcom a4f8800.usb: dwc3_qcom_suspend - phy 2, pwr_event_stat = 00
> >> dwc3-qcom a4f8800.usb: dwc3_qcom_suspend - phy 3, pwr_event_stat = 140030
> >>
> >> I verified that everything appears to work as expected on sa8295p-adp.
> >>
> >> Do you have any idea of what may be causing this?
> >
> > You never replied to this; do you have any idea why the status register
> > for the second port seemingly always read back as 0 on the X13s?

> Missed this mail. This never popped up on my system. So no idea what
> is different in Lenovo X13s. Might need to check with team internally.

Did you hear anything back regarding the above?

Could it even be that the register offset it not correct for sc8280xp?

Johan