xhci: set slot context speed field to SuperSpeedPlus for USB 3.1 SSP devices
The speed field of the input slot context should represent the speed the device is working at. Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
5da665fcec
commit
d785404198
|
@ -1106,6 +1106,9 @@ int xhci_setup_addressable_virt_dev(struct xhci_hcd *xhci, struct usb_device *ud
|
||||||
slot_ctx->dev_info |= cpu_to_le32(LAST_CTX(1) | udev->route);
|
slot_ctx->dev_info |= cpu_to_le32(LAST_CTX(1) | udev->route);
|
||||||
switch (udev->speed) {
|
switch (udev->speed) {
|
||||||
case USB_SPEED_SUPER_PLUS:
|
case USB_SPEED_SUPER_PLUS:
|
||||||
|
slot_ctx->dev_info |= cpu_to_le32(SLOT_SPEED_SSP);
|
||||||
|
max_packets = MAX_PACKET(512);
|
||||||
|
break;
|
||||||
case USB_SPEED_SUPER:
|
case USB_SPEED_SUPER:
|
||||||
slot_ctx->dev_info |= cpu_to_le32(SLOT_SPEED_SS);
|
slot_ctx->dev_info |= cpu_to_le32(SLOT_SPEED_SS);
|
||||||
max_packets = MAX_PACKET(512);
|
max_packets = MAX_PACKET(512);
|
||||||
|
|
|
@ -343,6 +343,7 @@ struct xhci_op_regs {
|
||||||
#define SLOT_SPEED_LS (XDEV_LS << 10)
|
#define SLOT_SPEED_LS (XDEV_LS << 10)
|
||||||
#define SLOT_SPEED_HS (XDEV_HS << 10)
|
#define SLOT_SPEED_HS (XDEV_HS << 10)
|
||||||
#define SLOT_SPEED_SS (XDEV_SS << 10)
|
#define SLOT_SPEED_SS (XDEV_SS << 10)
|
||||||
|
#define SLOT_SPEED_SSP (XDEV_SSP << 10)
|
||||||
/* Port Indicator Control */
|
/* Port Indicator Control */
|
||||||
#define PORT_LED_OFF (0 << 14)
|
#define PORT_LED_OFF (0 << 14)
|
||||||
#define PORT_LED_AMBER (1 << 14)
|
#define PORT_LED_AMBER (1 << 14)
|
||||||
|
|
Loading…
Reference in New Issue