Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Nov 2009 16:11:24 GMT
From:      Hans Petter Selasky <hselasky@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 170720 for review
Message-ID:  <200911171611.nAHGBOrF031747@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/chv.cgi?CH=170720

Change 170720 by hselasky@hselasky_laptop001 on 2009/11/17 16:10:26

	
	USB controller (device side)
		 - correct some programming details

Affected files ...

.. //depot/projects/usb/src/sys/dev/usb/controller/musb_otg.c#29 edit

Differences ...

==== //depot/projects/usb/src/sys/dev/usb/controller/musb_otg.c#29 (text+ko) ====

@@ -1539,18 +1539,18 @@
 		/* Configure endpoint */
 		switch (ep_type) {
 		case UE_INTERRUPT:
-			MUSB2_WRITE_1(sc, MUSB2_REG_TXMAXP, wMaxPacket);
+			MUSB2_WRITE_2(sc, MUSB2_REG_TXMAXP, wMaxPacket);
 			MUSB2_WRITE_1(sc, MUSB2_REG_TXCSRH,
 			    MUSB2_MASK_CSRH_TXMODE | temp);
 			break;
 		case UE_ISOCHRONOUS:
-			MUSB2_WRITE_1(sc, MUSB2_REG_TXMAXP, wMaxPacket);
+			MUSB2_WRITE_2(sc, MUSB2_REG_TXMAXP, wMaxPacket);
 			MUSB2_WRITE_1(sc, MUSB2_REG_TXCSRH,
 			    MUSB2_MASK_CSRH_TXMODE |
 			    MUSB2_MASK_CSRH_TXISO | temp);
 			break;
 		case UE_BULK:
-			MUSB2_WRITE_1(sc, MUSB2_REG_TXMAXP, wMaxPacket);
+			MUSB2_WRITE_2(sc, MUSB2_REG_TXMAXP, wMaxPacket);
 			MUSB2_WRITE_1(sc, MUSB2_REG_TXCSRH,
 			    MUSB2_MASK_CSRH_TXMODE | temp);
 			break;
@@ -1600,18 +1600,18 @@
 		/* Configure endpoint */
 		switch (ep_type) {
 		case UE_INTERRUPT:
-			MUSB2_WRITE_1(sc, MUSB2_REG_RXMAXP, wMaxPacket);
+			MUSB2_WRITE_2(sc, MUSB2_REG_RXMAXP, wMaxPacket);
 			MUSB2_WRITE_1(sc, MUSB2_REG_RXCSRH,
 			    MUSB2_MASK_CSRH_RXNYET | temp);
 			break;
 		case UE_ISOCHRONOUS:
-			MUSB2_WRITE_1(sc, MUSB2_REG_RXMAXP, wMaxPacket);
+			MUSB2_WRITE_2(sc, MUSB2_REG_RXMAXP, wMaxPacket);
 			MUSB2_WRITE_1(sc, MUSB2_REG_RXCSRH,
 			    MUSB2_MASK_CSRH_RXNYET |
 			    MUSB2_MASK_CSRH_RXISO | temp);
 			break;
 		case UE_BULK:
-			MUSB2_WRITE_1(sc, MUSB2_REG_RXMAXP, wMaxPacket);
+			MUSB2_WRITE_2(sc, MUSB2_REG_RXMAXP, wMaxPacket);
 			MUSB2_WRITE_1(sc, MUSB2_REG_RXCSRH, temp);
 			break;
 		default:
@@ -1807,23 +1807,35 @@
 
 		if (dynfifo) {
 			if (frx && (temp <= nrx)) {
-				frx = 10;	/* 1K */
-				MUSB2_WRITE_1(sc, MUSB2_REG_RXFIFOSZ, 
-				    MUSB2_VAL_FIFOSZ_512 | 
-				    MUSB2_MASK_FIFODB);
+				if (temp < 8) {
+					frx = 10;	/* 1K */
+					MUSB2_WRITE_1(sc, MUSB2_REG_RXFIFOSZ, 
+					    MUSB2_VAL_FIFOSZ_512 |
+					    MUSB2_MASK_FIFODB);
+				} else {
+					frx = 7;	/* 128 bytes */
+					MUSB2_WRITE_1(sc, MUSB2_REG_RXFIFOSZ, 
+					    MUSB2_VAL_FIFOSZ_128);
+				}
 
-				MUSB2_WRITE_1(sc, MUSB2_REG_RXFIFOADD,
+				MUSB2_WRITE_2(sc, MUSB2_REG_RXFIFOADD,
 				    offset >> 3);
 
 				offset += (1 << frx);
 			}
 			if (ftx && (temp <= ntx)) {
-				ftx = 10;	/* 1K */
-				MUSB2_WRITE_1(sc, MUSB2_REG_TXFIFOSZ, 
-				    MUSB2_VAL_FIFOSZ_512 | 
-				    MUSB2_MASK_FIFODB);
+				if (temp < 8) {
+					ftx = 10;	/* 1K */
+					MUSB2_WRITE_1(sc, MUSB2_REG_TXFIFOSZ,
+	 				    MUSB2_VAL_FIFOSZ_512 |
+	 				    MUSB2_MASK_FIFODB);
+				} else {
+					ftx = 7;	/* 128 bytes */
+					MUSB2_WRITE_1(sc, MUSB2_REG_TXFIFOSZ,
+	 				    MUSB2_VAL_FIFOSZ_128);
+				}
 
-				MUSB2_WRITE_1(sc, MUSB2_REG_TXFIFOADD,
+				MUSB2_WRITE_2(sc, MUSB2_REG_TXFIFOADD,
 				    offset >> 3);
 
 				offset += (1 << ftx);



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