From: Johan Hovold <johan@kernel.org>
To: Krishna Kurapati <quic_kriskura@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>,
Konrad Dybcio <konrad.dybcio@linaro.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,
quic_wcheng@quicinc.com, quic_jackp@quicinc.com,
quic_harshq@quicinc.com, ahalaney@redhat.com
Subject: Re: [PATCH v8 6/9] usb: dwc3: qcom: Add multiport controller support for qcom wrapper
Date: Wed, 7 Jun 2023 14:16:36 +0200 [thread overview]
Message-ID: <ZIB1JEmLCw41v_4e@hovoldconsulting.com> (raw)
In-Reply-To: <20230514054917.21318-7-quic_kriskura@quicinc.com>
On Sun, May 14, 2023 at 11:19:14AM +0530, Krishna Kurapati wrote:
> QCOM SoC SA8295P's tertiary quad port controller supports 2 HS+SS
> ports and 2 HS only ports. Add support for configuring PWR_EVENT_IRQ's
> for all the ports during suspend/resume.
>
> Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com>
> ---
> drivers/usb/dwc3/dwc3-qcom.c | 28 ++++++++++++++++++++++------
> 1 file changed, 22 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c
> index 959fc925ca7c..7a9bce66295d 100644
> --- a/drivers/usb/dwc3/dwc3-qcom.c
> +++ b/drivers/usb/dwc3/dwc3-qcom.c
> @@ -37,7 +37,10 @@
> #define PIPE3_PHYSTATUS_SW BIT(3)
> #define PIPE_UTMI_CLK_DIS BIT(8)
>
> -#define PWR_EVNT_IRQ_STAT_REG 0x58
> +#define PWR_EVNT_IRQ1_STAT_REG 0x58
> +#define PWR_EVNT_IRQ2_STAT_REG 0x1dc
> +#define PWR_EVNT_IRQ3_STAT_REG 0x228
> +#define PWR_EVNT_IRQ4_STAT_REG 0x238
> #define PWR_EVNT_LPM_IN_L2_MASK BIT(4)
> #define PWR_EVNT_LPM_OUT_L2_MASK BIT(5)
>
> @@ -93,6 +96,13 @@ struct dwc3_qcom {
> struct icc_path *icc_path_apps;
> };
>
> +static u32 pwr_evnt_irq_stat_reg_offset[4] = {
> + PWR_EVNT_IRQ1_STAT_REG,
> + PWR_EVNT_IRQ2_STAT_REG,
> + PWR_EVNT_IRQ3_STAT_REG,
> + PWR_EVNT_IRQ4_STAT_REG,
> +};
Indentation is off, as I believe Bjorn pointed out.
> static inline void dwc3_qcom_setbits(void __iomem *base, u32 offset, u32 val)
> {
> u32 reg;
> @@ -413,13 +423,16 @@ static int dwc3_qcom_suspend(struct dwc3_qcom *qcom, bool wakeup)
> {
> u32 val;
> int i, ret;
> + struct dwc3 *dwc = platform_get_drvdata(qcom->dwc3);
>
> if (qcom->is_suspended)
> return 0;
>
> - 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);
> + }
You need check for NULL dwc as we just discussed and skip the above
check if core has not probed yet.
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?
Johan
next prev parent reply other threads:[~2023-06-07 12:16 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 [this message]
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
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=ZIB1JEmLCw41v_4e@hovoldconsulting.com \
--to=johan@kernel.org \
--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=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_harshq@quicinc.com \
--cc=quic_jackp@quicinc.com \
--cc=quic_kriskura@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.