Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 May 2013 18:51:30 +0000 (UTC)
From:      Hans Petter Selasky <hselasky@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r251065 - head/sys/dev/usb/controller
Message-ID:  <201305281851.r4SIpUGv097485@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: hselasky
Date: Tue May 28 18:51:30 2013
New Revision: 251065
URL: http://svnweb.freebsd.org/changeset/base/251065

Log:
  Revert r251023 until a more proper solution is found
  for ATI based USB controllers.
  
  MFC after:	1 week

Modified:
  head/sys/dev/usb/controller/ehci.c
  head/sys/dev/usb/controller/uhci.c

Modified: head/sys/dev/usb/controller/ehci.c
==============================================================================
--- head/sys/dev/usb/controller/ehci.c	Tue May 28 18:43:58 2013	(r251064)
+++ head/sys/dev/usb/controller/ehci.c	Tue May 28 18:51:30 2013	(r251065)
@@ -2454,7 +2454,6 @@ ehci_device_isoc_fs_enter(struct usb_xfe
 	uint16_t tlen;
 	uint8_t sa;
 	uint8_t sb;
-	uint8_t first = 1;
 
 #ifdef USB_DEBUG
 	uint8_t once = 1;
@@ -2619,16 +2618,6 @@ ehci_device_isoc_fs_enter(struct usb_xfe
 			    EHCI_SITD_IOC |
 			    EHCI_SITD_ACTIVE |
 			    EHCI_SITD_SET_LEN(*plen));
-		} else if (first != 0) {
-			/*
-			 * Workaround for lost or too early
-			 * completion interrupt:
-			 */
-			first = 0;
-			td->sitd_status = htohc32(sc,
-			    EHCI_SITD_IOC |
-			    EHCI_SITD_ACTIVE |
-			    EHCI_SITD_SET_LEN(*plen));
 		} else {
 			td->sitd_status = htohc32(sc,
 			    EHCI_SITD_ACTIVE |
@@ -2770,7 +2759,6 @@ ehci_device_isoc_hs_enter(struct usb_xfe
 	uint8_t td_no;
 	uint8_t page_no;
 	uint8_t shift = usbd_xfer_get_fps_shift(xfer);
-	uint8_t first = 1;
 
 #ifdef USB_DEBUG
 	uint8_t once = 1;
@@ -2932,13 +2920,6 @@ ehci_device_isoc_hs_enter(struct usb_xfe
 			/* set IOC bit if we are complete */
 			if (nframes == 0) {
 				td->itd_status[td_no - 1] |= htohc32(sc, EHCI_ITD_IOC);
-			} else if (first != 0) {
-				/*
-				 * Workaround for lost or too early
-				 * completion interrupt:
-				 */
-				first = 0;
-				td->itd_status[0] |= htohc32(sc, EHCI_ITD_IOC);
 			}
 			usb_pc_cpu_flush(td->page_cache);
 #ifdef USB_DEBUG

Modified: head/sys/dev/usb/controller/uhci.c
==============================================================================
--- head/sys/dev/usb/controller/uhci.c	Tue May 28 18:43:58 2013	(r251064)
+++ head/sys/dev/usb/controller/uhci.c	Tue May 28 18:51:30 2013	(r251065)
@@ -2138,7 +2138,6 @@ uhci_device_isoc_enter(struct usb_xfer *
 	uint32_t nframes;
 	uint32_t temp;
 	uint32_t *plen;
-	uint8_t first = 1;
 
 #ifdef USB_DEBUG
 	uint8_t once = 1;
@@ -2254,18 +2253,6 @@ uhci_device_isoc_enter(struct usb_xfer *
 			    UHCI_TD_ACTIVE |
 			    UHCI_TD_IOS |
 			    UHCI_TD_IOC));
-		} else if (first != 0) {
-			/*
-			 * Workaround for lost or too early completion
-			 * interrupt:
-			 */
-			first = 0;
-			td->td_status = htole32
-			    (UHCI_TD_ZERO_ACTLEN
-			    (UHCI_TD_SET_ERRCNT(0) |
-			    UHCI_TD_ACTIVE |
-			    UHCI_TD_IOS |
-			    UHCI_TD_IOC));
 		} else {
 			td->td_status = htole32
 			    (UHCI_TD_ZERO_ACTLEN



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201305281851.r4SIpUGv097485>