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
next prev parent 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).