LKML Archive mirror
 help / color / mirror / Atom feed
From: Krishna Kurapati PSSNV <quic_kriskura@quicinc.com>
To: Konrad Dybcio <konrad.dybcio@linaro.org>,
	Johan Hovold <johan@kernel.org>,
	Wesley Cheng <quic_wcheng@quicinc.com>,
	Jack Pham <quic_jackp@quicinc.com>
Cc: Thinh Nguyen <Thinh.Nguyen@synopsys.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	"Andy Gross" <agross@kernel.org>,
	Bjorn Andersson <andersson@kernel.org>,
	"Rob Herring" <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Felipe Balbi <balbi@kernel.org>, <linux-usb@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <linux-arm-msm@vger.kernel.org>,
	<devicetree@vger.kernel.org>, <quic_pkondeti@quicinc.com>,
	<quic_ppratap@quicinc.com>, <ahalaney@redhat.com>
Subject: Re: [PATCH v8 6/9] usb: dwc3: qcom: Add multiport controller support for qcom wrapper
Date: Sat, 12 Aug 2023 14:28:21 +0530	[thread overview]
Message-ID: <3c1a9e91-d49a-b191-4f3c-506fe41ea343@quicinc.com> (raw)
In-Reply-To: <dd622171-a4d3-4143-9e8a-f5a47d3e7916@linaro.org>



On 8/11/2023 10:18 PM, Konrad Dybcio wrote:
> On 21.07.2023 14:54, Johan Hovold wrote:
>> On Fri, Jul 21, 2023 at 02:10:07PM +0200, Konrad Dybcio wrote:
>>> On 21.07.2023 13:16, Johan Hovold wrote:
>>>> On Fri, Jul 14, 2023 at 04:08:45PM +0530, Krishna Kurapati PSSNV wrote:
>>>>> On 7/14/2023 2:30 PM, Johan Hovold wrote:
>>>>>> 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
>>
>>> Sidenote, I get this on any Qcom device on any platform I try
>>> to enter suspend on, without these MP patches.
>>
>> Ok, that might provide some hint. But on sc8280xp (X13s) we only get it
>> on one of the four MP ports (i.e. on one out of six ports in total).
>>
>> While on sa8295p-adp there are no such errors on any port.
> I've been playing with 8450 and it looks like snps,dis_u2_susphy_quirk
> causes this error.
> 
> The downstream tree contains this property and I'm inclined to believe
> it means that this platforms should define it (as the devicetrees are
> machine-generated to a degree, AFAIK), especially since this quirk does
> the exact same thing on a known-working downstream, namely unsetting
> DWC3_GUSB2PHYCFG_SUSPHY.
> 
> Digging a bit deeper, dwc3-msm-core [1], the downstream version of dwc3-qcom
> performs a bit of a dance in a couple of places.. Look for that register name.
> 
> Unfortunately I have little idea what the "USB2 suspend phy" is.. is it a PHY
> used in suspend? Is it the suspension of the USB2 PHY? No clue.
> 
> [1] https://git.codelinaro.org/clo/la/kernel/msm-5.10/-/blob/KERNEL.PLATFORM.1.0.r2-08800-WAIPIOLE.0/drivers/usb/dwc3/dwc3-msm-core.c
> 

The description for that bit (BIT(6)) as per the databook is as follows:

---

6 SUSPENDUSB20 R_W Suspend USB2.0 HS/FS/LS PHY (SusPHY)
When set, USB2.0 PHY enters Suspend mode if Suspend
conditions are valid.

For DRD/OTG configurations, it is recommended that this bit is set
to 0 during coreConsultant configuration. If it is set to 1, then the
application must clear this bit after power-on reset. Application
needs to set it to 1 after the core initialization completes.
For all other configurations, this bit can be set to 1 during core
configuration.

Note:
■ In host mode, on reset, this bit is set to 1. Software can override
this bit after reset.
■ In device mode, before issuing any device endpoint command

when operating in 2.0 speeds, disable this bit and enable it after
the command completes. If you issue a command without
disabling this bit when the device is in L2 state and if mac2_clk
(utmi_clk/ulpi_clk) is gated off, the command will not get
completed

---

"L2" is the term we say when PHY is suspended, i.e., the main PLL is 
shut off. Internally, I was able to find out that there are several 
conditions where phy can fail to enter L2. The entry into L2 is 
controlled by the USB controller itself, but can be limited by toggling 
GUSB2PHY SUSPENDABLE bit.  if that bit is 0 then controller won't place 
HSPHY into L2. For the failure to enter L2, there can be several 
situations, like there may be some pending line state change that 
happened on the bus.

But Johan's error seems to be different as the register itself reads 
zero which I don't understand.

