All of lore.kernel.org
 help / color / mirror / Atom feed
From: Krishna Kurapati PSSNV <quic_kriskura@quicinc.com>
To: Johan Hovold <johan@kernel.org>
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>,
	Wesley Cheng <quic_wcheng@quicinc.com>,
	<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_jackp@quicinc.com>, <ahalaney@redhat.com>,
	<quic_shazhuss@quicinc.com>
Subject: Re: [PATCH v13 05/10] usb: dwc3: qcom: Refactor IRQ handling in QCOM Glue driver
Date: Thu, 23 Nov 2023 01:02:24 +0530	[thread overview]
Message-ID: <e0789695-43ee-4285-95e9-4cdee24d6ffe@quicinc.com> (raw)
In-Reply-To: <ZVYTFi3Jnnljl48L@hovoldconsulting.com>



On 11/16/2023 6:33 PM, Johan Hovold wrote:
> On Wed, Nov 15, 2023 at 11:12:16PM +0530, Krishna Kurapati PSSNV wrote:
> 
>>> Are you sure there's no support for hs_phy_irq also in the "femto" PHYs
>>> and that it's just that there is currently no driver support for using
>>> them?
>>>
>>> And why is it defined if there is truly no use for it?
> 
>> We had an internal sync up with HW folks and here is some baseline
>> suggestions we received:
>>
>> If DP/DM interrupts are defined, then that is the preferred path to
>> used, irrespective if HS Phy irq is defined or not / or whether it is
>> Femto / QUSB2 target. There is no target that has femto phy but misses
>> DP/DM today.
> 
> Ok, but just knowing that it is "preferred" does not in itself mean that
> it should be removed from the binding.
> 
> We need to know that it's effectively useless (i.e. that the interrupts
> are defined but cannot be triggered) for that.
> 
> We can still use the DP/DM interrupts in favour of HS in the driver
> however.
> 
>> For cases like sdm660/msm8998/msm8953/msm8956, these targets use
>> hs_phy_irq only and don't rely on DP/DM. So we cannot remove the binding
>> in entirety.
> 
> I fixed the binding for those specific platforms last year:
> 
> 	dd566faebe9f ("dt-bindings: usb: qcom,dwc3: refine interrupt requirements")
> 
> But as I mentioned in that commit message the following platforms do not
> have any wakeup interrupts specified in mainline currently:
> 
>        - qcom,ipq4019-dwc3
>        - qcom,ipq6018-dwc3
>        - qcom,ipq8064-dwc3
>        - qcom,ipq8074-dwc3
>        - qcom,msm8994-dwc3
>        - qcom,qcs404-dwc3
> 
> It would be good to get that cleaned up too (i.e. add the missing
> interrupt definitions and update the binding to match).
> 
>>> Also, if hs_phy_irq and dp/dm_phy_irq were mutually exclusive, why does
>>> the following Qualcomm SoCs define all three?
> 
>> HS Phy Irq is redundant or functionality is mutually exclusive in this
>> case. If there are targets that define all three, then we need to update
>> those to only utilize DP/DM interrupts.
> 
> No, as I wrote above that depends on if the HS interrupt is truly
> useless. Otherwise it still belongs in the binding, even if the driver
> uses DP/DM in place of it.
> 
> Again, the binding should describe the hardware, not what a particular
> OS chooses to use.
> 

Hi Johan,

  Sorry for delayed response.

  Pushed [1] to address all the queries and comments. I was initially 
looking at only Femto phy targets, but when I looked at all targets in 
general, seems there is one irq not defined in bindings. It is qubs2_phy 
irq which is named as "hs_phy_irq" on QUSB target DT's (both downstream 
and upstream).

There is one actual "hs_phy_irq" as well but it is not used either by hs 
validation team or sw team on any target. It was put in for debug 
purpose only and doesn't have code to trigger it (even downstream never 
implemented it I suppose) Atleast 4.4 onwards I saw the code but I 
didn't see the actual hs_phy_irq being used. It was the qusb2_phy irq 
named as hs_phy_irq.

