devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
To: Wesley Cheng <quic_wcheng@quicinc.com>
Cc: "mathias.nyman@intel.com" <mathias.nyman@intel.com>,
	"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
	"lgirdwood@gmail.com" <lgirdwood@gmail.com>,
	"broonie@kernel.org" <broonie@kernel.org>,
	"perex@perex.cz" <perex@perex.cz>,
	"tiwai@suse.com" <tiwai@suse.com>,
	"agross@kernel.org" <agross@kernel.org>,
	"andersson@kernel.org" <andersson@kernel.org>,
	"konrad.dybcio@linaro.org" <konrad.dybcio@linaro.org>,
	"robh+dt@kernel.org" <robh+dt@kernel.org>,
	"krzysztof.kozlowski+dt@linaro.org"
	<krzysztof.kozlowski+dt@linaro.org>,
	"conor+dt@kernel.org" <conor+dt@kernel.org>,
	"srinivas.kandagatla@linaro.org" <srinivas.kandagatla@linaro.org>,
	"bgoswami@quicinc.com" <bgoswami@quicinc.com>,
	Thinh Nguyen <Thinh.Nguyen@synopsys.com>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
	"linux-arm-msm@vger.kernel.org" <linux-arm-msm@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>
Subject: Re: [PATCH v8 16/34] usb: dwc3: Specify maximum number of XHCI interrupters
Date: Thu, 12 Oct 2023 18:17:41 +0000	[thread overview]
Message-ID: <20231012181728.gydszr5nu2c6r3a5@synopsys.com> (raw)
In-Reply-To: <20231011002146.1821-17-quic_wcheng@quicinc.com>

On Tue, Oct 10, 2023, Wesley Cheng wrote:
> Allow for the DWC3 host driver to pass along XHCI property that defines
> how many interrupters to allocate.  This is in relation for the number of
> event rings that can be potentially used by other processors within the
> system.
> 
> Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
> ---
>  drivers/usb/dwc3/core.c | 12 ++++++++++++
>  drivers/usb/dwc3/core.h |  2 ++
>  drivers/usb/dwc3/host.c |  5 ++++-
>  3 files changed, 18 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
> index 44ee8526dc28..652171c2f244 100644
> --- a/drivers/usb/dwc3/core.c
> +++ b/drivers/usb/dwc3/core.c
> @@ -1459,6 +1459,7 @@ static void dwc3_get_properties(struct dwc3 *dwc)
>  	u8			tx_thr_num_pkt_prd = 0;
>  	u8			tx_max_burst_prd = 0;
>  	u8			tx_fifo_resize_max_num;
> +	u16			num_hc_interrupters;
>  	const char		*usb_psy_name;
>  	int			ret;
>  
> @@ -1481,6 +1482,9 @@ static void dwc3_get_properties(struct dwc3 *dwc)
>  	 */
>  	tx_fifo_resize_max_num = 6;
>  
> +	/* default to a single XHCI interrupter */
> +	num_hc_interrupters = 1;
> +
>  	dwc->maximum_speed = usb_get_maximum_speed(dev);
>  	dwc->max_ssp_rate = usb_get_maximum_ssp_rate(dev);
>  	dwc->dr_mode = usb_get_dr_mode(dev);
> @@ -1532,6 +1536,12 @@ static void dwc3_get_properties(struct dwc3 *dwc)
>  				&tx_thr_num_pkt_prd);
>  	device_property_read_u8(dev, "snps,tx-max-burst-prd",
>  				&tx_max_burst_prd);
> +	device_property_read_u16(dev, "num-hc-interrupters",
> +				&num_hc_interrupters);
> +	/* DWC3 core allowed to have a max of 8 interrupters */
> +	if (num_hc_interrupters > 8)
> +		num_hc_interrupters = 8;
> +
>  	dwc->do_fifo_resize = device_property_read_bool(dev,
>  							"tx-fifo-resize");
>  	if (dwc->do_fifo_resize)
> @@ -1620,6 +1630,8 @@ static void dwc3_get_properties(struct dwc3 *dwc)
>  	dwc->imod_interval = 0;
>  
>  	dwc->tx_fifo_resize_max_num = tx_fifo_resize_max_num;
> +
> +	dwc->num_hc_interrupters = num_hc_interrupters;
>  }
>  
>  /* check whether the core supports IMOD */
> diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
> index c6c87acbd376..2ce5e1e59380 100644
> --- a/drivers/usb/dwc3/core.h
> +++ b/drivers/usb/dwc3/core.h
> @@ -1060,6 +1060,7 @@ struct dwc3_scratchpad_array {
>   * @tx_max_burst_prd: max periodic ESS transmit burst size
>   * @tx_fifo_resize_max_num: max number of fifos allocated during txfifo resize
>   * @clear_stall_protocol: endpoint number that requires a delayed status phase
> + * @num_hc_interrupters: number of host controller interrupters
>   * @hsphy_interface: "utmi" or "ulpi"
>   * @connected: true when we're connected to a host, false otherwise
>   * @softconnect: true when gadget connect is called, false when disconnect runs
> @@ -1294,6 +1295,7 @@ struct dwc3 {
>  	u8			tx_max_burst_prd;
>  	u8			tx_fifo_resize_max_num;
>  	u8			clear_stall_protocol;
> +	u16			num_hc_interrupters;
>  
>  	const char		*hsphy_interface;
>  
> diff --git a/drivers/usb/dwc3/host.c b/drivers/usb/dwc3/host.c
> index 61f57fe5bb78..79ce359c342a 100644
> --- a/drivers/usb/dwc3/host.c
> +++ b/drivers/usb/dwc3/host.c
> @@ -61,7 +61,7 @@ static int dwc3_host_get_irq(struct dwc3 *dwc)
>  
>  int dwc3_host_init(struct dwc3 *dwc)
>  {
> -	struct property_entry	props[4];
> +	struct property_entry	props[5];
>  	struct platform_device	*xhci;
>  	int			ret, irq;
>  	int			prop_idx = 0;
> @@ -107,6 +107,9 @@ int dwc3_host_init(struct dwc3 *dwc)
>  	if (DWC3_VER_IS_WITHIN(DWC3, ANY, 300A))
>  		props[prop_idx++] = PROPERTY_ENTRY_BOOL("quirk-broken-port-ped");
>  
> +	props[prop_idx++] = PROPERTY_ENTRY_U16("num-hc-interrupters",
> +						dwc->num_hc_interrupters);
> +
>  	if (prop_idx) {
>  		ret = device_create_managed_software_node(&xhci->dev, props, NULL);
>  		if (ret) {

Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>

Thanks,
Thinh

  reply	other threads:[~2023-10-12 18:19 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-11  0:21 [PATCH v8 00/34] Introduce QC USB SND audio offloading support Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 01/34] xhci: split free interrupter into separate remove and free parts Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 02/34] xhci: add support to allocate several interrupters Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 03/34] xhci: add helper to stop endpoint and wait for completion Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 04/34] xhci: sideband: add initial api to register a sideband entity Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 05/34] usb: host: xhci-mem: Cleanup pending secondary event ring events Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 06/34] usb: host: xhci-mem: Allow for interrupter clients to choose specific index Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 07/34] ASoC: Add SOC USB APIs for adding an USB backend Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 08/34] ASoC: dt-bindings: qcom,q6dsp-lpass-ports: Add USB_RX port Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 09/34] ASoC: qcom: qdsp6: Introduce USB AFE port to q6dsp Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 10/34] ASoC: qdsp6: q6afe: Increase APR timeout Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 11/34] ASoC: qcom: qdsp6: Add USB backend ASoC driver for Q6 Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 12/34] ALSA: usb-audio: Introduce USB SND platform op callbacks Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 13/34] ALSA: usb-audio: Export USB SND APIs for modules Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 14/34] dt-bindings: usb: dwc3: Limit num-hc-interrupters definition Wesley Cheng
