|
@@ -541,18 +541,10 @@ static XHCIPort *xhci_lookup_port(XHCIState *xhci, struct USBPort *uport)
|
|
case USB_SPEED_LOW:
|
|
case USB_SPEED_LOW:
|
|
case USB_SPEED_FULL:
|
|
case USB_SPEED_FULL:
|
|
case USB_SPEED_HIGH:
|
|
case USB_SPEED_HIGH:
|
|
- if (xhci_get_flag(xhci, XHCI_FLAG_SS_FIRST)) {
|
|
|
|
- index = uport->index + xhci->numports_3;
|
|
|
|
- } else {
|
|
|
|
- index = uport->index;
|
|
|
|
- }
|
|
|
|
|
|
+ index = uport->index + xhci->numports_3;
|
|
break;
|
|
break;
|
|
case USB_SPEED_SUPER:
|
|
case USB_SPEED_SUPER:
|
|
- if (xhci_get_flag(xhci, XHCI_FLAG_SS_FIRST)) {
|
|
|
|
- index = uport->index;
|
|
|
|
- } else {
|
|
|
|
- index = uport->index + xhci->numports_2;
|
|
|
|
- }
|
|
|
|
|
|
+ index = uport->index;
|
|
break;
|
|
break;
|
|
default:
|
|
default:
|
|
return NULL;
|
|
return NULL;
|
|
@@ -2779,11 +2771,7 @@ static uint64_t xhci_cap_read(void *ptr, hwaddr reg, unsigned size)
|
|
ret = 0x20425355; /* "USB " */
|
|
ret = 0x20425355; /* "USB " */
|
|
break;
|
|
break;
|
|
case 0x28: /* Supported Protocol:08 */
|
|
case 0x28: /* Supported Protocol:08 */
|
|
- if (xhci_get_flag(xhci, XHCI_FLAG_SS_FIRST)) {
|
|
|
|
- ret = (xhci->numports_2<<8) | (xhci->numports_3+1);
|
|
|
|
- } else {
|
|
|
|
- ret = (xhci->numports_2<<8) | 1;
|
|
|
|
- }
|
|
|
|
|
|
+ ret = (xhci->numports_2 << 8) | (xhci->numports_3 + 1);
|
|
break;
|
|
break;
|
|
case 0x2c: /* Supported Protocol:0c */
|
|
case 0x2c: /* Supported Protocol:0c */
|
|
ret = 0x00000000; /* reserved */
|
|
ret = 0x00000000; /* reserved */
|
|
@@ -2795,11 +2783,7 @@ static uint64_t xhci_cap_read(void *ptr, hwaddr reg, unsigned size)
|
|
ret = 0x20425355; /* "USB " */
|
|
ret = 0x20425355; /* "USB " */
|
|
break;
|
|
break;
|
|
case 0x38: /* Supported Protocol:08 */
|
|
case 0x38: /* Supported Protocol:08 */
|
|
- if (xhci_get_flag(xhci, XHCI_FLAG_SS_FIRST)) {
|
|
|
|
- ret = (xhci->numports_3<<8) | 1;
|
|
|
|
- } else {
|
|
|
|
- ret = (xhci->numports_3<<8) | (xhci->numports_2+1);
|
|
|
|
- }
|
|
|
|
|
|
+ ret = (xhci->numports_3 << 8) | 1;
|
|
break;
|
|
break;
|
|
case 0x3c: /* Supported Protocol:0c */
|
|
case 0x3c: /* Supported Protocol:0c */
|
|
ret = 0x00000000; /* reserved */
|
|
ret = 0x00000000; /* reserved */
|
|
@@ -3349,13 +3333,8 @@ static void usb_xhci_init(XHCIState *xhci)
|
|
for (i = 0; i < usbports; i++) {
|
|
for (i = 0; i < usbports; i++) {
|
|
speedmask = 0;
|
|
speedmask = 0;
|
|
if (i < xhci->numports_2) {
|
|
if (i < xhci->numports_2) {
|
|
- if (xhci_get_flag(xhci, XHCI_FLAG_SS_FIRST)) {
|
|
|
|
- port = &xhci->ports[i + xhci->numports_3];
|
|
|
|
- port->portnr = i + 1 + xhci->numports_3;
|
|
|
|
- } else {
|
|
|
|
- port = &xhci->ports[i];
|
|
|
|
- port->portnr = i + 1;
|
|
|
|
- }
|
|
|
|
|
|
+ port = &xhci->ports[i + xhci->numports_3];
|
|
|
|
+ port->portnr = i + 1 + xhci->numports_3;
|
|
port->uport = &xhci->uports[i];
|
|
port->uport = &xhci->uports[i];
|
|
port->speedmask =
|
|
port->speedmask =
|
|
USB_SPEED_MASK_LOW |
|
|
USB_SPEED_MASK_LOW |
|
|
@@ -3366,13 +3345,8 @@ static void usb_xhci_init(XHCIState *xhci)
|
|
speedmask |= port->speedmask;
|
|
speedmask |= port->speedmask;
|
|
}
|
|
}
|
|
if (i < xhci->numports_3) {
|
|
if (i < xhci->numports_3) {
|
|
- if (xhci_get_flag(xhci, XHCI_FLAG_SS_FIRST)) {
|
|
|
|
- port = &xhci->ports[i];
|
|
|
|
- port->portnr = i + 1;
|
|
|
|
- } else {
|
|
|
|
- port = &xhci->ports[i + xhci->numports_2];
|
|
|
|
- port->portnr = i + 1 + xhci->numports_2;
|
|
|
|
- }
|
|
|
|
|
|
+ port = &xhci->ports[i];
|
|
|
|
+ port->portnr = i + 1;
|
|
port->uport = &xhci->uports[i];
|
|
port->uport = &xhci->uports[i];
|
|
port->speedmask = USB_SPEED_MASK_SUPER;
|
|
port->speedmask = USB_SPEED_MASK_SUPER;
|
|
assert(i < XHCI_MAXPORTS);
|
|
assert(i < XHCI_MAXPORTS);
|