On Wed, 29 May 2024 07:15:20 +0200 Philippe Mathieu-Daudé <phi...@linaro.org> wrote:
> 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 <th...@redhat.com> > Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> > Reviewed-by: Zhao Liu <zhao1....@intel.com> Reviewed-by: Igor Mammedov <imamm...@redhat.com> > --- > hw/usb/hcd-xhci.h | 3 +-- > hw/usb/hcd-xhci-nec.c | 2 -- > hw/usb/hcd-xhci-pci.c | 1 - > hw/usb/hcd-xhci.c | 42 ++++++++---------------------------------- > 4 files changed, 9 insertions(+), 39 deletions(-) > > diff --git a/hw/usb/hcd-xhci.h b/hw/usb/hcd-xhci.h > index 1efa4858fb..fe16d7ad05 100644 > --- a/hw/usb/hcd-xhci.h > +++ b/hw/usb/hcd-xhci.h > @@ -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 { > diff --git a/hw/usb/hcd-xhci-nec.c b/hw/usb/hcd-xhci-nec.c > index 5d5b069cf9..0c063b3697 100644 > --- a/hw/usb/hcd-xhci-nec.c > +++ b/hw/usb/hcd-xhci-nec.c > @@ -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(), > diff --git a/hw/usb/hcd-xhci-pci.c b/hw/usb/hcd-xhci-pci.c > index cbad96f393..264d7ebb77 100644 > --- a/hw/usb/hcd-xhci-pci.c > +++ b/hw/usb/hcd-xhci-pci.c > @@ -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 = { > diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c > index ad40232eb6..b6411f0bda 100644 > --- a/hw/usb/hcd-xhci.c > +++ b/hw/usb/hcd-xhci.c > @@ -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);