2023-10-11  2:31   ` Rob Herring
2023-10-11 13:10     ` Rob Herring
2023-10-11  0:21 ` [PATCH v8 15/34] dt-bindings: usb: xhci: Add " Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 16/34] usb: dwc3: Specify maximum number of XHCI interrupters Wesley Cheng
2023-10-12 18:17   ` Thinh Nguyen [this message]
2023-10-11  0:21 ` [PATCH v8 17/34] usb: host: xhci-plat: Set XHCI max interrupters if property is present Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 18/34] ALSA: usb-audio: qcom: Add USB QMI definitions Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 19/34] ALSA: usb-audio: qcom: Introduce QC USB SND offloading support Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 20/34] ALSA: usb-audio: Check for support for requested audio format Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 21/34] ASoC: usb: Add PCM format check API for USB backend Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 22/34] ASoC: qcom: qdsp6: Ensure PCM format is supported by USB audio device Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 23/34] ALSA: usb-audio: Prevent starting of audio stream if in use Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 24/34] ASoC: dt-bindings: Add Q6USB backend Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 25/34] ASoC: dt-bindings: Update example for enabling USB offload on SM8250 Wesley Cheng
2023-10-11  2:31   ` Rob Herring
2023-10-11 21:28     ` Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 26/34] ASoC: qcom: qdsp6: q6afe: Split USB AFE dev_token param into separate API Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 27/34] ALSA: usb-audio: qcom: Populate PCM and USB chip information Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 28/34] ASoC: qcom: qdsp6: Add support to track available USB PCM devices Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 29/34] ASoC: qcom: qdsp6: Add SND kcontrol to select offload device Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 30/34] ASoC: qcom: qdsp6: Add SND kcontrol for fetching offload status Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 31/34] ASoC: qcom: qdsp6: Add headphone jack for offload connection status Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 32/34] ALSA: usb-audio: qcom: Use card and PCM index from QMI request Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 33/34] ALSA: usb-audio: Allow for rediscovery of connected USB SND devices Wesley Cheng
2023-10-11  0:21 ` [PATCH v8 34/34] ASoC: usb: Rediscover USB SND devices on USB port add Wesley Cheng

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=20231012181728.gydszr5nu2c6r3a5@synopsys.com \
    --to=thinh.nguyen@synopsys.com \
    --cc=agross@kernel.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=andersson@kernel.org \
    --cc=bgoswami@quicinc.com \
    --cc=broonie@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=konrad.dybcio@linaro.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mathias.nyman@intel.com \
    --cc=perex@perex.cz \
    --cc=quic_wcheng@quicinc.com \
    --cc=robh+dt@kernel.org \
    --cc=srinivas.kandagatla@linaro.org \
    --cc=tiwai@suse.com \
    /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 NNTP newsgroup(s).