Source-Changes-HG archive

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

[src/trunk]: src/sys/external/bsd/dwc2/dist Simplify the NAK holdoff change.



details:   https://anonhg.NetBSD.org/src/rev/7418b0681b9b
branches:  trunk
changeset: 804114:7418b0681b9b
user:      skrll <skrll%NetBSD.org@localhost>
date:      Mon Nov 24 10:14:14 2014 +0000

description:
Simplify the NAK holdoff change.

diffstat:

 sys/external/bsd/dwc2/dist/dwc2_hcd.c     |   7 +++----
 sys/external/bsd/dwc2/dist/dwc2_hcdintr.c |  26 +++++++++++++-------------
 2 files changed, 16 insertions(+), 17 deletions(-)

diffs (79 lines):

diff -r be80be35fce7 -r 7418b0681b9b sys/external/bsd/dwc2/dist/dwc2_hcd.c
--- a/sys/external/bsd/dwc2/dist/dwc2_hcd.c     Mon Nov 24 08:29:26 2014 +0000
+++ b/sys/external/bsd/dwc2/dist/dwc2_hcd.c     Mon Nov 24 10:14:14 2014 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: dwc2_hcd.c,v 1.14 2014/09/03 10:00:08 skrll Exp $      */
+/*     $NetBSD: dwc2_hcd.c,v 1.15 2014/11/24 10:14:14 skrll Exp $      */
 
 /*
  * hcd.c - DesignWare HS OTG Controller host-mode routines
@@ -42,7 +42,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dwc2_hcd.c,v 1.14 2014/09/03 10:00:08 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dwc2_hcd.c,v 1.15 2014/11/24 10:14:14 skrll Exp $");
 
 #include <sys/types.h>
 #include <sys/kmem.h>
@@ -894,8 +894,7 @@
                 * retransmissions to reduce NAK interrupt overhead for
                 * cheeky devices that just hold off using NAKs.
                 */
-               if (qh->do_split &&
-                   qh->nak_frame != 0xffff &&
+               if (qh->nak_frame != 0xffff &&
                    dwc2_full_frame_num(qh->nak_frame) ==
                    dwc2_full_frame_num(dwc2_hcd_get_frame_number(hsotg))) {
                        qh_ptr = qh_ptr->next;
diff -r be80be35fce7 -r 7418b0681b9b sys/external/bsd/dwc2/dist/dwc2_hcdintr.c
--- a/sys/external/bsd/dwc2/dist/dwc2_hcdintr.c Mon Nov 24 08:29:26 2014 +0000
+++ b/sys/external/bsd/dwc2/dist/dwc2_hcdintr.c Mon Nov 24 10:14:14 2014 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: dwc2_hcdintr.c,v 1.10 2014/09/03 10:00:08 skrll Exp $  */
+/*     $NetBSD: dwc2_hcdintr.c,v 1.11 2014/11/24 10:14:14 skrll Exp $  */
 
 /*
  * hcd_intr.c - DesignWare HS OTG Controller host-mode interrupt handling
@@ -40,7 +40,7 @@
  * This file contains the interrupt handlers for Host mode
  */
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dwc2_hcdintr.c,v 1.10 2014/09/03 10:00:08 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dwc2_hcdintr.c,v 1.11 2014/11/24 10:14:14 skrll Exp $");
 
 #include <sys/types.h>
 #include <sys/pool.h>
@@ -1211,21 +1211,21 @@
                         chnum);
 
        /*
-        * When we get control/bulk NAKs then remember this so we holdoff on
-        * this qh until the beginning of the next frame
-        */
-       switch (dwc2_hcd_get_pipe_type(&qtd->urb->pipe_info)) {
-       case USB_ENDPOINT_XFER_CONTROL:
-       case USB_ENDPOINT_XFER_BULK:
-               chan->qh->nak_frame = dwc2_hcd_get_frame_number(hsotg);
-               break;
-       }
-
-       /*
         * Handle NAK for IN/OUT SSPLIT/CSPLIT transfers, bulk, control, and
         * interrupt. Re-start the SSPLIT transfer.
         */
        if (chan->do_split) {
+               /*
+                * When we get control/bulk NAKs then remember this so we holdoff on
+                * this qh until the beginning of the next frame
+                */
+               switch (dwc2_hcd_get_pipe_type(&qtd->urb->pipe_info)) {
+               case USB_ENDPOINT_XFER_CONTROL:
+               case USB_ENDPOINT_XFER_BULK:
+                       chan->qh->nak_frame = dwc2_hcd_get_frame_number(hsotg);
+                       break;
+               }
+
                if (chan->complete_split)
                        qtd->error_count = 0;
                qtd->complete_split = 0;



Home | Main Index | Thread Index | Old Index