Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Mar 2004 16:13:12 -0800 (PST)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 48019 for review
Message-ID:  <200403030013.i230DCAC070272@repoman.freebsd.org>

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

Change 48019 by rwatson@rwatson_tislabs on 2004/03/02 16:12:45

	Integrate netperf_socket from CVS HEAD.

Affected files ...

.. //depot/projects/netperf_socket/sys/conf/files.i386#3 integrate
.. //depot/projects/netperf_socket/sys/dev/ata/ata-all.h#5 integrate
.. //depot/projects/netperf_socket/sys/dev/ata/ata-queue.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/ata/atapi-cd.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/bfe/if_bfe.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/ctau/if_ct.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/cx/if_cx.c#3 integrate
.. //depot/projects/netperf_socket/sys/dev/md/md.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/uftdi.c#3 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/usbdevs#3 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/usbdevs.h#3 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/usbdevs_data.h#3 integrate
.. //depot/projects/netperf_socket/sys/i386/conf/NOTES#4 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_synch.c#3 integrate
.. //depot/projects/netperf_socket/sys/kern/subr_sleepqueue.c#2 integrate
.. //depot/projects/netperf_socket/sys/modules/ctau/Makefile#1 branch
.. //depot/projects/netperf_socket/sys/net/if_ethersubr.c#5 integrate
.. //depot/projects/netperf_socket/sys/netinet/ip_output.c#5 integrate
.. //depot/projects/netperf_socket/sys/netinet6/ip6_input.c#4 integrate
.. //depot/projects/netperf_socket/sys/powerpc/include/sr.h#3 integrate
.. //depot/projects/netperf_socket/sys/powerpc/include/ucontext.h#2 integrate
.. //depot/projects/netperf_socket/sys/powerpc/include/vmparam.h#3 integrate
.. //depot/projects/netperf_socket/sys/powerpc/powerpc/copyinout.c#3 integrate
.. //depot/projects/netperf_socket/sys/powerpc/powerpc/machdep.c#3 integrate
.. //depot/projects/netperf_socket/sys/powerpc/powerpc/pmap.c#3 integrate
.. //depot/projects/netperf_socket/sys/powerpc/powerpc/vm_machdep.c#2 integrate
.. //depot/projects/netperf_socket/sys/vm/vm_contig.c#3 integrate
.. //depot/projects/netperf_socket/sys/vm/vm_page.c#3 integrate

Differences ...

==== //depot/projects/netperf_socket/sys/conf/files.i386#3 (text+ko) ====

@@ -1,7 +1,7 @@
 # This file tells config what files go into building a kernel,
 # files marked standard are always included.
 #
-# $FreeBSD: src/sys/conf/files.i386,v 1.466 2004/02/18 22:41:52 jhb Exp $
+# $FreeBSD: src/sys/conf/files.i386,v 1.467 2004/03/02 16:48:19 rik Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -123,6 +123,9 @@
 dev/ar/if_ar_pci.c		optional	ar pci
 dev/ar/if_ar_isa.c		optional	ar isa
 dev/cm/if_cm_isa.c		optional	cm isa
+dev/ctau/ctau.c			optional	ctau
+dev/ctau/ctddk.c		optional	ctau
+dev/ctau/if_ct.c		optional	ctau
 dev/cx/csigma.c			optional	cx
 dev/cx/cxddk.c			optional	cx
 dev/cx/if_cx.c			optional	cx

==== //depot/projects/netperf_socket/sys/dev/ata/ata-all.h#5 (text+ko) ====

@@ -25,7 +25,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/ata/ata-all.h,v 1.75 2004/02/29 09:35:29 sos Exp $
+ * $FreeBSD: src/sys/dev/ata/ata-all.h,v 1.76 2004/03/02 14:05:11 sos Exp $
  */
 
 /* ATA register defines */
@@ -193,6 +193,7 @@
 	    u_int8_t		ccb[16];	/* ATAPI command block */
 	    struct atapi_sense	sense_data;	/* ATAPI request sense data */
 	    u_int8_t		sense_key;	/* ATAPI request sense key */
+	    u_int8_t		sense_cmd;	/* ATAPI saved command */
 	} atapi;
     } u;
 

==== //depot/projects/netperf_socket/sys/dev/ata/ata-queue.c#4 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-queue.c,v 1.22 2004/02/28 17:47:27 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-queue.c,v 1.24 2004/03/02 16:16:54 sos Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -338,14 +338,15 @@
                 			sizeof(struct atapi_sense),
 					0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
 
+	    request->u.atapi.sense_key = request->error;
+	    request->u.atapi.sense_cmd = request->u.atapi.ccb[0];
 	    bcopy(ccb, request->u.atapi.ccb, 16);
-	    request->u.atapi.sense_key = request->error;
 	    request->data = (caddr_t)&request->u.atapi.sense_data;
 	    request->bytecount = sizeof(struct atapi_sense);
 	    request->transfersize = sizeof(struct atapi_sense);
 	    request->timeout = 5;
-	    request->flags =
-		ATA_R_ATAPI | ATA_R_READ | ATA_R_IMMEDIATE | ATA_R_REQUEUE;
+	    request->flags &= (ATA_R_ATAPI | ATA_R_QUIET);
+	    request->flags |= (ATA_R_READ | ATA_R_IMMEDIATE | ATA_R_REQUEUE);
 	    ata_queue_request(request);
 	    return;
 	}
@@ -385,10 +386,8 @@
 		       request->u.atapi.sense_data.sk_specific,
 		       request->u.atapi.sense_data.sk_specific1,
 		       request->u.atapi.sense_data.sk_specific2);
