Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-9]: src/sys/dev/usb Fix pullup #1302 by adapting the changes to t...



details:   https://anonhg.NetBSD.org/src/rev/a390967ab4c3
branches:  netbsd-9
changeset: 984122:a390967ab4c3
user:      martin <martin%NetBSD.org@localhost>
date:      Tue Jun 22 05:10:50 2021 +0000

description:
Fix pullup #1302 by adapting the changes to this branch
(there was a misunderstanding in the ticket handling)

diffstat:

 sys/dev/usb/xhci.c    |  14 +++++++-------
 sys/dev/usb/xhcireg.h |  25 ++++++++++++++++++++++++-
 sys/dev/usb/xhcivar.h |   2 +-
 3 files changed, 32 insertions(+), 9 deletions(-)

diffs (106 lines):

diff -r 16abda37b58e -r a390967ab4c3 sys/dev/usb/xhci.c
--- a/sys/dev/usb/xhci.c        Mon Jun 21 17:42:15 2021 +0000
+++ b/sys/dev/usb/xhci.c        Tue Jun 22 05:10:50 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: xhci.c,v 1.107.2.8 2021/06/21 17:11:46 martin Exp $    */
+/*     $NetBSD: xhci.c,v 1.107.2.9 2021/06/22 05:10:50 martin Exp $    */
 
 /*
  * Copyright (c) 2013 Jonathan A. Kollasch
@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: xhci.c,v 1.107.2.8 2021/06/21 17:11:46 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: xhci.c,v 1.107.2.9 2021/06/22 05:10:50 martin Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
@@ -724,7 +724,7 @@
                if (xs->xs_idx == 0)
                        continue;
 
-               for (dci = XHCI_DCI_SLOT; dci <= XHCI_MAX_DCI; dci++) {
+               for (dci = 0; dci < 32; dci++) {
                        /* Skip if the endpoint is not Running.  */
                        /* XXX What about Busy?  */
                        if (xhci_get_epstate(sc, xs, dci) !=
@@ -951,7 +951,7 @@
         *
         * XXX Hope just zeroing it is good enough!
         */
-       xhci_host_dequeue(sc->sc_cr);
+       xhci_host_dequeue(&sc->sc_cr);
 
        /*
         * `7. Write the CRCR with the address and RCS value of the
@@ -959,8 +959,8 @@
         *     cause the Command Ring to restart at the address
         *     specified by the CRCR.'
         */
-       xhci_op_write_8(sc, XHCI_CRCR, xhci_ring_trbp(sc->sc_cr, 0) |
-           sc->sc_cr->xr_cs);
+       xhci_op_write_8(sc, XHCI_CRCR, xhci_ring_trbp(&sc->sc_cr, 0) |
+           sc->sc_cr.xr_cs);
 
        /*
         * `8. Enable the controller by setting Run/Stop (R/S) =
@@ -1049,7 +1049,7 @@
                if (xs->xs_idx == 0)
                        continue;
 
-               for (dci = XHCI_DCI_SLOT; dci <= XHCI_MAX_DCI; dci++) {
+               for (dci = 0; dci < 32; dci++) {
                        /* Skip if the endpoint is not Running.  */
                        if (xhci_get_epstate(sc, xs, dci) !=
                            XHCI_EPSTATE_RUNNING)
diff -r 16abda37b58e -r a390967ab4c3 sys/dev/usb/xhcireg.h
--- a/sys/dev/usb/xhcireg.h     Mon Jun 21 17:42:15 2021 +0000
+++ b/sys/dev/usb/xhcireg.h     Tue Jun 22 05:10:50 2021 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: xhcireg.h,v 1.13.2.1 2021/06/21 17:11:46 martin Exp $ */
+/* $NetBSD: xhcireg.h,v 1.13.2.2 2021/06/22 05:10:50 martin Exp $ */
 
 /*-
  * Copyright (c) 2010 Hans Petter Selasky. All rights reserved.
@@ -162,8 +162,31 @@
 #define         XHCI_PS_PED            0x00000002      /* RW - port enabled / disabled */
 #define         XHCI_PS_OCA            0x00000008      /* RO - over current active */
 #define         XHCI_PS_PR             0x00000010      /* RW - port reset */
+#define         XHCI_PS_PLS_MASK       __BITS(8, 5)
 #define         XHCI_PS_PLS_GET(x)     (((x) >> 5) & 0xF)      /* RW - port link state */
 #define         XHCI_PS_PLS_SET(x)     (((x) & 0xF) << 5)      /* RW - port link state */
+
+#define  XHCI_PS_PLS_SETU0     0
+#define  XHCI_PS_PLS_SETU2     2
+#define  XHCI_PS_PLS_SETU3     3
+#define  XHCI_PS_PLS_SETDISC   5
+#define  XHCI_PS_PLS_SETCOMP   10
+#define  XHCI_PS_PLS_SETRESUME 15
+
+#define  XHCI_PS_PLS_U0                0
+#define  XHCI_PS_PLS_U1                1
+#define  XHCI_PS_PLS_U2                2
+#define  XHCI_PS_PLS_U3                3
+#define  XHCI_PS_PLS_DISABLED  4
+#define  XHCI_PS_PLS_RXDETECT  5
+#define  XHCI_PS_PLS_INACTIVE  6
+#define  XHCI_PS_PLS_POLLING   7
+#define  XHCI_PS_PLS_RECOVERY  8
+#define  XHCI_PS_PLS_HOTRESET  9
+#define  XHCI_PS_PLS_COMPLIANCE        10
+#define  XHCI_PS_PLS_TEST      11
+#define  XHCI_PS_PLS_RESUME    15
+
 #define         XHCI_PS_PP             0x00000200      /* RW - port power */
 #define         XHCI_PS_SPEED_GET(x)   (((x) >> 10) & 0xF)     /* RO - port speed */
 #define         XHCI_PS_SPEED_FS       1
diff -r 16abda37b58e -r a390967ab4c3 sys/dev/usb/xhcivar.h
--- a/sys/dev/usb/xhcivar.h     Mon Jun 21 17:42:15 2021 +0000
+++ b/sys/dev/usb/xhcivar.h     Tue Jun 22 05:10:50 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: xhcivar.h,v 1.11.4.1 2021/06/21 17:11:46 martin Exp $  */
+/*     $NetBSD: xhcivar.h,v 1.11.4.2 2021/06/22 05:10:50 martin Exp $  */
 
 /*
  * Copyright (c) 2013 Jonathan A. Kollasch



Home | Main Index | Thread Index | Old Index