From: Akash Kumar <akash.kumar@oss.qualcomm.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konradybcio@kernel.org>,
Rob Herring <robh@kernel.org>,
Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>
Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org
Subject: [PATCH v2] usb: dwc3: Update nominal max votes for qcom usb
Date: Thu, 5 Nov 2026 15:32:16 +0530 [thread overview]
Message-ID: <20261105100626.2003771-1-akash.kumar@oss.qualcomm.com> (raw)
Increase the nominal max USB memory bandwidth vote to let DDR scale
higher within its nominal corner, fixing glitches seen during
simultaneous USB audio use cases.
USB_MEMORY_PEAK_SS_BW is raised from 2500 MB/s to 4500 MB/s (+2000
MB/s, ~1.8x). This ICC vote does not by itself determine DDR
frequency; the vote-to-frequency mapping is platform-specific and
comes from each target's interconnect/OPP table. On the tested
targets, the old vote kept DDR pinned at 1 GHz within the nominal
corner, even though DDR can run at 1.5 GHz (+50%) within the same
corner. At 1 GHz, glitches were observed during multiple concurrent
USB audio use cases.
Tested internally on RB3, RB4, RB8, Shikra, and other KLM targets.
With the updated vote, DDR is allowed to run at the higher nominal
frequency, and the following were measured (not merely projected):
- USB memory throughput: 125 MB/s -> 145 MB/s (+16%)
- RTD-USBC audio latency: 17.9 ms -> 16.6 ms (-7.3%)
RTD-USBC is the round-trip audio latency measured over a USB-C audio
path; lower is better. Note the +50% DDR frequency headroom does not
map linearly to the +16% throughput gain, since throughput is also
bounded by other factors along the USB/DDR path; the frequency
increase is necessary but not sufficient to explain the full gain on
its own.
Signed-off-by: Akash Kumar <akash.kumar@oss.qualcomm.com>
---
v2: Added Details of targets Tested.
Added details for usb vote.
Added KPI Details.
Dropped USB AVG BW vote change which is not needed.
Link to v1: https://lore.kernel.org/all/20260611081831.2743464-1-akash.kumar@oss.qualcomm.com/
---
drivers/usb/dwc3/dwc3-qcom.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c
index ac68b4218b56..3a19385969dc 100644
--- a/drivers/usb/dwc3/dwc3-qcom.c
+++ b/drivers/usb/dwc3/dwc3-qcom.c
@@ -46,7 +46,7 @@
#define USB_MEMORY_AVG_HS_BW MBps_to_icc(240)
#define USB_MEMORY_PEAK_HS_BW MBps_to_icc(700)
#define USB_MEMORY_AVG_SS_BW MBps_to_icc(1000)
-#define USB_MEMORY_PEAK_SS_BW MBps_to_icc(2500)
+#define USB_MEMORY_PEAK_SS_BW MBps_to_icc(4500)
#define APPS_USB_AVG_BW 0
#define APPS_USB_PEAK_BW MBps_to_icc(40)
--
2.43.0
reply other threads:[~2026-11-05 10:06 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=20261105100626.2003771-1-akash.kumar@oss.qualcomm.com \
--to=akash.kumar@oss.qualcomm.com \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.baryshkov@oss.qualcomm.com \
--cc=gregkh@linuxfoundation.org \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=robh@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®