All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johan Hovold <johan@kernel.org>
To: Krishna Kurapati PSSNV <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>,
	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: Mon, 23 Oct 2023 11:21:51 +0200	[thread overview]
Message-ID: <ZTY7Lwjd3_8NlfEi@hovoldconsulting.com> (raw)
In-Reply-To: <14fc724c-bc99-4b5d-9893-3e5eff8895f7@quicinc.com>

On Mon, Oct 23, 2023 at 12:11:45AM +0530, Krishna Kurapati PSSNV wrote:
> On 10/20/2023 6:53 PM, Johan Hovold wrote:
> > On Sat, Oct 07, 2023 at 09:18:01PM +0530, Krishna Kurapati wrote:

> >> +#define NUM_PHY_IRQ		4
> >> +
> >> +enum dwc3_qcom_ph_index {
> > 
> > "phy_index"
> > 
> >> +	DP_HS_PHY_IRQ_INDEX = 0,
> >> +	DM_HS_PHY_IRQ_INDEX,
> >> +	SS_PHY_IRQ_INDEX,
> >> +	HS_PHY_IRQ_INDEX,
> >> +};
> >> +
> >>   struct dwc3_acpi_pdata {
> >>   	u32			qscratch_base_offset;
> >>   	u32			qscratch_base_size;
> >>   	u32			dwc3_core_base_size;
> >> +	/*
> >> +	 * The phy_irq_index corresponds to ACPI indexes of (in order) DP/DM/SS
> >> +	 * IRQ's respectively.
> >> +	 */
> >> +	int			phy_irq_index[NUM_PHY_IRQ - 1];
> >>   	int			hs_phy_irq_index;
> >> -	int			dp_hs_phy_irq_index;
> >> -	int			dm_hs_phy_irq_index;
> >> -	int			ss_phy_irq_index;
> >>   	bool			is_urs;
> >>   };
> >>   
> >> @@ -73,10 +84,12 @@ struct dwc3_qcom {
> >>   	int			num_clocks;
> >>   	struct reset_control	*resets;
> >>   
> >> +	/*
> >> +	 * The phy_irq corresponds to IRQ's registered for (in order) DP/DM/SS
> >> +	 * respectively.
> >> +	 */
> >> +	int			phy_irq[NUM_PHY_IRQ - 1][DWC3_MAX_PORTS];
> >>   	int			hs_phy_irq;
> >> -	int			dp_hs_phy_irq;
> >> -	int			dm_hs_phy_irq;
> >> -	int			ss_phy_irq;
> > 
> > I'm not sure using arrays like this is a good idea (and haven't you
> > switched the indexes above?).
> > 
> > Why not add a port structure instead?
> > 
> > 	struct dwc3_qcom_port {
> > 		int hs_phy_irq;
> > 		int dp_hs_phy_irq;
> > 		int dm_hs_phy_irq;
> > 		int ss_phy_irq;
> > 	};
> > 
> > and then have
> > 
> > 	struct dwc3_qcom_port ports[DWC3_MAX_PORTS];
> > 
> > in dwc3_qcom. The port structure can the later also be amended with
> > whatever other additional per-port data there is need for.
> > 
> > This should make the implementation cleaner.
> > 
> > I also don't like the special handling of hs_phy_irq; if this is really
> > just another name for the pwr_event_irq then this should be cleaned up
> > before making the code more complicated than it needs to be.
> > 
> > Make sure to clarify this before posting a new revision.
> 
> hs_phy_irq is different from pwr_event_irq.

How is it different and how are they used?

> AFAIK, there is only one of this per controller.

But previous controllers were all single port so this interrupt is
likely also per-port, even if your comment below seems to suggest even
SC8280XP has one, which is unexpected (and not described in the updated
binding):

	Yes, all targets have the same IRQ's. Just that MP one's have
	multiple IRQ's of each type. But hs-phy_irq is only one in
	SC8280 as well.

	https://lore.kernel.org/lkml/70b2495f-1305-05b1-2039-9573d171fe24@quicinc.com/

Please clarify.

> >> -static int dwc3_qcom_prep_irq(struct dwc3_qcom *qcom, char *irq_name,
> >> -				char *disp_name, int irq)
> >> +static int dwc3_qcom_prep_irq(struct dwc3_qcom *qcom, const char *irq_name,
> >> +				const char *disp_name, int irq)
> > 
> > Ok, here you did drop the second name parameter, but without renaming
> > the first and hidden in a long diff without any mention anywhere.
> > 
> I didn't understand the comment. Can you please elaborate.
> I didn't drop the second parameter. In the usage of this call, I passed 
> same value to both irq_name and disp_name:
> 
> "dwc3_qcom_prep_irq(qcom, irq_names[i], irq_names[i], irq);"
> 
> I mentioned in cover-letter that I am using same name as obtained from 
> DT to register the interrupts as well. Should've mentioned that in 
> commit text of this patch. Will do it in next version.

Ah, sorry I misread the diff. You never drop the second name even though
it is now redundant as I pointed on in a comment to one of the earlier
patches.

Johan

  reply	other threads:[~2023-10-23  9:21 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 [this message]
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
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=ZTY7Lwjd3_8NlfEi@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_jackp@quicinc.com \
    --cc=quic_kriskura@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.