Even hw folks used it under the same name which is why they recommended 
using it on qusb2 targets and dp/dm on femto targets.

As we moved from qusb2 to femto phys, since qusb2_phy irq was not 
present, the actual hs_phy_irq was put in the interrupts although it is 
never triggered. That is why when I tried to check on sa8295-adp 
multiport, those 4 hs interrupts never got fired. Hope the explanation 
clears the confusion present around the interrupts.

On some targets the hs_phy_irq was given vector number of pwr_event irq 
also like sm8550/sm8450 etc., I tried to address those as well in the 
series.

Also, per your question as to there are some qusb2 targets having dp/dm 
interrupts defined... It is only for SDM845/SDM670/SM6350 which were 
last in line of using qusb2 phy's and they started incorporating dp/dm 
interrupts.

Also added missing interrupts for qcs404/ipq5332.
I didn't add missing interrupts on sc8280xp because I see that current 
interrupts present are working fine (I see ADB working and wakeup 
working as well), but the interrupt vector numbers are off by "1" 
between hs specifics and DT (both upstream and downstream). Will sort it 
out and clean that target up later.

[1]: https://patchwork.kernel.org/project/linux-arm-msm/list/?series=803412

Regards,
Krishna,

  reply	other threads:[~2023-11-22 19:32 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-07 15:47 [PATCH v13 00/10] Add multiport support for DWC3 controllers Krishna Kurapati
2023-10-07 15:47 ` [PATCH v13 01/10] usb: dwc3: core: Access XHCI address space temporarily to read port info Krishna Kurapati
2023-10-20  8:32   ` Johan Hovold
2023-10-20  9:42     ` Krishna Kurapati PSSNV
2023-10-23  8:44       ` Johan Hovold
2023-10-07 15:47 ` [PATCH v13 02/10] usb: dwc3: core: Skip setting event buffers for host only controllers Krishna Kurapati
2023-10-20  8:38   ` Johan Hovold
2023-10-07 15:47 ` [PATCH v13 03/10] usb: dwc3: core: Refactor PHY logic to support Multiport Controller Krishna Kurapati
2023-10-12 17:26   ` Thinh Nguyen
2023-10-20  9:57   ` Johan Hovold
2023-10-20 11:41     ` Krishna Kurapati PSSNV
2023-10-23  8:52       ` Johan Hovold
2023-10-22 18:03     ` Krishna Kurapati PSSNV
2023-10-23  9:11       ` Johan Hovold
2023-10-23 12:33         ` Krishna Kurapati PSSNV
2023-10-23 14:10           ` Johan Hovold
2023-10-07 15:48 ` [PATCH v13 04/10] usb: dwc3: qcom: Add helper function to request threaded IRQ Krishna Kurapati
2023-10-20 12:30   ` Johan Hovold
2023-10-07 15:48 ` [PATCH v13 05/10] usb: dwc3: qcom: Refactor IRQ handling in QCOM Glue driver Krishna Kurapati
2023-10-20 13:23   ` Johan Hovold
2023-10-22 18:41     ` Krishna Kurapati PSSNV
2023-10-23  9:21       ` Johan Hovold
2023-10-23 11:24         ` Krishna Kurapati PSSNV
2023-10-23 14:07           ` Johan Hovold
2023-10-23 17:12             ` Krishna Kurapati PSSNV
2023-10-24  6:56               ` Johan Hovold
2023-10-24  8:53                 ` Krishna Kurapati PSSNV
2023-10-24  9:18                   ` Johan Hovold
2023-10-24  9:23                     ` Greg Kroah-Hartman
2023-10-24  9:29                       ` Johan Hovold
2023-10-24  9:54                         ` Greg Kroah-Hartman
2023-11-03 10:04                 ` Krishna Kurapati PSSNV
2023-11-07  8:29                   ` Krishna Kurapati PSSNV
2023-11-09 15:18                   ` Johan Hovold
2023-11-09 16:38                     ` Krishna Kurapati PSSNV
2023-11-09 20:25                       ` Wesley Cheng
2023-11-10  9:28                         ` Johan Hovold
2023-11-10  9:18                       ` Johan Hovold
2023-11-10 10:01                         ` Krishna Kurapati PSSNV
2023-11-10 10:44                           ` Johan Hovold
2023-11-10 11:09                             ` Krishna Kurapati PSSNV
2023-11-15 17:42                     ` Krishna Kurapati PSSNV
2023-11-16 13:03                       ` Johan Hovold
2023-11-22 19:32                         ` Krishna Kurapati PSSNV [this message]
2023-11-23 13:44                           ` Johan Hovold
2023-11-24  9:00                             ` Krishna Kurapati PSSNV
2023-11-24  9:13                               ` Krzysztof Kozlowski
2023-11-24 10:13                               ` Johan Hovold
2023-11-24 10:38                                 ` Krishna Kurapati PSSNV
2023-11-24 11:19                                   ` Johan Hovold
2023-10-07 15:48 ` [PATCH v13 06/10] usb: dwc3: qcom: Enable wakeup for applicable ports of multiport Krishna Kurapati
2023-10-23 15:47   ` Johan Hovold
2023-10-23 17:27     ` Krishna Kurapati PSSNV
2023-10-24  7:10       ` Johan Hovold
2023-10-24  8:41         ` Krishna Kurapati PSSNV
2023-10-24  9:06           ` Johan Hovold
2023-10-07 15:48 ` [PATCH v13 07/10] usb: dwc3: qcom: Add multiport suspend/resume support for wrapper Krishna Kurapati
2023-10-23 15:58   ` Johan Hovold
2023-10-23 17:22     ` Krishna Kurapati PSSNV
2023-10-24  7:03       ` Johan Hovold
2023-10-07 15:48 ` [PATCH v13 08/10] arm64: dts: qcom: sc8280xp: Add multiport controller node for SC8280 Krishna Kurapati
2023-10-08 11:11   ` Krzysztof Kozlowski
2023-10-08 11:21     ` Krishna Kurapati PSSNV
2023-10-08 11:23       ` Krzysztof Kozlowski
2023-10-12 16:40   ` Konrad Dybcio
2023-10-12 17:02     ` Krishna Kurapati PSSNV
2023-10-18 11:57       ` Krishna Kurapati PSSNV
2023-10-23 16:09   ` Johan Hovold
2023-10-23 17:16     ` Krzysztof Kozlowski
2023-10-23 17:34     ` Krishna Kurapati PSSNV
2023-10-24  7:13       ` Johan Hovold
2023-10-07 15:48 ` [PATCH v13 09/10] arm64: dts: qcom: sa8295p: Enable tertiary controller and its 4 USB ports Krishna Kurapati
2023-10-12 16:40   ` Konrad Dybcio
2023-10-23 16:23   ` Johan Hovold
2023-10-23 17:42     ` Krishna Kurapati PSSNV
2023-10-24  7:20       ` Johan Hovold
2023-10-24  8:26         ` Krishna Kurapati PSSNV
2023-10-07 15:48 ` [PATCH v13 10/10] arm64: dts: qcom: sa8540-ride: Enable first port of tertiary usb controller Krishna Kurapati
2023-10-12 16:41   ` Konrad Dybcio
2023-10-23 16:30   ` Johan Hovold
2023-10-08 10:43 ` [PATCH v13 00/10] Add multiport support for DWC3 controllers Krzysztof Kozlowski
2023-10-08 11:01   ` Krishna Kurapati PSSNV
2023-10-08 11:09     ` Krzysztof Kozlowski
2023-10-10 20:51 ` Konrad Dybcio
2023-10-11  5:11   ` Krishna Kurapati PSSNV
2023-10-11  9:34     ` Konrad Dybcio
2023-10-12  6:17       ` Krishna Kurapati PSSNV

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=e0789695-43ee-4285-95e9-4cdee24d6ffe@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_shazhuss@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.