hw/usb/hcd-xhci: Remove XHCI_FLAG_SS_FIRST flag
XHCI_FLAG_SS_FIRST was only used by the pc-i440fx-2.0 machine, which got removed. Remove it and simplify various functions in hcd-xhci.c. Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Zhao Liu <zhao1.liu@intel.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Message-Id: <20240617071118.60464-5-philmd@linaro.org>
This commit is contained in:
parent
931863ac6f
commit
b9599519a0
@ -41,8 +41,6 @@ struct XHCINecState {
|
||||
static Property nec_xhci_properties[] = {
|
||||
DEFINE_PROP_ON_OFF_AUTO("msi", XHCIPciState, msi, ON_OFF_AUTO_AUTO),
|
||||
DEFINE_PROP_ON_OFF_AUTO("msix", XHCIPciState, msix, ON_OFF_AUTO_AUTO),
|
||||
DEFINE_PROP_BIT("superspeed-ports-first", XHCINecState, flags,
|
||||
XHCI_FLAG_SS_FIRST, true),
|
||||
DEFINE_PROP_UINT32("intrs", XHCINecState, intrs, XHCI_MAXINTRS),
|
||||
DEFINE_PROP_UINT32("slots", XHCINecState, slots, XHCI_MAXSLOTS),
|
||||
DEFINE_PROP_END_OF_LIST(),
|
||||
|
@ -242,7 +242,6 @@ static void qemu_xhci_instance_init(Object *obj)
|
||||
s->msix = ON_OFF_AUTO_AUTO;
|
||||
xhci->numintrs = XHCI_MAXINTRS;
|
||||
xhci->numslots = XHCI_MAXSLOTS;
|
||||
xhci_set_flag(xhci, XHCI_FLAG_SS_FIRST);
|
||||
}
|
||||
|
||||
static const TypeInfo qemu_xhci_info = {
|
||||
|
@ -541,18 +541,10 @@ static XHCIPort *xhci_lookup_port(XHCIState *xhci, struct USBPort *uport)
|
||||
case USB_SPEED_LOW:
|
||||
case USB_SPEED_FULL:
|
||||
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;
|
||||
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;
|
||||
default:
|
||||
return NULL;
|
||||
@ -2779,11 +2771,7 @@ static uint64_t xhci_cap_read(void *ptr, hwaddr reg, unsigned size)
|
||||
ret = 0x20425355; /* "USB " */
|
||||
break;
|
||||
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;
|
||||
case 0x2c: /* Supported Protocol:0c */
|
||||
ret = 0x00000000; /* reserved */
|
||||
@ -2795,11 +2783,7 @@ static uint64_t xhci_cap_read(void *ptr, hwaddr reg, unsigned size)
|
||||
ret = 0x20425355; /* "USB " */
|
||||
break;
|
||||
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;
|
||||
case 0x3c: /* Supported Protocol:0c */
|
||||
ret = 0x00000000; /* reserved */
|
||||
@ -3349,13 +3333,8 @@ static void usb_xhci_init(XHCIState *xhci)
|
||||
for (i = 0; i < usbports; i++) {
|
||||
speedmask = 0;
|
||||
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->speedmask =
|
||||
USB_SPEED_MASK_LOW |
|
||||
@ -3366,13 +3345,8 @@ static void usb_xhci_init(XHCIState *xhci)
|
||||
speedmask |= port->speedmask;
|
||||
}
|
||||
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->speedmask = USB_SPEED_MASK_SUPER;
|
||||
assert(i < XHCI_MAXPORTS);
|
||||
|
@ -36,8 +36,7 @@ typedef struct XHCIStreamContext XHCIStreamContext;
|
||||
typedef struct XHCIEPContext XHCIEPContext;
|
||||
|
||||
enum xhci_flags {
|
||||
XHCI_FLAG_SS_FIRST = 1,
|
||||
XHCI_FLAG_ENABLE_STREAMS,
|
||||
XHCI_FLAG_ENABLE_STREAMS = 1,
|
||||
};
|
||||
|
||||
typedef enum TRBType {
|
||||
|
Loading…
Reference in New Issue
Block a user