Commit 4eb8e32d authored by John Youn's avatar John Youn Committed by Felipe Balbi

usb: gadget: composite: Configure the usb_ep for SuperSpeedPlus

Configure the usb_ep using the SuperSpeedPlus descriptors if connected
in SuperSpeedPlus.
Signed-off-by: default avatarJohn Youn <johnyoun@synopsys.com>
Signed-off-by: default avatarFelipe Balbi <balbi@kernel.org>
parent eae5820b
...@@ -148,6 +148,13 @@ int config_ep_by_speed(struct usb_gadget *g, ...@@ -148,6 +148,13 @@ int config_ep_by_speed(struct usb_gadget *g,
/* select desired speed */ /* select desired speed */
switch (g->speed) { switch (g->speed) {
case USB_SPEED_SUPER_PLUS:
if (gadget_is_superspeed_plus(g)) {
speed_desc = f->ssp_descriptors;
want_comp_desc = 1;
break;
}
/* else: Fall trough */
case USB_SPEED_SUPER: case USB_SPEED_SUPER:
if (gadget_is_superspeed(g)) { if (gadget_is_superspeed(g)) {
speed_desc = f->ss_descriptors; speed_desc = f->ss_descriptors;
...@@ -191,7 +198,7 @@ int config_ep_by_speed(struct usb_gadget *g, ...@@ -191,7 +198,7 @@ int config_ep_by_speed(struct usb_gadget *g,
(comp_desc->bDescriptorType != USB_DT_SS_ENDPOINT_COMP)) (comp_desc->bDescriptorType != USB_DT_SS_ENDPOINT_COMP))
return -EIO; return -EIO;
_ep->comp_desc = comp_desc; _ep->comp_desc = comp_desc;
if (g->speed == USB_SPEED_SUPER) { if (g->speed >= USB_SPEED_SUPER) {
switch (usb_endpoint_type(_ep->desc)) { switch (usb_endpoint_type(_ep->desc)) {
case USB_ENDPOINT_XFER_ISOC: case USB_ENDPOINT_XFER_ISOC:
/* mult: bits 1:0 of bmAttributes */ /* mult: bits 1:0 of bmAttributes */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment