From: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
To: Felipe Balbi <balbi@kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Rob Herring <robh@kernel.org>,
Thinh.Nguyen@synopsys.com, linux-usb@vger.kernel.org,
devicetree@vger.kernel.org, Peter Chen <peter.chen@nxp.com>,
Lee Jones <lee.jones@linaro.org>,
Alan Stern <stern@rowland.harvard.edu>,
Chunfeng Yun <chunfeng.yun@mediatek.com>,
Andrew Morton <akpm@linux-foundation.org>,
Rob Gill <rrobgill@protonmail.com>,
Macpaul Lin <macpaul.lin@mediatek.com>,
Dejin Zheng <zhengdejin5@gmail.com>, Bin Liu <b-liu@ti.com>,
"Alexander A. Klimov" <grandmaster@al2klimov.de>,
"Ahmed S. Darwish" <a.darwish@linutronix.de>,
Marek Szyprowski <m.szyprowski@samsung.com>
Cc: John Youn <John.Youn@synopsys.com>
Subject: [PATCH v6 00/11] usb: Support USB 3.2 multi-lanes
Date: Wed, 13 Jan 2021 18:52:37 -0800 [thread overview]
Message-ID: <cover.1610592135.git.Thinh.Nguyen@synopsys.com> (raw)
A USB SuperSpeed Plus device may operate at different speed and lane count
(i.e. gen2x2, gen1x2, or gen2x1). The DWC_usb32 IP supports SuperSpeed Plus
gen2x2. To support this, this series update a few things to the USB gadget
stack and dwc3 driver:
* Accept and parse new maximum_speed devicetree property strings
* Introduce enum usb_ssp_rate to describe the speed in SuperSpeed Plus genXxY
* Capture the connected and max supported usb_ssp_rate
* Report the device sublink speeds base on the usb_ssp_rate in the BOS
descriptor
* Introduce gadget ops to select SuperSpeed Plus various transfer rate and lane
count
* Update dwc3 driver to support the above changes
Changes in v6:
- Rebase on Greg's usb-testing branch
- Update the cover letter and title
* Previous version 5: https://lore.kernel.org/linux-usb/cover.1601001199.git.Thinh.Nguyen@synopsys.com/
- To simplify things, use usb_ssp_rate enum to specify the signaling rate
generation and lane count instead of separately tracking them.
- Convert the sublink speed attributes to macros and move it to uapi
- Remove usb_sublink_speed struct
- Remove "usb: dwc3: gadget: Report sublink speed capability"
- Update dwc3 to support the new changes
Changes in v5:
- Rebase on Felipe's testing/next branch
- Changed Signed-off-by email to match From: email header
- Add Rob's Reviewed-by
Changes in v4:
- Instead of using a single function to parse "maximum-speed" property for
speed, gen X, and number of lanes, split those tasks to separate common
functions
- Revise DWC3 driver to use those new common functions
- Fix checkpatch warnings for using "unsigned" rather than "unsigned int" and
missing identifier name in udc_set_num_lanes_and_speed gadget ops
Changes in v3:
- Remove "num-lanes" and "lane-speed-mantissa-gbps" common properties
- Remove "num-lanes" and "lane-speed-mantissa-gbps" properties validation in dwc3
- Update "maximum-speed" to support variations of SSP Gen X x Y
- Update common function to parse new strings for "maximum-speed"
- Update commit messages for the new changes
Changes in v2:
- Move usb_sublink_speed attribute struct and enum to include/linux/usb/ch9.h
- Use "num-lanes" and "lane-speed-mantissa-gbps" as common properties instead
- Add common functions to get num-lanes and lsm properties
- Fix missing gen1x2 sublink speed attribute check report in dwc3
Thinh Nguyen (11):
usb: ch9: Add USB 3.2 SSP attributes
usb: gadget: composite: Use SSP sublink speed macros
usb: gadget: Introduce SSP rates and lanes
usb: gadget: Introduce udc_set_ssp_rate() for SSP
usb: gadget: composite: Report various SSP sublink speeds
dt-binding: usb: Include USB SSP rates in GenXxY
usb: common: Parse for USB SSP genXxY
usb: dwc3: core: Check maximum_speed SSP genXxY
usb: dwc3: gadget: Implement setting of SSP rate
usb: dwc3: gadget: Track connected SSP rate and lane count
usb: dwc3: gadget: Set speed only up to the max supported
.../devicetree/bindings/usb/usb.yaml | 3 +
drivers/usb/common/common.c | 26 +++++-
drivers/usb/dwc3/core.c | 37 +++++++++
drivers/usb/dwc3/core.h | 9 ++
drivers/usb/dwc3/gadget.c | 80 +++++++++++++++++-
drivers/usb/gadget/composite.c | 83 +++++++++++++------
drivers/usb/gadget/udc/core.c | 16 ++--
include/linux/usb/ch9.h | 20 +++++
include/linux/usb/gadget.h | 11 +++
include/uapi/linux/usb/ch9.h | 13 +++
10 files changed, 263 insertions(+), 35 deletions(-)
base-commit: 67004e130aafad4c9e0ad3fff9cf67227b6347be
--
2.28.0
next reply other threads:[~2021-01-14 2:53 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-14 2:52 Thinh Nguyen [this message]
2021-01-14 2:52 ` [PATCH v6 01/11] usb: ch9: Add USB 3.2 SSP attributes Thinh Nguyen
2021-01-14 9:58 ` Felipe Balbi
2021-01-14 18:58 ` Thinh Nguyen
2021-01-15 11:08 ` Felipe Balbi
2021-01-16 4:03 ` Thinh Nguyen
2021-01-18 11:32 ` Felipe Balbi
2021-01-14 2:52 ` [PATCH v6 02/11] usb: gadget: composite: Use SSP sublink speed macros Thinh Nguyen
2021-01-14 2:53 ` [PATCH v6 03/11] usb: gadget: Introduce SSP rates and lanes Thinh Nguyen
2021-01-14 2:53 ` [PATCH v6 04/11] usb: gadget: Introduce udc_set_ssp_rate() for SSP Thinh Nguyen
2021-01-14 2:53 ` [PATCH v6 05/11] usb: gadget: composite: Report various SSP sublink speeds Thinh Nguyen
2021-01-14 5:47 ` Peter Chen
2021-01-14 6:16 ` Thinh Nguyen
2021-01-15 0:51 ` Peter Chen
2021-01-15 2:40 ` Thinh Nguyen
2021-01-15 2:56 ` Thinh Nguyen
2021-01-16 13:37 ` Peter Chen
2021-01-14 2:53 ` [PATCH v6 06/11] dt-binding: usb: Include USB SSP rates in GenXxY Thinh Nguyen
2021-01-14 2:53 ` [PATCH v6 07/11] usb: common: Parse for USB SSP genXxY Thinh Nguyen
2021-01-14 2:53 ` [PATCH v6 08/11] usb: dwc3: core: Check maximum_speed " Thinh Nguyen
2021-01-14 2:53 ` [PATCH v6 09/11] usb: dwc3: gadget: Implement setting of SSP rate Thinh Nguyen
2021-01-14 10:02 ` Felipe Balbi
2021-01-14 18:17 ` Thinh Nguyen
2021-01-15 11:13 ` Felipe Balbi
2021-01-14 2:53 ` [PATCH v6 10/11] usb: dwc3: gadget: Track connected SSP rate and lane count Thinh Nguyen
2021-01-14 2:53 ` [PATCH v6 11/11] usb: dwc3: gadget: Set speed only up to the max supported Thinh Nguyen
2021-01-18 17:42 ` [PATCH v6 00/11] usb: Support USB 3.2 multi-lanes Greg Kroah-Hartman
2021-01-20 1:38 ` Thinh Nguyen
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=cover.1610592135.git.Thinh.Nguyen@synopsys.com \
--to=thinh.nguyen@synopsys.com \
--cc=John.Youn@synopsys.com \
--cc=a.darwish@linutronix.de \
--cc=akpm@linux-foundation.org \
--cc=b-liu@ti.com \
--cc=balbi@kernel.org \
--cc=chunfeng.yun@mediatek.com \
--cc=devicetree@vger.kernel.org \
--cc=grandmaster@al2klimov.de \
--cc=gregkh@linuxfoundation.org \
--cc=lee.jones@linaro.org \
--cc=linux-usb@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=macpaul.lin@mediatek.com \
--cc=peter.chen@nxp.com \
--cc=robh@kernel.org \
--cc=rrobgill@protonmail.com \
--cc=stern@rowland.harvard.edu \
--cc=zhengdejin5@gmail.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 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.