diff mbox series

[v5,04/23] hw/usb/hcd-xhci: Remove XHCI_FLAG_SS_FIRST flag

Message ID 20240529051539.71210-5-philmd@linaro.org (mailing list archive)
State New, archived
Headers show
Series hw/i386: Remove deprecated pc-i440fx-2.0 -> 2.3 machines | expand

Commit Message

Philippe Mathieu-Daudé May 29, 2024, 5:15 a.m. UTC
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>
---
 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(-)

Comments

Igor Mammedov May 29, 2024, 1:16 p.m. UTC | #1
On Wed, 29 May 2024 07:15:20 +0200
Philippe Mathieu-Daudé <philmd@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 <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>

> ---
>  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);
diff mbox series

Patch

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