PERFORCE change 145840 for review

Hans Petter Selasky hselasky at FreeBSD.org
Thu Jul 24 19:59:59 UTC 2008


http://perforce.freebsd.org/chv.cgi?CH=145840

Change 145840 by hselasky at hselasky_laptop001 on 2008/07/24 19:59:25

	
	Revise the need for sync to increase performance.

Affected files ...

.. //depot/projects/usb/src/sys/dev/usb2/controller/at91dci.c#5 edit
.. //depot/projects/usb/src/sys/dev/usb2/controller/uss820dci.c#4 edit

Differences ...

==== //depot/projects/usb/src/sys/dev/usb2/controller/at91dci.c#5 (text+ko) ====

@@ -910,7 +910,6 @@
 	struct at91dci_softc *sc;
 	struct at91dci_td *td;
 	uint32_t x;
-	uint8_t need_sync;
 	uint8_t ep_no;
 
 	DPRINTF(8, "addr=%d endpt=%d sumlen=%d speed=%d\n",
@@ -953,18 +952,13 @@
 	if (x != xfer->nframes) {
 		if (xfer->endpoint & UE_DIR_IN) {
 			temp.func = &at91dci_data_tx;
-			need_sync = 1;
 		} else {
 			temp.func = &at91dci_data_rx;
-			need_sync = 0;
 		}
 
 		/* setup "pc" pointer */
 		temp.pc = xfer->frbuffers + x;
-	} else {
-		need_sync = 0;
 	}
-
 	while (x != xfer->nframes) {
 
 		/* DATA0 / DATA1 message */
@@ -1002,20 +996,11 @@
 	/* always setup a valid "pc" pointer for status and sync */
 	temp.pc = xfer->frbuffers + 0;
 
-	/* check if we need to sync */
-	if (need_sync && !xfer->flags_int.isochronous_xfr) {
-
-		/* we need a SYNC point after TX */
-		temp.func = &at91dci_data_tx_sync;
-		temp.len = 0;
-		temp.short_pkt = 0;
-
-		at91dci_setup_standard_chain_sub(&temp);
-	}
 	/* check if we should append a status stage */
 
 	if (xfer->flags_int.control_xfr &&
 	    !xfer->flags_int.control_act) {
+		uint8_t need_sync;
 
 		/*
 		 * Send a DATA1 message and invert the current

==== //depot/projects/usb/src/sys/dev/usb2/controller/uss820dci.c#4 (text+ko) ====

@@ -857,7 +857,6 @@
 	struct uss820dci_softc *sc;
 	struct uss820dci_td *td;
 	uint32_t x;
-	uint8_t need_sync;
 	uint8_t ep_no;
 
 	DPRINTF(8, "addr=%d endpt=%d sumlen=%d speed=%d\n",
@@ -900,18 +899,13 @@
 	if (x != xfer->nframes) {
 		if (xfer->endpoint & UE_DIR_IN) {
 			temp.func = &uss820dci_data_tx;
-			need_sync = 1;
 		} else {
 			temp.func = &uss820dci_data_rx;
-			need_sync = 0;
 		}
 
 		/* setup "pc" pointer */
 		temp.pc = xfer->frbuffers + x;
-	} else {
-		need_sync = 0;
 	}
-
 	while (x != xfer->nframes) {
 
 		/* DATA0 / DATA1 message */
@@ -949,20 +943,11 @@
 	/* always setup a valid "pc" pointer for status and sync */
 	temp.pc = xfer->frbuffers + 0;
 
-	/* check if we need to sync */
-	if (need_sync && !xfer->flags_int.isochronous_xfr) {
-
-		/* we need a SYNC point after TX */
-		temp.func = &uss820dci_data_tx_sync;
-		temp.len = 0;
-		temp.short_pkt = 0;
-
-		uss820dci_setup_standard_chain_sub(&temp);
-	}
 	/* check if we should append a status stage */
 
 	if (xfer->flags_int.control_xfr &&
 	    !xfer->flags_int.control_act) {
+		uint8_t need_sync;
 
 		/*
 		 * Send a DATA1 message and invert the current


More information about the p4-projects mailing list