PERFORCE change 48019 for review
Robert Watson
rwatson at FreeBSD.org
Tue Mar 2 16:13:13 PST 2004
http://perforce.freebsd.org/chv.cgi?CH=48019
Change 48019 by rwatson at 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) <<<
More information about the p4-projects
mailing list