Regards,
Krishna,

  reply	other threads:[~2023-08-12  8:58 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-14  5:49 [PATCH v8 0/9] Add multiport support for DWC3 controllers Krishna Kurapati
2023-05-14  5:49 ` [PATCH v8 1/9] dt-bindings: usb: qcom,dwc3: Add bindings for SC8280 Multiport Krishna Kurapati
2023-05-14  9:46   ` Krzysztof Kozlowski
2023-05-16 10:59   ` Johan Hovold
2023-05-17 11:10     ` Krishna Kurapati PSSNV
2023-05-17 11:44       ` Johan Hovold
2023-05-17 12:19         ` Krishna Kurapati PSSNV
2023-05-17 12:55           ` Johan Hovold
2023-05-14  5:49 ` [PATCH v8 2/9] dt-bindings: usb: Add bindings for multiport properties on DWC3 controller Krishna Kurapati
2023-05-14  5:49 ` [PATCH v8 3/9] usb: dwc3: core: Access XHCI address space temporarily to read port info Krishna Kurapati
2023-05-15 21:08   ` Bjorn Andersson
2023-05-16  2:12     ` Krishna Kurapati PSSNV
2023-05-16 22:39       ` Thinh Nguyen
2023-05-16 12:11   ` Johan Hovold
2023-05-16 15:02     ` Krishna Kurapati PSSNV
2023-05-17  3:10       ` Krishna Kurapati PSSNV
2023-05-17  3:21         ` Thinh Nguyen
2023-05-17  7:46           ` Johan Hovold
2023-05-17 23:21             ` Thinh Nguyen
2023-06-07 11:56               ` Johan Hovold
2023-05-17  7:35       ` Johan Hovold
2023-05-17 12:21         ` Krishna Kurapati PSSNV
2023-05-17 15:10           ` Johan Hovold
2023-05-14  5:49 ` [PATCH v8 4/9] usb: dwc3: core: Skip setting event buffers for host only controllers Krishna Kurapati
2023-05-15 21:19   ` Bjorn Andersson
2023-05-16 12:17   ` Johan Hovold
2023-05-16 14:28     ` Krishna Kurapati PSSNV
2023-05-14  5:49 ` [PATCH v8 5/9] usb: dwc3: core: Refactor PHY logic to support Multiport Controller Krishna Kurapati
2023-05-15 21:47   ` Bjorn Andersson
2023-05-16  2:31     ` Krishna Kurapati PSSNV
2023-05-17 16:17   ` Johan Hovold
2023-05-14  5:49 ` [PATCH v8 6/9] usb: dwc3: qcom: Add multiport controller support for qcom wrapper Krishna Kurapati
2023-05-15 22:27   ` Bjorn Andersson
2023-05-16  2:19     ` Krishna Kurapati PSSNV
2023-05-17 16:37       ` Johan Hovold
2023-05-20 17:48         ` Krishna Kurapati PSSNV
2023-06-07 11:37           ` Johan Hovold
2023-06-07 19:51             ` Krishna Kurapati PSSNV
2023-06-08  9:42               ` Johan Hovold
2023-06-08 15:23                 ` Krishna Kurapati PSSNV
2023-06-08 17:57                   ` Thinh Nguyen
2023-06-09  8:18                     ` Johan Hovold
2023-06-09 18:16                       ` Thinh Nguyen
2023-06-15  4:20                         ` Krishna Kurapati PSSNV
2023-06-15 21:08                           ` Thinh Nguyen
2023-06-21  7:38                             ` Johan Hovold
2023-06-22  4:39                               ` Krishna Kurapati PSSNV
2023-06-21  7:34                         ` Johan Hovold
2023-06-22 22:41                           ` Thinh Nguyen
2023-05-26  2:55     ` Bjorn Andersson
2023-05-26 15:25       ` Krishna Kurapati PSSNV
2023-06-07 11:44         ` Johan Hovold
2023-06-07 19:55           ` Krishna Kurapati PSSNV
2023-06-08  9:44             ` Johan Hovold
2023-06-07 12:16   ` Johan Hovold
2023-06-27 15:43     ` Johan Hovold
2023-07-02 19:05       ` Krishna Kurapati PSSNV
2023-07-14  9:00         ` Johan Hovold
2023-07-14 10:38           ` Krishna Kurapati PSSNV
2023-07-21 11:16             ` Johan Hovold
2023-07-21 12:10               ` Konrad Dybcio
2023-07-21 12:54                 ` Johan Hovold
2023-08-11 16:48                   ` Konrad Dybcio
2023-08-12  8:58                     ` Krishna Kurapati PSSNV [this message]
2023-05-14  5:49 ` [PATCH v8 7/9] arm64: dts: qcom: sc8280xp: Add multiport controller node for SC8280 Krishna Kurapati
2023-05-15 14:26   ` Johan Hovold
2023-05-15 15:32     ` Krishna Kurapati PSSNV
2023-05-16 10:54       ` Johan Hovold
2023-05-16 14:24         ` Krishna Kurapati PSSNV
2023-05-16 14:42           ` Johan Hovold
2023-05-16 14:44             ` Krishna Kurapati PSSNV
2023-05-14  5:49 ` [PATCH v8 8/9] arm64: dts: qcom: sa8295p: Enable tertiary controller and its 4 USB ports Krishna Kurapati
2023-05-14  5:49 ` [PATCH v8 9/9] arm64: dts: qcom: sa8540-ride: Enable first port of tertiary usb controller Krishna Kurapati
2023-05-15  2:40 ` [PATCH v8 0/9] Add multiport support for DWC3 controllers Bjorn Andersson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3c1a9e91-d49a-b191-4f3c-506fe41ea343@quicinc.com \
    --to=quic_kriskura@quicinc.com \
    --cc=Thinh.Nguyen@synopsys.com \
    --cc=agross@kernel.org \
    --cc=ahalaney@redhat.com \
    --cc=andersson@kernel.org \
    --cc=balbi@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=johan@kernel.org \
    --cc=konrad.dybcio@linaro.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=p.zabel@pengutronix.de \
    --cc=quic_jackp@quicinc.com \
    --cc=quic_pkondeti@quicinc.com \
    --cc=quic_ppratap@quicinc.com \
    --cc=quic_wcheng@quicinc.com \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).