-	    printf("status=%b error=%b\n",
-		   request->status, "\20\10BUSY\7READY\6DMA"
-		   "\5DSC\4DRQ\3CORRECTABLE\2INDEX\1ERROR",
-		   (request->error & ATA_E_MASK),
+	    printf("error=%b\n",
+		   (request->u.atapi.sense_key & ATA_E_MASK),
 		   "\20\4MEDIA_CHANGE_REQUEST\3ABORTED"
 		   "\2NO_MEDIA\1ILLEGAL_LENGTH");
 	}
@@ -466,7 +465,8 @@
     static char buffer[20];
 
     if (request->flags & ATA_R_ATAPI) {
-	switch (request->u.atapi.ccb[0]) {
+	switch (request->u.atapi.sense_cmd ?
+		request->u.atapi.sense_cmd : request->u.atapi.ccb[0]) {
 	case 0x00: return ("TEST_UNIT_READY");
 	case 0x01: return ("REZERO");
 	case 0x03: return ("REQUEST_SENSE");

==== //depot/projects/netperf_socket/sys/dev/ata/atapi-cd.c#4 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cd.c,v 1.164 2004/03/01 13:17:07 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cd.c,v 1.165 2004/03/02 14:03:43 sos Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -92,7 +92,6 @@
 static int acd_read_format_caps(struct acd_softc *, struct cdr_format_capacities *);
 static int acd_format(struct acd_softc *, struct cdr_format_params *);
 static int acd_test_ready(struct ata_device *);
-static int acd_request_sense(struct ata_device *, struct atapi_sense *);
 
 /* internal vars */
 static u_int32_t acd_lun_map = 0;
@@ -476,24 +475,38 @@
 acd_geom_access(struct g_provider *pp, int dr, int dw, int de)
 {
     struct acd_softc *cdp;
+    struct ata_request *request;
+    int8_t ccb[16] = { ATAPI_TEST_UNIT_READY, 0, 0, 0, 0,
+		       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
     int timeout = 60, track;
+
     
     cdp = pp->geom->softc;
     if (cdp->device->flags & ATA_D_DETACHING)
 	return ENXIO;
 
+    if (!(request = ata_alloc_request()))
+	return ENOMEM;
+
+    request->device = cdp->device;
+    request->driver = cdp;
+    bcopy(ccb, request->u.atapi.ccb, 16);
+    request->flags = ATA_R_ATAPI;
+    request->timeout = 5;
+
     /* wait if drive is not finished loading the medium */
     while (timeout--) {
-	struct atapi_sense sense;
-	
-	if (!acd_test_ready(cdp->device))
-	    break;
-	acd_request_sense(cdp->device, &sense);
-	if (sense.sense_key == 2  && sense.asc == 4 && sense.ascq == 1)
+	ata_queue_request(request);
+	if (!request->error &&
+	    request->u.atapi.sense_data.sense_key == 2 &&
+	    request->u.atapi.sense_data.asc == 4 &&
+	    request->u.atapi.sense_data.ascq == 1)
 	    tsleep(&timeout, PRIBIO, "acdld", hz / 2);
 	else
 	    break;
     }
+    ata_free_request(request);
+
     if (pp->acr == 0) {
 	if (cdp->changer_info && cdp->slot != cdp->changer_info->current_slot) {
 	    acd_select_slot(cdp);
@@ -1522,16 +1535,27 @@
 {
     int8_t ccb[16] = { ATAPI_READ_CAPACITY, 0, 0, 0, 0, 0, 0, 0,
 		       0, 0, 0, 0, 0, 0, 0, 0 };
-    struct atapi_sense sense;
+    struct ata_request *request;
     int8_t dummy[8];
 
-    ata_atapicmd(cdp->device, ccb, dummy, sizeof(dummy), ATA_R_READ, 30);
-    acd_request_sense(cdp->device, &sense);
+    if (!(request = ata_alloc_request()))
+	return ENOMEM;
 
-    if (sense.sksv)
-	*finished = ((sense.sk_specific2|(sense.sk_specific1<<8))*100)/65535;
+    request->device = cdp->device;
+    request->driver = cdp;
+    bcopy(ccb, request->u.atapi.ccb, 16);
+    request->data = dummy;
+    request->bytecount = sizeof(dummy);
+    request->transfersize = min(request->bytecount, 65534);
+    request->flags = ATA_R_ATAPI | ATA_R_READ;
+    request->timeout = 30;
+    ata_queue_request(request);
+    if (!request->error && request->u.atapi.sense_data.sksv)
+	*finished = ((request->u.atapi.sense_data.sk_specific2 |
+		     (request->u.atapi.sense_data.sk_specific1<<8))*100)/65535;
     else
 	*finished = 0;
+    ata_free_request(request);
     return 0;
 }
 
@@ -1985,13 +2009,3 @@
 
     return ata_atapicmd(atadev, ccb, NULL, 0, 0, 30);
 }
-
-static int
-acd_request_sense(struct ata_device *atadev, struct atapi_sense *sense)
-{
-    int8_t ccb[16] = { ATAPI_REQUEST_SENSE, 0, 0, 0, sizeof(struct atapi_sense),
-		       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
-
-    return ata_atapicmd(atadev, ccb, (caddr_t)sense,
-			sizeof(struct atapi_sense), ATA_R_READ, 30);
-}

==== //depot/projects/netperf_socket/sys/dev/bfe/if_bfe.c#2 (text+ko) ====

@@ -28,7 +28,7 @@
 
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/bfe/if_bfe.c,v 1.4 2003/11/14 19:00:30 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/bfe/if_bfe.c,v 1.6 2004/03/02 05:43:42 julian Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -209,10 +209,17 @@
 			&sc->bfe_parent_tag);
 
 	/* tag for TX ring */
-	error = bus_dma_tag_create(sc->bfe_parent_tag, BFE_TX_LIST_SIZE, 
-			BFE_TX_LIST_SIZE, BUS_SPACE_MAXADDR,  BUS_SPACE_MAXADDR, 
-			NULL, NULL, BFE_TX_LIST_SIZE, 1,  BUS_SPACE_MAXSIZE_32BIT,
-			0, NULL, NULL, &sc->bfe_tx_tag);
+	error = bus_dma_tag_create(sc->bfe_parent_tag,
+			BFE_TX_LIST_SIZE, BFE_TX_LIST_SIZE,
+			BUS_SPACE_MAXADDR,
+			BUS_SPACE_MAXADDR, 
+			NULL, NULL,
+			BFE_TX_LIST_SIZE,
+			1,
+			BUS_SPACE_MAXSIZE_32BIT,
+			0,
+			NULL, NULL,
+			&sc->bfe_tx_tag);
 
 	if (error) {
 		device_printf(dev, "could not allocate dma tag\n");
@@ -220,10 +227,17 @@
 	}
 
 	/* tag for RX ring */
-	error = bus_dma_tag_create(sc->bfe_parent_tag, BFE_RX_LIST_SIZE, 
-			BFE_RX_LIST_SIZE, BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, 
-			NULL, NULL, BFE_RX_LIST_SIZE, 1, BUS_SPACE_MAXSIZE_32BIT, 
-			0, NULL, NULL, &sc->bfe_rx_tag);
+	error = bus_dma_tag_create(sc->bfe_parent_tag,
+			BFE_RX_LIST_SIZE, BFE_RX_LIST_SIZE,
+			BUS_SPACE_MAXADDR,
+			BUS_SPACE_MAXADDR,
+			NULL, NULL,
+			BFE_RX_LIST_SIZE,
+			1,
+			BUS_SPACE_MAXSIZE_32BIT,
+			0,
+			NULL, NULL,
+			&sc->bfe_rx_tag);
 
 	if (error) {
 		device_printf(dev, "could not allocate dma tag\n");
@@ -231,9 +245,17 @@
 	}
 
 	/* tag for mbufs */
-	error = bus_dma_tag_create(sc->bfe_parent_tag, ETHER_ALIGN, 0,
-			BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES, 
-			1, BUS_SPACE_MAXSIZE_32BIT, 0, NULL, NULL, &sc->bfe_tag);
+	error = bus_dma_tag_create(sc->bfe_parent_tag,
+			ETHER_ALIGN, 0,
+			BUS_SPACE_MAXADDR,
+			BUS_SPACE_MAXADDR,
+			NULL, NULL,
+			MCLBYTES,
+			1,
+			BUS_SPACE_MAXSIZE_32BIT,
+			0,
+			NULL, NULL,
+			&sc->bfe_tag);
 
 	if (error) {
 		device_printf(dev, "could not allocate dma tag\n");
@@ -242,7 +264,8 @@
 
 	/* pre allocate dmamaps for RX list */
 	for (i = 0; i < BFE_RX_LIST_CNT; i++) {
-		error = bus_dmamap_create(sc->bfe_tag, 0, &sc->bfe_rx_ring[i].bfe_map);
+		error = bus_dmamap_create(sc->bfe_tag, 0,
+		    &sc->bfe_rx_ring[i].bfe_map);
 		if (error) {
 			device_printf(dev, "cannot create DMA map for RX\n");
 			return(ENOMEM);
@@ -251,7 +274,8 @@
 
 	/* pre allocate dmamaps for TX list */
 	for (i = 0; i < BFE_TX_LIST_CNT; i++) {
-		error = bus_dmamap_create(sc->bfe_tag, 0, &sc->bfe_tx_ring[i].bfe_map);
+		error = bus_dmamap_create(sc->bfe_tag, 0,
+		    &sc->bfe_tx_ring[i].bfe_map);
 		if (error) {
 			device_printf(dev, "cannot create DMA map for TX\n");
 			return(ENOMEM);
@@ -319,7 +343,7 @@
 		irq = pci_read_config(dev, BFE_PCI_INTLINE, 4);
 
 		/* Reset the power state. */
-		printf("bfe%d: chip is is in D%d power mode -- setting to D0\n", 
+		printf("bfe%d: chip is is in D%d power mode -- setting to D0\n",
 				sc->bfe_unit, pci_get_powerstate(dev));
 
 		pci_set_powerstate(dev, PCI_POWERSTATE_D0);
@@ -359,7 +383,8 @@
 	}
 
 	if (bfe_dma_alloc(dev)) {
-		printf("bfe%d: failed to allocate DMA resources\n", sc->bfe_unit);
+		printf("bfe%d: failed to allocate DMA resources\n",
+		    sc->bfe_unit);
 		bfe_release_resources(sc);
 		error = ENXIO;
 		goto fail;
@@ -381,7 +406,8 @@
 
 	bfe_get_config(sc);
 
-	printf("bfe%d: Ethernet address: %6D\n", unit, sc->arpcom.ac_enaddr, ":");
+	printf("bfe%d: Ethernet address: %6D\n", unit,
+	    sc->arpcom.ac_enaddr, ":");
 
 	/* Reset the chip and turn on the PHY */
 	bfe_chip_reset(sc);
@@ -497,20 +523,20 @@
 static void
 bfe_tx_ring_free(struct bfe_softc *sc)
 {
-    int i;
-    
-    for(i = 0; i < BFE_TX_LIST_CNT; i++) {
-        if(sc->bfe_tx_ring[i].bfe_mbuf != NULL) {
-            m_freem(sc->bfe_tx_ring[i].bfe_mbuf);
-            sc->bfe_tx_ring[i].bfe_mbuf = NULL;
-            bus_dmamap_unload(sc->bfe_tag,
-                    sc->bfe_tx_ring[i].bfe_map);
-            bus_dmamap_destroy(sc->bfe_tag,
-                    sc->bfe_tx_ring[i].bfe_map);
-        }
-    }
-    bzero(sc->bfe_tx_list, BFE_TX_LIST_SIZE);
-    bus_dmamap_sync(sc->bfe_tx_tag, sc->bfe_tx_map, BUS_DMASYNC_PREREAD);
+	int i;
+	
+	for(i = 0; i < BFE_TX_LIST_CNT; i++) {
+		if(sc->bfe_tx_ring[i].bfe_mbuf != NULL) {
+			m_freem(sc->bfe_tx_ring[i].bfe_mbuf);
+			sc->bfe_tx_ring[i].bfe_mbuf = NULL;
+			bus_dmamap_unload(sc->bfe_tag,
+					sc->bfe_tx_ring[i].bfe_map);
+			bus_dmamap_destroy(sc->bfe_tag,
+					sc->bfe_tx_ring[i].bfe_map);
+		}
+	}
+	bzero(sc->bfe_tx_list, BFE_TX_LIST_SIZE);
+	bus_dmamap_sync(sc->bfe_tx_tag, sc->bfe_tx_map, BUS_DMASYNC_PREREAD);
 }
 
 static void
@@ -690,7 +716,7 @@
 static void
 bfe_chip_reset(struct bfe_softc *sc)
 {
-	u_int32_t val;    
+	u_int32_t val;   
 
 	BFE_LOCK(sc);
 
@@ -698,7 +724,8 @@
 	bfe_pci_setup(sc, BFE_INTVEC_ENET0);
 
 	/* is core up? */
-	val = CSR_READ_4(sc, BFE_SBTMSLOW) & (BFE_RESET | BFE_REJECT | BFE_CLOCK);
+	val = CSR_READ_4(sc, BFE_SBTMSLOW) &
+	    (BFE_RESET | BFE_REJECT | BFE_CLOCK);
 	if (val == BFE_CLOCK) {
 		/* It is, so shut it down */
 		CSR_WRITE_4(sc, BFE_RCV_LAZY, 0);
@@ -707,7 +734,8 @@
 		CSR_WRITE_4(sc, BFE_DMATX_CTRL, 0);
 		sc->bfe_tx_cnt = sc->bfe_tx_prod = sc->bfe_tx_cons = 0;
 		if (CSR_READ_4(sc, BFE_DMARX_STAT) & BFE_STAT_EMASK) 
-			bfe_wait_bit(sc, BFE_DMARX_STAT, BFE_STAT_SIDLE, 100, 0);
+			bfe_wait_bit(sc, BFE_DMARX_STAT, BFE_STAT_SIDLE,
+			    100, 0);
 		CSR_WRITE_4(sc, BFE_DMARX_CTRL, 0);
 		sc->bfe_rx_prod = sc->bfe_rx_cons = 0;
 	}
@@ -738,8 +766,8 @@
 				BFE_LAZY_FC_MASK));
 
 	/* 
-	 * We don't want lazy interrupts, so just send them at the end of a frame,
-	 * please 
+	 * We don't want lazy interrupts, so just send them at
+	 * the end of a frame, please 
 	 */
 	BFE_OR(sc, BFE_RCV_LAZY, 0);
 
@@ -751,8 +779,8 @@
 	CSR_WRITE_4(sc, BFE_TX_WMARK, 56);
 
 	/* 
-	 * Initialise DMA channels - not forgetting dma addresses need to be added
-	 * to BFE_PCI_DMA 
+	 * Initialise DMA channels
+	 * - not forgetting dma addresses need to be added to BFE_PCI_DMA 
 	 */
 	CSR_WRITE_4(sc, BFE_DMATX_CTRL, BFE_TX_CTRL_ENABLE);
 	CSR_WRITE_4(sc, BFE_DMATX_ADDR, sc->bfe_tx_dma + BFE_PCI_DMA);
@@ -774,8 +802,8 @@
 		return;
 
 	/* 
-	 * Set reject, wait for it set, then wait for the core to stop being busy
-	 * Then set reset and reject and enable the clocks
+	 * Set reject, wait for it set, then wait for the core to stop
+	 * being busy, then set reset and reject and enable the clocks.
 	 */
 	CSR_WRITE_4(sc, BFE_SBTMSLOW, (BFE_REJECT | BFE_CLOCK));
 	bfe_wait_bit(sc, BFE_SBTMSLOW, BFE_REJECT, 1000, 0);
@@ -870,8 +898,8 @@
 		TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) {
 			if (ifma->ifma_addr->sa_family != AF_LINK)
 				continue;
-			bfe_cam_write(sc, LLADDR((struct sockaddr_dl *)ifma->ifma_addr),
-					i++);
+			bfe_cam_write(sc,
+			    LLADDR((struct sockaddr_dl *)ifma->ifma_addr), i++);
 		}
 	}
 
@@ -923,24 +951,27 @@
 
 	if(sc->bfe_tx_tag != NULL) {
 		bus_dmamap_unload(sc->bfe_tx_tag, sc->bfe_tx_map);
-		bus_dmamem_free(sc->bfe_tx_tag, sc->bfe_tx_list, sc->bfe_tx_map);
+		bus_dmamem_free(sc->bfe_tx_tag, sc->bfe_tx_list,
+		    sc->bfe_tx_map);
 		bus_dma_tag_destroy(sc->bfe_tx_tag);
 		sc->bfe_tx_tag = NULL;
 	}
 
 	if(sc->bfe_rx_tag != NULL) {
 		bus_dmamap_unload(sc->bfe_rx_tag, sc->bfe_rx_map);
-		bus_dmamem_free(sc->bfe_rx_tag, sc->bfe_rx_list, sc->bfe_rx_map);
+		bus_dmamem_free(sc->bfe_rx_tag, sc->bfe_rx_list,
+		    sc->bfe_rx_map);
 		bus_dma_tag_destroy(sc->bfe_rx_tag);
 		sc->bfe_rx_tag = NULL;
 	}
 
 	if(sc->bfe_tag != NULL) {
 		for(i = 0; i < BFE_TX_LIST_CNT; i++) {
-			bus_dmamap_destroy(sc->bfe_tag, sc->bfe_tx_ring[i].bfe_map);
+			bus_dmamap_destroy(sc->bfe_tag,
+			    sc->bfe_tx_ring[i].bfe_map);
 		}
 		bus_dma_tag_destroy(sc->bfe_tag);
-        sc->bfe_tag = NULL;
+		sc->bfe_tag = NULL;
 	}
 
 	if(sc->bfe_parent_tag != NULL)
@@ -1074,9 +1105,9 @@
 	chipidx = CSR_READ_4(sc, BFE_DMATX_STAT) & BFE_STAT_CDMASK;
 	chipidx /= sizeof(struct bfe_desc);
 
-    i = sc->bfe_tx_cons;
+	i = sc->bfe_tx_cons;
 	/* Go through the mbufs and free those that have been transmitted */
-    while(i != chipidx) {
+	while(i != chipidx) {
 		struct bfe_data *r = &sc->bfe_tx_ring[i];
 		if(r->bfe_mbuf != NULL) {
 			ifp->if_opackets++;
@@ -1084,8 +1115,8 @@
 			r->bfe_mbuf = NULL;
 			bus_dmamap_unload(sc->bfe_tag, r->bfe_map);
 		}
-        sc->bfe_tx_cnt--;
-        BFE_INC(i, BFE_TX_LIST_CNT);
+		sc->bfe_tx_cnt--;
+		BFE_INC(i, BFE_TX_LIST_CNT);
 	}
 
 	if(i != sc->bfe_tx_cons) {
@@ -1138,6 +1169,7 @@
 			if (flags & BFE_RX_FLAG_SERR)
 				ifp->if_collisions++;
 			bfe_list_newbuf(sc, cons, m);
+			BFE_INC(cons, BFE_RX_LIST_CNT);
 			continue;
 		}
 
@@ -1148,6 +1180,7 @@
 		} else {
 			bfe_list_newbuf(sc, cons, m);
 			ifp->if_ierrors++;
+			BFE_INC(cons, BFE_RX_LIST_CNT);
 			continue;
 		}
 
@@ -1157,7 +1190,7 @@
 		(*ifp->if_input)(ifp, m);
 		BFE_LOCK(sc);
 
-        BFE_INC(cons, BFE_RX_LIST_CNT);
+		BFE_INC(cons, BFE_RX_LIST_CNT);
 	}
 	sc->bfe_rx_cons = cons;
 	BFE_UNLOCK(sc);
@@ -1225,8 +1258,8 @@
 {
 	struct bfe_desc *d = NULL;
 	struct bfe_data *r = NULL;
-	struct mbuf     *m;
-	u_int32_t       frag, cur, cnt = 0;
+	struct mbuf 	*m;
+	u_int32_t	   frag, cur, cnt = 0;
 	int chainlen = 0;
 
 	if(BFE_TX_LIST_CNT - sc->bfe_tx_cnt < 2)
@@ -1273,15 +1306,20 @@
 				/* Set start of frame */
 				d->bfe_ctrl |= BFE_DESC_SOF;
 			if(cur == BFE_TX_LIST_CNT - 1)
-				/* Tell the chip to wrap to the start of the descriptor list */
+				/*
+				 * Tell the chip to wrap to the start of
+				 * the descriptor list
+				 */
 				d->bfe_ctrl |= BFE_DESC_EOT;
 
-			bus_dmamap_load(sc->bfe_tag, r->bfe_map, mtod(m, void*), m->m_len, 
-					bfe_dma_map_desc, d, 0);
-			bus_dmamap_sync(sc->bfe_tag, r->bfe_map, BUS_DMASYNC_PREREAD);
+			bus_dmamap_load(sc->bfe_tag,
+			    r->bfe_map, mtod(m, void*), m->m_len, 
+			    bfe_dma_map_desc, d, 0);
+			bus_dmamap_sync(sc->bfe_tag, r->bfe_map,
+			    BUS_DMASYNC_PREREAD);
 
 			frag = cur;
-            BFE_INC(cur, BFE_TX_LIST_CNT);
+			BFE_INC(cur, BFE_TX_LIST_CNT);
 			cnt++;
 		}
 	}
@@ -1314,8 +1352,8 @@
 	BFE_LOCK(sc);
 
 	/* 
-	 * not much point trying to send if the link is down or we have nothing to
-	 * send
+	 * Not much point trying to send if the link is down
+	 * or we have nothing to send.
 	 */
 	if (!sc->bfe_link && ifp->if_snd.ifq_len < 10) {
 		BFE_UNLOCK(sc);
@@ -1333,8 +1371,8 @@
 			break;
 
 		/* 
-		 * Pack the data into the tx ring.  If we dont have enough room, let
-		 * the chip drain the ring
+		 * Pack the data into the tx ring.  If we dont have
+		 * enough room, let the chip drain the ring.
 		 */
 		if(bfe_encap(sc, m_head, &idx)) {
 			IF_PREPEND(&ifp->if_snd, m_head);
@@ -1378,8 +1416,8 @@
 	bfe_chip_reset(sc);
 
 	if (bfe_list_rx_init(sc) == ENOBUFS) {
-		printf("bfe%d: bfe_init failed. Not enough memory for list buffers\n",
-				sc->bfe_unit);
+		printf("bfe%d: bfe_init: Not enough memory for list buffers\n",
+		    sc->bfe_unit);
 		bfe_stop(sc);
 		return;
 	}
@@ -1473,7 +1511,8 @@
 		case SIOCGIFMEDIA:
 		case SIOCSIFMEDIA:
 			mii = device_get_softc(sc->bfe_miibus);
-			error = ifmedia_ioctl(ifp, ifr, &mii->mii_media, command);
+			error = ifmedia_ioctl(ifp, ifr, &mii->mii_media,
+			    command);
 			break;
 		default:
 			error = ether_ioctl(ifp, command, data); 
@@ -1548,7 +1587,7 @@
 	ifp = &sc->arpcom.ac_if;
 
 	bfe_chip_halt(sc);
-    bfe_tx_ring_free(sc);
+	bfe_tx_ring_free(sc);
 	bfe_rx_ring_free(sc);
 
 	ifp->if_flags &= ~(IFF_RUNNING | IFF_OACTIVE);

==== //depot/projects/netperf_socket/sys/dev/ctau/if_ct.c#2 (text+ko) ====

@@ -18,20 +18,20 @@
  * as long as this message is kept with the software, all derivative
  * works or modified versions.
  *
- * Cronyx Id: if_ct.c,v 1.1.2.20.2.1 2004/02/13 14:48:24 rik Exp $
+ * Cronyx Id: if_ct.c,v 1.1.2.22 2004/02/26 19:06:51 rik Exp $
  */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ctau/if_ct.c,v 1.1 2004/02/23 20:19:00 rik Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ctau/if_ct.c,v 1.2 2004/03/02 16:39:40 rik Exp $");
 
 #include <sys/param.h>
  
 #if __FreeBSD_version >= 500000
-#   define NCT 1
+#   define NCTAU 1
 #else
-#   include "ct.h"
+#   include "ctau.h"
 #endif
 
-#if NCT > 0
+#if NCTAU > 0
 #include <sys/proc.h>
 #include <sys/systm.h>
 #include <sys/kernel.h>
@@ -88,7 +88,7 @@
 #   if __FreeBSD_version < 500000
 #   include "sppp.h"
 #   if NSPPP <= 0
-#	error The device ct requires sppp or netgraph.
+#	error The device ctau requires sppp or netgraph.
 #   endif
 #   endif
 #   include <net/if_sppp.h>
@@ -188,9 +188,9 @@
 static void ct_initialize (void *softc);
 #endif
 
-static ct_board_t *adapter [NCT];
-static drv_t *channel [NCT*NCHAN];
-static struct callout_handle led_timo [NCT];
+static ct_board_t *adapter [NCTAU];
+static drv_t *channel [NCTAU*NCHAN];
+static struct callout_handle led_timo [NCTAU];
 static struct callout_handle timeout_handle;
 
 /*
@@ -234,7 +234,7 @@
 	drv_t *d;
 	int s, i;
 
-	for (i=0; i<NCT*NCHAN; ++i) {
+	for (i=0; i<NCTAU*NCHAN; ++i) {
 		d = channel[i];
 		if (! d)
 			continue;
@@ -307,7 +307,7 @@
 			return 1;
 		}
 	}
-	/* printf ("ctx%d: irq %d not functional, mask=0x%04x, busy=0x%04x\n",
+	/* printf ("ct%d: irq %d not functional, mask=0x%04x, busy=0x%04x\n",
 		b->num, irq, mask, busy); */
 	ct_probe_irq (b, 0);
 	return 0;
@@ -372,7 +372,7 @@
 			bus_set_resource (child, SYS_RES_IOPORT, 0,
 			    iobase, NPORT);
 
-			if (devcount >= NCT)
+			if (devcount >= NCTAU)
 				break;
 		}
 	} else {
@@ -1260,7 +1260,7 @@
 {
 	drv_t *d;
 
-	if (minor(dev) >= NCT*NCHAN || ! (d = channel[minor(dev)]))
+	if (minor(dev) >= NCTAU*NCHAN || ! (d = channel[minor(dev)]))
 		return ENXIO;
 		
 	CT_DEBUG2 (d, ("ct_open\n"));
@@ -1325,7 +1325,7 @@
 	switch (cmd) {
 	case SERIAL_GETREGISTERED:
 		bzero (mask, sizeof(mask));
-		for (s=0; s<NCT*NCHAN; ++s)
+		for (s=0; s<NCTAU*NCHAN; ++s)
 			if (channel [s])
 				mask [s/8] |= 1 << (s & 7);
 	        bcopy (mask, data, sizeof (mask));
@@ -1885,7 +1885,16 @@
 	.d_dump     = nodump,
 	.d_flags    = D_NAGGED,
 };
-#else /* __FreeBSD_version > 501000 */
+#elif __FreeBSD_version < 502103
+static struct cdevsw ct_cdevsw = {
+	.d_open     = ct_open,
+	.d_close    = ct_close,
+	.d_ioctl    = ct_ioctl,
+	.d_name     = "ct",
+	.d_maj      = CDEV_MAJOR,
+	.d_flags    = D_NAGGED,
+};
+#else /* __FreeBSD_version >= 502103 */
 static struct cdevsw ct_cdevsw = {
 	.d_version  = D_VERSION,
 	.d_open     = ct_open,
@@ -1893,7 +1902,7 @@
 	.d_ioctl    = ct_ioctl,
 	.d_name     = "ct",
 	.d_maj      = CDEV_MAJOR,
-	.d_flags    = D_NAGGED | D_NEEDGIANT,
+	.d_flags    = D_NEEDGIANT,
 };
 #endif /* __FreeBSD_version > 501000 */
 
@@ -2438,7 +2447,7 @@
 {
 	int i;
 
-	for (i=0;i<NCT; ++i) {
+	for (i=0;i<NCTAU; ++i) {
 		struct isa_device id = {-1, &ctdriver, -1, 0, -1, 0, 0, (inthand2_t *)ct_intr, i, 0, 0, 0, 0 ,0 ,1 ,0 ,0};
 		disable_intr();
 		if (!ct_probe (&id)) {
@@ -2467,7 +2476,7 @@
 	int i, s;
 
 	/* Check if the device is busy (open). */
-	for (i=0; i<NCT*NCHAN; ++i) {
+	for (i=0; i<NCTAU*NCHAN; ++i) {
 		drv_t *d = channel[i];
 
 		if (!d)
@@ -2480,14 +2489,14 @@
 	s = splimp ();
 
 	/* Deactivate the timeout routine. */
-	for (i=0; i<NCT; ++i) {
+	for (i=0; i<NCTAU; ++i) {
 		if (!adapter [i])
 			continue;
 		untimeout (ct_timeout, 0, timeout_handle);
 		break;
 	}
 
-	for (i=0; i<NCT; ++i) {
+	for (i=0; i<NCTAU; ++i) {
 		ct_board_t *b = adapter [i];
 
 		if (!b || ! b->port)
@@ -2496,7 +2505,7 @@
 		ct_close_board (b);
 	}
 
-	for (i=0; i<NCT; ++i) {
+	for (i=0; i<NCTAU; ++i) {
 		ct_board_t *b = adapter [i];
 
 		if (!b || ! b->port)
@@ -2506,7 +2515,7 @@
 			untimeout (ct_led_off, b, led_timo[i]);
 	}
 
-	for (i=0; i<NCT; ++i) {
+	for (i=0; i<NCTAU; ++i) {
 		ct_board_t *b = adapter [i];
 
 		if (!b || ! b->port)
@@ -2520,7 +2529,7 @@
 	}
 
 	/* Detach the interfaces, free buffer memory. */
-	for (i=0; i<NCT*NCHAN; ++i) {
+	for (i=0; i<NCTAU*NCHAN; ++i) {
 		drv_t *d = channel[i];
 
 		if (!d)
@@ -2557,7 +2566,7 @@
 		/* Deallocate buffers. */
 /*		free (d, M_DEVBUF);*/
 	}
-	for (i=0; i<NCT; ++i) {
+	for (i=0; i<NCTAU; ++i) {
 		ct_board_t *b = adapter [i];
 		if (!b)
 			continue;
@@ -2613,10 +2622,16 @@
 	static int load_count = 0;
 	struct cdevsw *cdsw;
 
+#if __FreeBSD_version >= 502103
 	dev = udev2dev (makeudev(CDEV_MAJOR, 0));
+#else
+	dev = makedev (CDEV_MAJOR, 0);
+#endif
 	switch (type) {
 	case MOD_LOAD:
-		if ((cdsw = devsw (dev)) && cdsw->d_maj == CDEV_MAJOR) {
+		if (dev != NODEV &&
+		    (cdsw = devsw (dev)) &&
+		    cdsw->d_maj == CDEV_MAJOR) {
 			printf ("Tau-ISA driver is already in system\n");
 			return (ENXIO);
 		}
@@ -2734,4 +2749,4 @@
 SYSINIT (ctdev, SI_SUB_DRIVERS, SI_ORDER_MIDDLE+CDEV_MAJOR, ct_drvinit, 0)
 #endif /* KLD_MODULE */
 #endif /* __FreeBSD_version < 400000 */
-#endif /* NCT */
+#endif /* NCTAU */

==== //depot/projects/netperf_socket/sys/dev/cx/if_cx.c#3 (text+ko) ====

@@ -19,10 +19,10 @@
  * as long as this message is kept with the software, all derivative
  * works or modified versions.
  *
- * Cronyx Id: if_cx.c,v 1.1.2.22 2004/02/05 17:10:19 rik Exp $
+ * Cronyx Id: if_cx.c,v 1.1.2.23 2004/02/26 17:56:40 rik Exp $
  */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/cx/if_cx.c,v 1.6 2004/02/21 21:32:14 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/cx/if_cx.c,v 1.7 2004/03/02 16:44:07 rik Exp $");
 
 #include <sys/param.h>
 
@@ -2548,9 +2548,21 @@
 	.d_dump     = nodump,
 	.d_flags    = D_TTY,
 };
-#else /* __FreeBSD_version > 501000 */
+#elif __FreeBSD_version < 502103
+static struct cdevsw cx_cdevsw = {
+	.d_open     = cx_open,
+	.d_close    = cx_close,
+	.d_read     = cx_read,
+	.d_write    = cx_write,
+	.d_ioctl    = cx_ioctl,
+	.d_poll     = ttypoll,
+	.d_name     = "cx",
+	.d_maj      = CDEV_MAJOR,
+	.d_flags    = D_TTY,
+};
+#else /* __FreeBSD_version >= 502103 */
 static struct cdevsw cx_cdevsw = {
-	.d_version =	D_VERSION,
+	.d_version  = D_VERSION,
 	.d_open     = cx_open,
 	.d_close    = cx_close,
 	.d_read     = cx_read,
@@ -3105,10 +3117,16 @@
 	static int load_count = 0;
 	struct cdevsw *cdsw;
 
+#if __FreeBSD_version >= 502103
 	dev = udev2dev (makeudev(CDEV_MAJOR, 0));
+#else
+	dev = makedev (CDEV_MAJOR, 0);
+#endif
 	switch (type) {
 	case MOD_LOAD:
-		if ((cdsw = devsw (dev)) && cdsw->d_maj == CDEV_MAJOR) {
+		if (dev != NODEV &&
+		    (cdsw = devsw (dev)) &&
+		    cdsw->d_maj == CDEV_MAJOR) {
 			printf ("Sigma driver is already in system\n");
 			return (EEXIST);
 		}

==== //depot/projects/netperf_socket/sys/dev/md/md.c#4 (text+ko) ====

@@ -6,7 +6,7 @@
  * this stuff is worth it, you can buy me a beer in return.   Poul-Henning Kamp
  * ----------------------------------------------------------------------------
  *
- * $FreeBSD: src/sys/dev/md/md.c,v 1.112 2004/02/29 15:58:54 cperciva Exp $
+ * $FreeBSD: src/sys/dev/md/md.c,v 1.113 2004/03/02 20:13:23 phk Exp $
  *
  */
 
@@ -1050,6 +1050,10 @@
 	sc->secsize = DEV_BSIZE;
 	sc->npage = mdio->md_size / (PAGE_SIZE / DEV_BSIZE);
 	sc->nsect = sc->npage * (PAGE_SIZE / DEV_BSIZE);
+	if (mdio->md_fwsectors != 0)
+		sc->fwsectors = mdio->md_fwsectors;
+	if (mdio->md_fwheads != 0)
+		sc->fwheads = mdio->md_fwheads;
 	sc->object = vm_pager_allocate(OBJT_SWAP, NULL, PAGE_SIZE * 
 	    (vm_offset_t)sc->npage, VM_PROT_DEFAULT, 0);
 	sc->flags = mdio->md_options & MD_FORCE;

==== //depot/projects/netperf_socket/sys/dev/usb/uftdi.c#3 (text+ko) ====

@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/uftdi.c,v 1.11 2004/01/24 21:23:12 sobomax Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/uftdi.c,v 1.12 2004/03/02 19:03:26 peter Exp $");
 
 /*
  * FTDI FT8U100AX serial adapter driver
@@ -153,7 +153,12 @@
 	if (uaa->vendor == USB_VENDOR_FTDI &&
 	    (uaa->product == USB_PRODUCT_FTDI_SERIAL_8U100AX ||
 	     uaa->product == USB_PRODUCT_FTDI_SERIAL_8U232AM ||
-	     uaa->product == USB_PRODUCT_FTDI_CFA_631))
+	     uaa->product == USB_PRODUCT_FTDI_CFA_631 ||
+	     uaa->product == USB_PRODUCT_FTDI_USBSERIAL ||
+	     uaa->product == USB_PRODUCT_FTDI_MX2_3 ||
+	     uaa->product == USB_PRODUCT_FTDI_MX4_5 ||
+	     uaa->product == USB_PRODUCT_FTDI_LK202 ||
+	     uaa->product == USB_PRODUCT_FTDI_LK204))
 		return (UMATCH_VENDOR_PRODUCT);
 
 	return (UMATCH_NONE);
@@ -207,6 +212,11 @@
 		break;
 	case USB_PRODUCT_FTDI_SERIAL_8U232AM:
 	case USB_PRODUCT_FTDI_CFA_631:
+	case USB_PRODUCT_FTDI_USBSERIAL:
+	case USB_PRODUCT_FTDI_MX2_3:
+	case USB_PRODUCT_FTDI_MX4_5:
+	case USB_PRODUCT_FTDI_LK202:
+	case USB_PRODUCT_FTDI_LK204:
 		sc->sc_type = UFTDI_TYPE_8U232AM;
 		sc->sc_hdrlen = 0;
 		break;

==== //depot/projects/netperf_socket/sys/dev/usb/usbdevs#3 (text+ko) ====

@@ -1,4 +1,4 @@
-$FreeBSD: src/sys/dev/usb/usbdevs,v 1.163 2004/02/28 00:12:46 sanpei Exp $
+$FreeBSD: src/sys/dev/usb/usbdevs,v 1.164 2004/03/02 19:01:30 peter Exp $
 
 /*
  * Copyright (c) 1998, 1999, 2000 The NetBSD Foundation, Inc.
@@ -898,6 +898,13 @@
 /* Macally products */
 product MACALLY MOUSE1		0x0101	mouse
 
+/* Matrix Orbital products */
+product FTDI USBSERIAL		0xfa00	Matrix Orbital USB Serial
+product FTDI MX2_3		0xfa01	Matrix Orbital MX2 or MX3

>>> TRUNCATED FOR MAIL (1000 lines) <<<



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