usb: xhci: Move extcaps related macros to respective header file
authorKrishna Kurapati <quic_kriskura@quicinc.com>
Mon, 28 Aug 2023 13:30:23 +0000 (19:00 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 2 Oct 2023 11:55:44 +0000 (13:55 +0200)
DWC3 driver needs access to XHCI Extended Capabilities registers to
read number of usb2 ports and usb3 ports present on multiport controller.
Since the extcaps header is sufficient to parse this info, move port_count
related macros and structure from xhci.h to xhci-ext-caps.h.

Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com>
Link: https://lore.kernel.org/r/20230828133033.11988-4-quic_kriskura@quicinc.com
Acked-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci-ext-caps.h
drivers/usb/host/xhci.h

index e8af0a125f84b3bcce9ebd430df4559eaff1446c..96eb36a587382609c45a9023700d8f8d9101616a 100644 (file)
 /* true: Controller Not Ready to accept doorbell or op reg writes after reset */
 #define XHCI_STS_CNR           (1 << 11)
 
+/**
+ * struct xhci_protocol_caps
+ * @revision:          major revision, minor revision, capability ID,
+ *                     and next capability pointer.
+ * @name_string:       Four ASCII characters to say which spec this xHC
+ *                     follows, typically "USB ".
+ * @port_info:         Port offset, count, and protocol-defined information.
+ */
+struct xhci_protocol_caps {
+       u32     revision;
+       u32     name_string;
+       u32     port_info;
+};
+
+#define        XHCI_EXT_PORT_MAJOR(x)  (((x) >> 24) & 0xff)
+#define        XHCI_EXT_PORT_MINOR(x)  (((x) >> 16) & 0xff)
+#define        XHCI_EXT_PORT_PSIC(x)   (((x) >> 28) & 0x0f)
+#define        XHCI_EXT_PORT_OFF(x)    ((x) & 0xff)
+#define        XHCI_EXT_PORT_COUNT(x)  (((x) >> 8) & 0xff)
+
+#define        XHCI_EXT_PORT_PSIV(x)   (((x) >> 0) & 0x0f)
+#define        XHCI_EXT_PORT_PSIE(x)   (((x) >> 4) & 0x03)
+#define        XHCI_EXT_PORT_PLT(x)    (((x) >> 6) & 0x03)
+#define        XHCI_EXT_PORT_PFD(x)    (((x) >> 8) & 0x01)
+#define        XHCI_EXT_PORT_LP(x)     (((x) >> 14) & 0x03)
+#define        XHCI_EXT_PORT_PSIM(x)   (((x) >> 16) & 0xffff)
+
 #include <linux/io.h>
 
 /**
index 7e282b4522c0aa16c15398afefb933ecec2db7e5..77016338bee19c4cb74afa33a10f115c8f1981cd 100644 (file)
@@ -558,33 +558,6 @@ struct xhci_doorbell_array {
 #define DB_VALUE(ep, stream)   ((((ep) + 1) & 0xff) | ((stream) << 16))
 #define DB_VALUE_HOST          0x00000000
 
-/**
- * struct xhci_protocol_caps
- * @revision:          major revision, minor revision, capability ID,
- *                     and next capability pointer.
- * @name_string:       Four ASCII characters to say which spec this xHC
- *                     follows, typically "USB ".
- * @port_info:         Port offset, count, and protocol-defined information.
- */
-struct xhci_protocol_caps {
-       u32     revision;
-       u32     name_string;
-       u32     port_info;
-};
-
-#define        XHCI_EXT_PORT_MAJOR(x)  (((x) >> 24) & 0xff)
-#define        XHCI_EXT_PORT_MINOR(x)  (((x) >> 16) & 0xff)
-#define        XHCI_EXT_PORT_PSIC(x)   (((x) >> 28) & 0x0f)
-#define        XHCI_EXT_PORT_OFF(x)    ((x) & 0xff)
-#define        XHCI_EXT_PORT_COUNT(x)  (((x) >> 8) & 0xff)
-
-#define        XHCI_EXT_PORT_PSIV(x)   (((x) >> 0) & 0x0f)
-#define        XHCI_EXT_PORT_PSIE(x)   (((x) >> 4) & 0x03)
-#define        XHCI_EXT_PORT_PLT(x)    (((x) >> 6) & 0x03)
-#define        XHCI_EXT_PORT_PFD(x)    (((x) >> 8) & 0x01)
-#define        XHCI_EXT_PORT_LP(x)     (((x) >> 14) & 0x03)
-#define        XHCI_EXT_PORT_PSIM(x)   (((x) >> 16) & 0xffff)
-
 #define PLT_MASK        (0x03 << 6)
 #define PLT_SYM         (0x00 << 6)
 #define PLT_ASYM_RX     (0x02 << 6)