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);


Reply via email to