Message ID | cover.1595727196.git.thinhn@synopsys.com (mailing list archive) |
---|---|
Headers | show |
Series | usb: Handle different sublink speeds | expand |
Hi all, Thinh Nguyen wrote: > A USB super-speed-plus device may operate at different sublink speed and lane > count (e.g. gen2x2, gen1x2, or gen2x1). The usb gadget stack needs to be able > to handle a couple things: > > 1) Report the sublink speed attributes the device support > 2) Select the sublink speed attribute > > This series introduces sublink speed attribute structure to ch9.h to capture > the device capability of the gadget. It also introduces a new gadget ops > udc_set_num_lanes_and_speed to select a specific sublink speed. > > DWC3 needs this support for DWC_usb32 IP. Implement the new changes for DWC3. > > 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 (12): > usb: ch9: Add sublink speed struct > usb: gadget: composite: Avoid using magic numbers > usb: gadget: Expose sublink speed attributes > usb: gadget: Set max speed for SSP devices > usb: composite: Properly report sublink speed > usb: devicetree: Include USB SSP Gen X x Y > usb: common: Add and update common functions for SSP speeds > usb: dwc3: Initialize lane count and sublink speed > usb: dwc3: gadget: Report sublink speed capability > usb: dwc3: gadget: Implement setting of sublink speed > usb: dwc3: gadget: Track connected lane and sublink speed > usb: dwc3: gadget: Set speed only up to the max supported > > Documentation/devicetree/bindings/usb/generic.txt | 11 +- > drivers/usb/common/common.c | 46 ++++++- > drivers/usb/dwc3/core.c | 29 +++++ > drivers/usb/dwc3/core.h | 14 +++ > drivers/usb/dwc3/gadget.c | 143 +++++++++++++++++++++- > drivers/usb/gadget/composite.c | 81 ++++++++---- > drivers/usb/gadget/udc/core.c | 24 +++- > include/linux/usb/ch9.h | 73 +++++++++++ > include/linux/usb/gadget.h | 23 ++++ > 9 files changed, 403 insertions(+), 41 deletions(-) > > > base-commit: a1ff2f6769e39055e973b068070aeea0b3bcd90f Gentle ping... Let me know if you have any concern for any of the patch in this series. Thanks, Thinh