PERFORCE change 130814 for review

John Birrell jb at FreeBSD.org
Thu Dec 13 14:13:48 PST 2007


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

Change 130814 by jb at jb_freebsd1 on 2007/12/13 22:13:45

	Another day, another IFC.

Affected files ...

.. //depot/projects/dtrace/ports/Mk/bsd.emacs.mk#8 integrate
.. //depot/projects/dtrace/src/etc/rc.d/ldconfig#6 integrate
.. //depot/projects/dtrace/src/sys/dev/ata/ata-all.h#8 integrate
.. //depot/projects/dtrace/src/sys/dev/ata/ata-chipset.c#23 integrate
.. //depot/projects/dtrace/src/sys/dev/ata/ata-dma.c#7 integrate
.. //depot/projects/dtrace/src/sys/dev/ata/ata-lowlevel.c#6 integrate
.. //depot/projects/dtrace/src/sys/dev/sound/pci/hda/hdac.c#16 integrate
.. //depot/projects/dtrace/src/tools/tools/ath/athdebug/athdebug.c#5 integrate
.. //depot/projects/dtrace/src/tools/tools/ath/athstats/Makefile#6 integrate
.. //depot/projects/dtrace/src/tools/tools/ath/athstats/athstats.c#7 integrate
.. //depot/projects/dtrace/src/tools/tools/ath/athstats/main.c#4 integrate
.. //depot/projects/dtrace/src/tools/tools/ath/athstats/statfoo.c#4 integrate
.. //depot/projects/dtrace/src/usr.bin/vmstat/Makefile#4 integrate
.. //depot/projects/dtrace/src/usr.bin/vmstat/vmstat.8#7 integrate
.. //depot/projects/dtrace/src/usr.bin/vmstat/vmstat.c#7 integrate

Differences ...

==== //depot/projects/dtrace/ports/Mk/bsd.emacs.mk#8 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-#	$FreeBSD: ports/Mk/bsd.emacs.mk,v 1.69 2007/10/14 10:09:47 vd Exp $
+#	$FreeBSD: ports/Mk/bsd.emacs.mk,v 1.70 2007/12/13 19:25:09 anray Exp $
 #
 #	bsd.emacs.mk - 19990829 Shigeyuki Fukushima.
 #
@@ -117,7 +117,7 @@
 # XEmacs-21.x
 .elif (${EMACS_PORT_NAME} == "xemacs21")
 EMACS_NAME=		xemacs
-EMACS_VER=		21.4.20
+EMACS_VER=		21.4.21
 EMACS_MAJOR_VER=	21
 EMACS_LIBDIR?=		lib/${EMACS_NAME}
 EMACS_LIBDIR_WITH_VER?=	lib/${EMACS_NAME}-${EMACS_VER}
@@ -134,7 +134,7 @@
 # XEmacs-21.x with Mule
 .elif (${EMACS_PORT_NAME} == "xemacs21-mule")
 EMACS_NAME=		xemacs
-EMACS_VER=		21.4.20
+EMACS_VER=		21.4.21
 EMACS_MAJOR_VER=	21
 EMACS_LIBDIR?=		lib/${EMACS_NAME}
 EMACS_LIBDIR_WITH_VER?=	lib/${EMACS_NAME}-${EMACS_VER}

==== //depot/projects/dtrace/src/etc/rc.d/ldconfig#6 (text+ko) ====

@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $FreeBSD: src/etc/rc.d/ldconfig,v 1.18 2007/12/08 07:20:22 dougb Exp $
+# $FreeBSD: src/etc/rc.d/ldconfig,v 1.19 2007/12/13 00:51:01 jhb Exp $
 #
 
 # PROVIDE: ldconfig
@@ -49,8 +49,14 @@
 					fi
 				fi
 			done
-			echo '32-bit compatibility ldconfig path:' ${ldconfig32_paths}
-			${ldconfig} -32 -m ${_ins} ${ldconfig32_paths}
+			_LDC=""
+			for i in ${ldconfig32_paths}; do
+				if [ -r "${i}" ]; then
+					_LDC="${_LDC} ${i}"
+				fi
+			done
+			echo '32-bit compatibility ldconfig path:' ${_LDC}
+			${ldconfig} -32 -m ${_ins} ${_LDC}
 			;;
 		esac
 

==== //depot/projects/dtrace/src/sys/dev/ata/ata-all.h#8 (text+ko) ====

@@ -23,7 +23,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.125 2007/11/18 14:44:52 sos Exp $
+ * $FreeBSD: src/sys/dev/ata/ata-all.h,v 1.126 2007/12/13 11:47:36 sos Exp $
  */
 
 /* ATA register defines */
@@ -464,6 +464,8 @@
     int (*begin_transaction)(struct ata_request *request);
     int (*end_transaction)(struct ata_request *request);
     int (*command)(struct ata_request *request);
+    void (*tf_read)(struct ata_request *request);
+    void (*tf_write)(struct ata_request *request);
 };
 
 /* structure holding resources for an ATA channel */

==== //depot/projects/dtrace/src/sys/dev/ata/ata-chipset.c#23 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.210 2007/12/07 13:14:31 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.211 2007/12/13 11:47:36 sos Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -99,7 +99,7 @@
 static void ata_intel_sata_setmode(device_t dev, int mode);
 static int ata_intel_31244_allocate(device_t dev);
 static int ata_intel_31244_status(device_t dev);
-static int ata_intel_31244_command(struct ata_request *request);
+static void ata_intel_31244_tf_write(struct ata_request *request);
 static void ata_intel_31244_reset(device_t dev);
 static int ata_ite_chipinit(device_t dev);
 static void ata_ite_setmode(device_t dev, int mode);
@@ -152,6 +152,8 @@
 static void ata_promise_next_hpkt(struct ata_pci_controller *ctlr);
 static int ata_serverworks_chipinit(device_t dev);
 static int ata_serverworks_allocate(device_t dev);
+static void ata_serverworks_tf_read(struct ata_request *request);
+static void ata_serverworks_tf_write(struct ata_request *request);
 static void ata_serverworks_setmode(device_t dev, int mode);
 static int ata_sii_chipinit(device_t dev);
 static int ata_cmd_allocate(device_t dev);
@@ -2093,7 +2095,7 @@
     ch->flags |= ATA_NO_SLAVE;
     ata_pci_hw(dev);
     ch->hw.status = ata_intel_31244_status;
-    ch->hw.command = ata_intel_31244_command;
+    ch->hw.tf_write = ata_intel_31244_tf_write;
 
     /* enable PHY state change interrupt */
     ATA_OUTL(ctlr->r_res2, 0x4,
@@ -2111,32 +2113,55 @@
     return ata_pci_status(dev);
 }
 
-static int
-ata_intel_31244_command(struct ata_request *request)
+static void
+ata_intel_31244_tf_write(struct ata_request *request)
 {
     struct ata_channel *ch = device_get_softc(device_get_parent(request->dev));
     struct ata_device *atadev = device_get_softc(request->dev);
-    u_int64_t lba;
 
-    if (!(atadev->flags & ATA_D_48BIT_ACTIVE))
-	    return (ata_generic_command(request));
-
-    lba = request->u.ata.lba;
-    ATA_IDX_OUTB(ch, ATA_DRIVE, ATA_D_IBM | ATA_D_LBA | atadev->unit);
-    /* enable interrupt */
-    ATA_IDX_OUTB(ch, ATA_CONTROL, ATA_A_4BIT);
-    ATA_IDX_OUTW(ch, ATA_FEATURE, request->u.ata.feature);
-    ATA_IDX_OUTW(ch, ATA_COUNT, request->u.ata.count);
-    ATA_IDX_OUTW(ch, ATA_SECTOR, ((lba >> 16) & 0xff00) | (lba & 0x00ff));
-    ATA_IDX_OUTW(ch, ATA_CYL_LSB, ((lba >> 24) & 0xff00) |
-				  ((lba >> 8) & 0x00ff));
-    ATA_IDX_OUTW(ch, ATA_CYL_MSB, ((lba >> 32) & 0xff00) | 
-				  ((lba >> 16) & 0x00ff));
-
-    /* issue command to controller */
-    ATA_IDX_OUTB(ch, ATA_COMMAND, request->u.ata.command);
-
-    return 0;
+    if (atadev->flags & ATA_D_48BIT_ACTIVE) {
+	ATA_IDX_OUTW(ch, ATA_FEATURE, request->u.ata.feature);
+	ATA_IDX_OUTW(ch, ATA_COUNT, request->u.ata.count);
+	ATA_IDX_OUTW(ch, ATA_SECTOR, ((request->u.ata.lba >> 16) & 0xff00) |
+				      (request->u.ata.lba & 0x00ff));
+	ATA_IDX_OUTW(ch, ATA_CYL_LSB, ((request->u.ata.lba >> 24) & 0xff00) |
+				       ((request->u.ata.lba >> 8) & 0x00ff));
+	ATA_IDX_OUTW(ch, ATA_CYL_MSB, ((request->u.ata.lba >> 32) & 0xff00) | 
+				       ((request->u.ata.lba >> 16) & 0x00ff));
+	ATA_IDX_OUTW(ch, ATA_DRIVE, ATA_D_LBA | atadev->unit);
+    }
+    else {
+	ATA_IDX_OUTB(ch, ATA_FEATURE, request->u.ata.feature);
+	ATA_IDX_OUTB(ch, ATA_COUNT, request->u.ata.count);
+	if (atadev->flags & ATA_D_USE_CHS) {
+	    int heads, sectors;
+    
+	    if (atadev->param.atavalid & ATA_FLAG_54_58) {
+		heads = atadev->param.current_heads;
+		sectors = atadev->param.current_sectors;
+	    }
+	    else {
+		heads = atadev->param.heads;
+		sectors = atadev->param.sectors;
+	    }
+	    ATA_IDX_OUTB(ch, ATA_SECTOR, (request->u.ata.lba % sectors)+1);
+	    ATA_IDX_OUTB(ch, ATA_CYL_LSB,
+			 (request->u.ata.lba / (sectors * heads)));
+	    ATA_IDX_OUTB(ch, ATA_CYL_MSB,
+			 (request->u.ata.lba / (sectors * heads)) >> 8);
+	    ATA_IDX_OUTB(ch, ATA_DRIVE, ATA_D_IBM | atadev->unit | 
+			 (((request->u.ata.lba% (sectors * heads)) /
+			   sectors) & 0xf));
+	}
+	else {
+	    ATA_IDX_OUTB(ch, ATA_SECTOR, request->u.ata.lba);
+	    ATA_IDX_OUTB(ch, ATA_CYL_LSB, request->u.ata.lba >> 8);
+	    ATA_IDX_OUTB(ch, ATA_CYL_MSB, request->u.ata.lba >> 16);
+	    ATA_IDX_OUTB(ch, ATA_DRIVE,
+			 ATA_D_IBM | ATA_D_LBA | atadev->unit |
+			 ((request->u.ata.lba >> 24) & 0x0f));
+	}
+    }
 }
 
 static void
@@ -2849,8 +2874,12 @@
 	/* note start and stop are not used here */
 	ch->dma->setprd = ata_marvell_edma_dmasetprd;
 	
+	/* if 64bit support present adjust max address used */
 	if (ATA_INL(ctlr->r_res1, 0x00d00) & 0x00000004)
 	    ch->dma->max_address = BUS_SPACE_MAXADDR;
+
+	/* chip does not reliably do 64K DMA transfers */
+	ch->dma->max_iosize = 126 * DEV_BSIZE; 
     }
 }
 
@@ -4248,10 +4277,97 @@
 
     ch->flags |= ATA_NO_SLAVE;
     ata_pci_hw(dev);
+    ch->hw.tf_read = ata_serverworks_tf_read;
+    ch->hw.tf_write = ata_serverworks_tf_write;
+
+    /* chip does not reliably do 64K DMA transfers */
+    if (ch->dma)
+	ch->dma->max_iosize = 126 * DEV_BSIZE;
+
     return 0;
 }
 
 static void
+ata_serverworks_tf_read(struct ata_request *request)
+{
+    struct ata_channel *ch = device_get_softc(device_get_parent(request->dev));
+    struct ata_device *atadev = device_get_softc(request->dev);
+
+    if (atadev->flags & ATA_D_48BIT_ACTIVE) {
+	u_int16_t temp;
+
+	request->u.ata.count = ATA_IDX_INW(ch, ATA_COUNT);
+	temp = ATA_IDX_INW(ch, ATA_SECTOR);
+	request->u.ata.lba = (u_int64_t)(temp & 0x00ff) |
+			     ((u_int64_t)(temp & 0xff00) << 24);
+	temp = ATA_IDX_INW(ch, ATA_CYL_LSB);
+	request->u.ata.lba |= ((u_int64_t)(temp & 0x00ff) << 8) |
+			      ((u_int64_t)(temp & 0xff00) << 32);
+	temp = ATA_IDX_INW(ch, ATA_CYL_MSB);
+	request->u.ata.lba |= ((u_int64_t)(temp & 0x00ff) << 16) |
+			      ((u_int64_t)(temp & 0xff00) << 40);
+    }
+    else {
+	request->u.ata.count = ATA_IDX_INW(ch, ATA_COUNT) & 0x00ff;
+	request->u.ata.lba = (ATA_IDX_INW(ch, ATA_SECTOR) & 0x00ff) |
+			     ((ATA_IDX_INW(ch, ATA_CYL_LSB) & 0x00ff) << 8) |
+			     ((ATA_IDX_INW(ch, ATA_CYL_MSB) & 0x00ff) << 16) |
+			     ((ATA_IDX_INW(ch, ATA_DRIVE) & 0xf) << 24);
+    }
+}
+
+static void
+ata_serverworks_tf_write(struct ata_request *request)
+{
+    struct ata_channel *ch = device_get_softc(device_get_parent(request->dev));
+    struct ata_device *atadev = device_get_softc(request->dev);
+
+    if (atadev->flags & ATA_D_48BIT_ACTIVE) {
+	ATA_IDX_OUTW(ch, ATA_FEATURE, request->u.ata.feature);
+	ATA_IDX_OUTW(ch, ATA_COUNT, request->u.ata.count);
+	ATA_IDX_OUTW(ch, ATA_SECTOR, ((request->u.ata.lba >> 16) & 0xff00) |
+				      (request->u.ata.lba & 0x00ff));
+	ATA_IDX_OUTW(ch, ATA_CYL_LSB, ((request->u.ata.lba >> 24) & 0xff00) |
+				       ((request->u.ata.lba >> 8) & 0x00ff));
+	ATA_IDX_OUTW(ch, ATA_CYL_MSB, ((request->u.ata.lba >> 32) & 0xff00) | 
+				       ((request->u.ata.lba >> 16) & 0x00ff));
+	ATA_IDX_OUTW(ch, ATA_DRIVE, ATA_D_LBA | atadev->unit);
+    }
+    else {
+	ATA_IDX_OUTW(ch, ATA_FEATURE, request->u.ata.feature);
+	ATA_IDX_OUTW(ch, ATA_COUNT, request->u.ata.count);
+	if (atadev->flags & ATA_D_USE_CHS) {
+	    int heads, sectors;
+    
+	    if (atadev->param.atavalid & ATA_FLAG_54_58) {
+		heads = atadev->param.current_heads;
+		sectors = atadev->param.current_sectors;
+	    }
+	    else {
+		heads = atadev->param.heads;
+		sectors = atadev->param.sectors;
+	    }
+	    ATA_IDX_OUTW(ch, ATA_SECTOR, (request->u.ata.lba % sectors)+1);
+	    ATA_IDX_OUTW(ch, ATA_CYL_LSB,
+			 (request->u.ata.lba / (sectors * heads)));
+	    ATA_IDX_OUTW(ch, ATA_CYL_MSB,
+			 (request->u.ata.lba / (sectors * heads)) >> 8);
+	    ATA_IDX_OUTW(ch, ATA_DRIVE, ATA_D_IBM | atadev->unit | 
+			 (((request->u.ata.lba% (sectors * heads)) /
+			   sectors) & 0xf));
+	}
+	else {
+	    ATA_IDX_OUTW(ch, ATA_SECTOR, request->u.ata.lba);
+	    ATA_IDX_OUTW(ch, ATA_CYL_LSB, request->u.ata.lba >> 8);
+	    ATA_IDX_OUTW(ch, ATA_CYL_MSB, request->u.ata.lba >> 16);
+	    ATA_IDX_OUTW(ch, ATA_DRIVE,
+			 ATA_D_IBM | ATA_D_LBA | atadev->unit |
+			 ((request->u.ata.lba >> 24) & 0x0f));
+	}
+    }
+}
+
+static void
 ata_serverworks_setmode(device_t dev, int mode)
 {
     device_t gparent = GRANDPARENT(dev);
@@ -4562,7 +4678,7 @@
 
     if ((ctlr->chip->cfg2 & SIIBUG) && ch->dma) {
 	/* work around errata in early chips */
-	ch->dma->boundary = 16 * DEV_BSIZE;
+	ch->dma->boundary = 8192;
 	ch->dma->segsize = 15 * DEV_BSIZE;
     }
 

==== //depot/projects/dtrace/src/sys/dev/ata/ata-dma.c#7 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-dma.c,v 1.149 2007/11/20 04:52:19 kevlo Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-dma.c,v 1.150 2007/12/13 11:47:36 sos Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -75,7 +75,7 @@
 	ch->dma->load = ata_dmaload;
 	ch->dma->unload = ata_dmaunload;
 	ch->dma->alignment = 2;
-	ch->dma->boundary = 128 * DEV_BSIZE;
+	ch->dma->boundary = 65536;
 	ch->dma->segsize = 128 * DEV_BSIZE;
 	ch->dma->max_iosize = 128 * DEV_BSIZE;
 	ch->dma->max_address = BUS_SPACE_MAXADDR_32BIT;

==== //depot/projects/dtrace/src/sys/dev/ata/ata-lowlevel.c#6 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-lowlevel.c,v 1.79 2007/04/06 16:18:59 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-lowlevel.c,v 1.80 2007/12/13 11:47:36 sos Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -50,6 +50,8 @@
 static int ata_wait(struct ata_channel *ch, struct ata_device *, u_int8_t);
 static void ata_pio_read(struct ata_request *, int);
 static void ata_pio_write(struct ata_request *, int);
+static void ata_tf_read(struct ata_request *);
+static void ata_tf_write(struct ata_request *);
 
 /*
  * low level ATA functions 
@@ -63,6 +65,8 @@
     ch->hw.end_transaction = ata_end_transaction;
     ch->hw.status = ata_generic_status;
     ch->hw.command = ata_generic_command;
+    ch->hw.tf_read = ata_tf_read;
+    ch->hw.tf_write = ata_tf_write;
 }
 
 /* must be called with ATA channel locked and state_mtx held */
@@ -244,28 +248,7 @@
 
 	/* on control commands read back registers to the request struct */
 	if (request->flags & ATA_R_CONTROL) {
-	    if (atadev->flags & ATA_D_48BIT_ACTIVE) {
-		ATA_IDX_OUTB(ch, ATA_CONTROL, ATA_A_4BIT | ATA_A_HOB);
-		request->u.ata.count = (ATA_IDX_INB(ch, ATA_COUNT) << 8);
-		request->u.ata.lba =
-		    ((u_int64_t)(ATA_IDX_INB(ch, ATA_SECTOR)) << 24) |
-		    ((u_int64_t)(ATA_IDX_INB(ch, ATA_CYL_LSB)) << 32) |
-		    ((u_int64_t)(ATA_IDX_INB(ch, ATA_CYL_MSB)) << 40);
-
-		ATA_IDX_OUTB(ch, ATA_CONTROL, ATA_A_4BIT);
-		request->u.ata.count |= ATA_IDX_INB(ch, ATA_COUNT);
-		request->u.ata.lba |= 
-		    (ATA_IDX_INB(ch, ATA_SECTOR) |
-		     (ATA_IDX_INB(ch, ATA_CYL_LSB) << 8) |
-		     (ATA_IDX_INB(ch, ATA_CYL_MSB) << 16));
-	    }
-	    else {
-		request->u.ata.count = ATA_IDX_INB(ch, ATA_COUNT);
-		request->u.ata.lba = ATA_IDX_INB(ch, ATA_SECTOR) |
-				     (ATA_IDX_INB(ch, ATA_CYL_LSB) << 8) |
-				     (ATA_IDX_INB(ch, ATA_CYL_MSB) << 16) |
-				     ((ATA_IDX_INB(ch, ATA_DRIVE) & 0xf) << 24);
-	    }
+	    ch->hw.tf_read(request);
 	}
 
 	/* if we got an error we are done with the HW */
@@ -734,57 +717,96 @@
 			   ATA_PROTO_ATAPI_12 ? 6 : 8);
     }
     else {
-	if (atadev->flags & ATA_D_48BIT_ACTIVE) {
-	    ATA_IDX_OUTB(ch, ATA_FEATURE, request->u.ata.feature >> 8);
-	    ATA_IDX_OUTB(ch, ATA_FEATURE, request->u.ata.feature);
-	    ATA_IDX_OUTB(ch, ATA_COUNT, request->u.ata.count >> 8);
-	    ATA_IDX_OUTB(ch, ATA_COUNT, request->u.ata.count);
-	    ATA_IDX_OUTB(ch, ATA_SECTOR, request->u.ata.lba >> 24);
-	    ATA_IDX_OUTB(ch, ATA_SECTOR, request->u.ata.lba);
-	    ATA_IDX_OUTB(ch, ATA_CYL_LSB, request->u.ata.lba >> 32);
-	    ATA_IDX_OUTB(ch, ATA_CYL_LSB, request->u.ata.lba >> 8);
-	    ATA_IDX_OUTB(ch, ATA_CYL_MSB, request->u.ata.lba >> 40);
-	    ATA_IDX_OUTB(ch, ATA_CYL_MSB, request->u.ata.lba >> 16);
-	    ATA_IDX_OUTB(ch, ATA_DRIVE, ATA_D_LBA | atadev->unit);
-	}
-	else {
-	    ATA_IDX_OUTB(ch, ATA_FEATURE, request->u.ata.feature);
-	    ATA_IDX_OUTB(ch, ATA_COUNT, request->u.ata.count);
-	    if (atadev->flags & ATA_D_USE_CHS) {
-		int heads, sectors;
+	ch->hw.tf_write(request);
+
+	/* issue command to controller */
+	ATA_IDX_OUTB(ch, ATA_COMMAND, request->u.ata.command);
+    }
+    return 0;
+}
+
+static void
+ata_tf_read(struct ata_request *request)
+{
+    struct ata_channel *ch = device_get_softc(device_get_parent(request->dev));
+    struct ata_device *atadev = device_get_softc(request->dev);
+
+    if (atadev->flags & ATA_D_48BIT_ACTIVE) {
+	ATA_IDX_OUTB(ch, ATA_CONTROL, ATA_A_4BIT | ATA_A_HOB);
+	request->u.ata.count = (ATA_IDX_INB(ch, ATA_COUNT) << 8);
+	request->u.ata.lba =
+	    ((u_int64_t)(ATA_IDX_INB(ch, ATA_SECTOR)) << 24) |
+	    ((u_int64_t)(ATA_IDX_INB(ch, ATA_CYL_LSB)) << 32) |
+	    ((u_int64_t)(ATA_IDX_INB(ch, ATA_CYL_MSB)) << 40);
+
+	ATA_IDX_OUTB(ch, ATA_CONTROL, ATA_A_4BIT);
+	request->u.ata.count |= ATA_IDX_INB(ch, ATA_COUNT);
+	request->u.ata.lba |= 
+	    (ATA_IDX_INB(ch, ATA_SECTOR) |
+	     (ATA_IDX_INB(ch, ATA_CYL_LSB) << 8) |
+	     (ATA_IDX_INB(ch, ATA_CYL_MSB) << 16));
+    }
+    else {
+	request->u.ata.count = ATA_IDX_INB(ch, ATA_COUNT);
+	request->u.ata.lba = ATA_IDX_INB(ch, ATA_SECTOR) |
+			     (ATA_IDX_INB(ch, ATA_CYL_LSB) << 8) |
+			     (ATA_IDX_INB(ch, ATA_CYL_MSB) << 16) |
+			     ((ATA_IDX_INB(ch, ATA_DRIVE) & 0xf) << 24);
+    }
+}
+
+static void
+ata_tf_write(struct ata_request *request)
+{
+    struct ata_channel *ch = device_get_softc(device_get_parent(request->dev));
+    struct ata_device *atadev = device_get_softc(request->dev);
+
+    if (atadev->flags & ATA_D_48BIT_ACTIVE) {
+	ATA_IDX_OUTB(ch, ATA_FEATURE, request->u.ata.feature >> 8);
+	ATA_IDX_OUTB(ch, ATA_FEATURE, request->u.ata.feature);
+	ATA_IDX_OUTB(ch, ATA_COUNT, request->u.ata.count >> 8);
+	ATA_IDX_OUTB(ch, ATA_COUNT, request->u.ata.count);
+	ATA_IDX_OUTB(ch, ATA_SECTOR, request->u.ata.lba >> 24);
+	ATA_IDX_OUTB(ch, ATA_SECTOR, request->u.ata.lba);
+	ATA_IDX_OUTB(ch, ATA_CYL_LSB, request->u.ata.lba >> 32);
+	ATA_IDX_OUTB(ch, ATA_CYL_LSB, request->u.ata.lba >> 8);
+	ATA_IDX_OUTB(ch, ATA_CYL_MSB, request->u.ata.lba >> 40);
+	ATA_IDX_OUTB(ch, ATA_CYL_MSB, request->u.ata.lba >> 16);
+	ATA_IDX_OUTB(ch, ATA_DRIVE, ATA_D_LBA | atadev->unit);
+    }
+    else {
+	ATA_IDX_OUTB(ch, ATA_FEATURE, request->u.ata.feature);
+	ATA_IDX_OUTB(ch, ATA_COUNT, request->u.ata.count);
+	if (atadev->flags & ATA_D_USE_CHS) {
+	    int heads, sectors;
     
-		if (atadev->param.atavalid & ATA_FLAG_54_58) {
-		    heads = atadev->param.current_heads;
-		    sectors = atadev->param.current_sectors;
-		}
-		else {
-		    heads = atadev->param.heads;
-		    sectors = atadev->param.sectors;
-		}
-		ATA_IDX_OUTB(ch, ATA_SECTOR, (request->u.ata.lba % sectors)+1);
-		ATA_IDX_OUTB(ch, ATA_CYL_LSB,
-			     (request->u.ata.lba / (sectors * heads)));
-		ATA_IDX_OUTB(ch, ATA_CYL_MSB,
-			     (request->u.ata.lba / (sectors * heads)) >> 8);
-		ATA_IDX_OUTB(ch, ATA_DRIVE, ATA_D_IBM | atadev->unit | 
-			     (((request->u.ata.lba% (sectors * heads)) /
-			       sectors) & 0xf));
+	    if (atadev->param.atavalid & ATA_FLAG_54_58) {
+		heads = atadev->param.current_heads;
+		sectors = atadev->param.current_sectors;
 	    }
 	    else {
-		ATA_IDX_OUTB(ch, ATA_SECTOR, request->u.ata.lba);
-		ATA_IDX_OUTB(ch, ATA_CYL_LSB, request->u.ata.lba >> 8);
-		ATA_IDX_OUTB(ch, ATA_CYL_MSB, request->u.ata.lba >> 16);
-		ATA_IDX_OUTB(ch, ATA_DRIVE,
-			     ATA_D_IBM | ATA_D_LBA | atadev->unit |
-			     ((request->u.ata.lba >> 24) & 0x0f));
+		heads = atadev->param.heads;
+		sectors = atadev->param.sectors;
 	    }
+
+	    ATA_IDX_OUTB(ch, ATA_SECTOR, (request->u.ata.lba % sectors)+1);
+	    ATA_IDX_OUTB(ch, ATA_CYL_LSB,
+			 (request->u.ata.lba / (sectors * heads)));
+	    ATA_IDX_OUTB(ch, ATA_CYL_MSB,
+			 (request->u.ata.lba / (sectors * heads)) >> 8);
+	    ATA_IDX_OUTB(ch, ATA_DRIVE, ATA_D_IBM | atadev->unit | 
+			 (((request->u.ata.lba% (sectors * heads)) /
+			   sectors) & 0xf));
 	}
-
-	/* issue command to controller */
-	ATA_IDX_OUTB(ch, ATA_COMMAND, request->u.ata.command);
+	else {
+	    ATA_IDX_OUTB(ch, ATA_SECTOR, request->u.ata.lba);
+	    ATA_IDX_OUTB(ch, ATA_CYL_LSB, request->u.ata.lba >> 8);
+	    ATA_IDX_OUTB(ch, ATA_CYL_MSB, request->u.ata.lba >> 16);
+	    ATA_IDX_OUTB(ch, ATA_DRIVE,
+			 ATA_D_IBM | ATA_D_LBA | atadev->unit |
+			 ((request->u.ata.lba >> 24) & 0x0f));
+	}
     }
-
-    return 0;
 }
 
 static void

==== //depot/projects/dtrace/src/sys/dev/sound/pci/hda/hdac.c#16 (text+ko) ====

@@ -84,7 +84,7 @@
 #define HDA_DRV_TEST_REV	"20071129_0050"
 #define HDA_WIDGET_PARSER_REV	1
 
-SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/hda/hdac.c,v 1.49 2007/12/02 16:38:28 ariff Exp $");
+SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/hda/hdac.c,v 1.51 2007/12/13 15:48:45 ariff Exp $");
 
 #define HDA_BOOTVERBOSE(stmt)	do {			\
 	if (bootverbose != 0 || snd_verbose > 3) {	\
@@ -179,6 +179,7 @@
 #define HP_XW4300_SUBVENDOR	HDA_MODEL_CONSTRUCT(HP, 0x3013)
 #define HP_3010_SUBVENDOR	HDA_MODEL_CONSTRUCT(HP, 0x3010)
 #define HP_DV5000_SUBVENDOR	HDA_MODEL_CONSTRUCT(HP, 0x30a5)
+#define HP_DC7700S_SUBVENDOR	HDA_MODEL_CONSTRUCT(HP, 0x2801)
 #define HP_DC7700_SUBVENDOR	HDA_MODEL_CONSTRUCT(HP, 0x2802)
 #define HP_ALL_SUBVENDOR	HDA_MODEL_CONSTRUCT(HP, 0xffff)
 /* What is wrong with XN 2563 anyway? (Got the picture ?) */
@@ -2168,6 +2169,18 @@
 		default:
 			break;
 		}
+	} else if (id == HDA_CODEC_ALC268 &&
+	    HDA_DEV_MATCH(ACER_ALL_SUBVENDOR, sc->pci_subvendor)) {
+		switch (nid) {
+		case 28:
+			config &= ~(HDA_CONFIG_DEFAULTCONF_DEVICE_MASK |
+			    HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK);
+			config |= (HDA_CONFIG_DEFAULTCONF_DEVICE_CD |
+			    HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_FIXED);
+			break;
+		default:
+			break;
+		}
 	}
 
 	HDA_BOOTVERBOSE(
@@ -4292,7 +4305,18 @@
 		}
 		break;
 	case HDA_CODEC_ALC262:
-		if (subvendor == HP_DC7700_SUBVENDOR) {
+		if (subvendor == HP_DC7700S_SUBVENDOR) {
+			ctl = hdac_audio_ctl_amp_get(devinfo, 21, 0, 1);
+			if (ctl != NULL && ctl->widget != NULL) {
+				ctl->ossmask = SOUND_MASK_PHONEOUT;
+				ctl->widget->ctlflags |= SOUND_MASK_PHONEOUT;
+			}
+			ctl = hdac_audio_ctl_amp_get(devinfo, 22, 0, 1);
+			if (ctl != NULL && ctl->widget != NULL) {
+				ctl->ossmask = SOUND_MASK_SPEAKER;
+				ctl->widget->ctlflags |= SOUND_MASK_SPEAKER;
+			}
+		} else if (subvendor == HP_DC7700_SUBVENDOR) {
 			ctl = hdac_audio_ctl_amp_get(devinfo, 22, 0, 1);
 			if (ctl != NULL && ctl->widget != NULL) {
 				ctl->ossmask = SOUND_MASK_SPEAKER;

==== //depot/projects/dtrace/src/tools/tools/ath/athdebug/athdebug.c#5 (text+ko) ====

@@ -26,7 +26,7 @@
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  * THE POSSIBILITY OF SUCH DAMAGES.
  *
- * $FreeBSD: src/tools/tools/ath/athdebug/athdebug.c,v 1.3 2007/12/04 05:52:58 sam Exp $
+ * $FreeBSD: src/tools/tools/ath/athdebug/athdebug.c,v 1.4 2007/12/13 02:01:01 sam Exp $
  */
 
 /*
@@ -67,6 +67,7 @@
 	ATH_DEBUG_LED		= 0x00100000,	/* led management */
 	ATH_DEBUG_FF		= 0x00200000,	/* fast frames */
 	ATH_DEBUG_DFS		= 0x00400000,	/* DFS processing */
+	ATH_DEBUG_TDMA		= 0x00800000,	/* TDMA processing */
 	ATH_DEBUG_FATAL		= 0x80000000,	/* fatal errors */
 	ATH_DEBUG_ANY		= 0xffffffff
 };
@@ -95,6 +96,7 @@
 	{ "led",	ATH_DEBUG_LED },
 	{ "ff",		ATH_DEBUG_FF },
 	{ "dfs",	ATH_DEBUG_DFS },
+	{ "tdma",	ATH_DEBUG_TDMA },
 	{ "fatal",	ATH_DEBUG_FATAL },
 };
 
@@ -135,7 +137,7 @@
 int
 main(int argc, char *argv[])
 {
-	const char *ifname = "ath0";
+	const char *ifname;
 	const char *cp, *tp;
 	const char *sep;
 	int c, op, i;
@@ -143,6 +145,9 @@
 	size_t debuglen;
 	char oid[256];
 
+	ifname = getenv("ATH");
+	if (ifname == NULL)
+		ifname = "ath0";
 	progname = argv[0];
 	if (argc > 1) {
 		if (strcmp(argv[1], "-i") == 0) {

==== //depot/projects/dtrace/src/tools/tools/ath/athstats/Makefile#6 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/tools/tools/ath/athstats/Makefile,v 1.4 2007/02/02 02:39:56 sam Exp $
+# $FreeBSD: src/tools/tools/ath/athstats/Makefile,v 1.5 2007/12/13 01:39:30 sam Exp $
 
 PROG=	athstats
 BINDIR=	/usr/local/bin
@@ -9,9 +9,15 @@
 .include <bsd.prog.mk>
 
 CFLAGS+= -I.
-CLEANFILES+= opt_ah.h
+CLEANFILES+= opt_ah.h ah_osdep.h
+
+CFLAGS+=-I../../../../sys/contrib/dev/ath
+CFLAGS+=-I../../../../sys/net80211
+CFLAGS+=-I../../../../sys/dev/ath
 
-athstats.o: opt_ah.h
+athstats.o: opt_ah.h ah_osdep.h
 
 opt_ah.h:
 	touch opt_ah.h
+ah_osdep.h:
+	touch ah_osdep.h

==== //depot/projects/dtrace/src/tools/tools/ath/athstats/athstats.c#7 (text+ko) ====

@@ -26,7 +26,7 @@
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  * THE POSSIBILITY OF SUCH DAMAGES.
  *
- * $FreeBSD: src/tools/tools/ath/athstats/athstats.c,v 1.6 2007/12/04 05:52:58 sam Exp $
+ * $FreeBSD: src/tools/tools/ath/athstats/athstats.c,v 1.7 2007/12/13 01:39:30 sam Exp $
  */
 
 /*
@@ -41,256 +41,258 @@
 #include <net/if_var.h>
 
 #include <stdio.h>
+#include <stdlib.h>
 #include <signal.h>
 #include <string.h>
 #include <unistd.h>
 #include <err.h>
 
-#include "../../../../sys/contrib/dev/ath/ah_desc.h"
-#include "../../../../sys/net80211/ieee80211_ioctl.h"
-#include "../../../../sys/net80211/ieee80211_radiotap.h"
-#include "../../../../sys/dev/ath/if_athioctl.h"
+#include "ah.h"
+#include "ah_desc.h"
+#include "ieee80211_ioctl.h"
+#include "ieee80211_radiotap.h"
+#include "if_athioctl.h"
 
 #include "athstats.h"
 
 #define	NOTPRESENT	{ 0, "", "" }
 
+#define	AFTER(prev)	((prev)+1)
+
 static const struct fmt athstats[] = {
 #define	S_INPUT		0
 	{ 8,	"input",	"input",	"data frames received" },
-#define	S_OUTPUT	1
+#define	S_OUTPUT	AFTER(S_INPUT)
 	{ 8,	"output",	"output",	"data frames transmit" },
-#define	S_TX_ALTRATE	2
+#define	S_TX_ALTRATE	AFTER(S_OUTPUT)
 	{ 7,	"altrate",	"altrate",	"tx frames with an alternate rate" },
-#define	S_TX_SHORTRETRY	3
+#define	S_TX_SHORTRETRY	AFTER(S_TX_ALTRATE)
 	{ 7,	"short",	"short",	"short on-chip tx retries" },
-#define	S_TX_LONGRETRY	4
+#define	S_TX_LONGRETRY	AFTER(S_TX_SHORTRETRY)
 	{ 7,	"long",		"long",		"long on-chip tx retries" },
-#define	S_TX_XRETRIES	5
+#define	S_TX_XRETRIES	AFTER(S_TX_LONGRETRY)
 	{ 6,	"xretry",	"xretry",	"tx failed 'cuz too many retries" },
-#define	S_MIB		6
+#define	S_MIB		AFTER(S_TX_XRETRIES)
 	{ 5,	"mib",		"mib",		"mib overflow interrupts" },
 #ifndef __linux__
-#define	S_TX_LINEAR	7
+#define	S_TX_LINEAR	AFTER(S_MIB)
 	{ 5,	"txlinear",	"txlinear",	"tx linearized to cluster" },
-#define	S_BSTUCK	8
+#define	S_BSTUCK	AFTER(S_TX_LINEAR)
 	{ 5,	"bstuck",	"bstuck",	"stuck beacon conditions" },
-#define	S_INTRCOAL	9
+#define	S_INTRCOAL	AFTER(S_BSTUCK)
 	{ 5,	"intrcoal",	"intrcoal",	"interrupts coalesced" },
+#define	S_RATE		AFTER(S_INTRCOAL)
 #else
-	NOTPRESENT, NOTPRESENT, NOTPRESENT,
+#define	S_RATE		AFTER(S_MIB)
 #endif
-#define	S_RATE		10
 	{ 4,	"rate",		"rate",		"current transmit rate" },
-#define	S_WATCHDOG	11
+#define	S_WATCHDOG	AFTER(S_RATE)
 	{ 5,	"wdog",		"wdog",		"watchdog timeouts" },
-#define	S_FATAL		12
+#define	S_FATAL		AFTER(S_WATCHDOG)
 	{ 5,	"fatal",	"fatal",	"hardware error interrupts" },
-#define	S_BMISS		13
+#define	S_BMISS		AFTER(S_FATAL)
 	{ 5,	"bmiss",	"bmiss",	"beacon miss interrupts" },
-#define	S_RXORN		14
+#define	S_RXORN		AFTER(S_BMISS)
 	{ 5,	"rxorn",	"rxorn",	"recv overrun interrupts" },
-#define	S_RXEOL		15
+#define	S_RXEOL		AFTER(S_RXORN)
 	{ 5,	"rxeol",	"rxeol",	"recv eol interrupts" },
-#define	S_TXURN		16
+#define	S_TXURN		AFTER(S_RXEOL)
 	{ 5,	"txurn",	"txurn",	"txmit underrun interrupts" },
-#define	S_TX_MGMT	17
+#define	S_TX_MGMT	AFTER(S_TXURN)
 	{ 5,	"txmgt",	"txmgt",	"tx management frames" },
-#define	S_TX_DISCARD	18
+#define	S_TX_DISCARD	AFTER(S_TX_MGMT)
 	{ 5,	"txdisc",	"txdisc",	"tx frames discarded prior to association" },
-#define	S_TX_INVALID	19
+#define	S_TX_INVALID	AFTER(S_TX_DISCARD)
 	{ 5,	"txinv",	"txinv",	"tx invalid (19)" },
-#define	S_TX_QSTOP	20
+#define	S_TX_QSTOP	AFTER(S_TX_INVALID)
 	{ 5,	"qstop",	"qstop",	"tx stopped 'cuz no xmit buffer" },
-#define	S_TX_ENCAP	21
+#define	S_TX_ENCAP	AFTER(S_TX_QSTOP)
 	{ 5,	"txencode",	"txencode",	"tx encapsulation failed" },
-#define	S_TX_NONODE	22
+#define	S_TX_NONODE	AFTER(S_TX_ENCAP)
 	{ 5,	"txnonode",	"txnonode",	"tx failed 'cuz no node" },
-#define	S_TX_NOMBUF	23
+#define	S_TX_NOMBUF	AFTER(S_TX_NONODE)
 	{ 5,	"txnombuf",	"txnombuf",	"tx failed 'cuz mbuf allocation failed" },
 #ifndef __linux__
-#define	S_TX_NOMCL	24
+#define	S_TX_NOMCL	AFTER(S_TX_NOMBUF)
 	{ 5,	"txnomcl",	"txnomcl",	"tx failed 'cuz cluster allocation failed" },
+#define	S_TX_FIFOERR	AFTER(S_TX_NOMCL)
 #else
-	NOTPRESENT,
+#define	S_TX_FIFOERR	AFTER(S_TX_NOMBUF)
 #endif
-#define	S_TX_FIFOERR	25
 	{ 5,	"efifo",	"efifo",	"tx failed 'cuz FIFO underrun" },
-#define	S_TX_FILTERED	26
+#define	S_TX_FILTERED	AFTER(S_TX_FIFOERR)
 	{ 5,	"efilt",	"efilt",	"tx failed 'cuz destination filtered" },
-#define	S_TX_BADRATE	27
+#define	S_TX_BADRATE	AFTER(S_TX_FILTERED)
 	{ 5,	"txbadrate",	"txbadrate",	"tx failed 'cuz bogus xmit rate" },
-#define	S_TX_NOACK	28
+#define	S_TX_NOACK	AFTER(S_TX_BADRATE)
 	{ 5,	"noack",	"noack",	"tx frames with no ack marked" },
-#define	S_TX_RTS	29
+#define	S_TX_RTS	AFTER(S_TX_NOACK)
 	{ 5,	"rts",		"rts",		"tx frames with rts enabled" },
-#define	S_TX_CTS	30
+#define	S_TX_CTS	AFTER(S_TX_RTS)
 	{ 5,	"cts",		"cts",		"tx frames with cts enabled" },
-#define	S_TX_SHORTPRE	31
+#define	S_TX_SHORTPRE	AFTER(S_TX_CTS)
 	{ 5,	"shpre",	"shpre",	"tx frames with short preamble" },
-#define	S_TX_PROTECT	32
+#define	S_TX_PROTECT	AFTER(S_TX_SHORTPRE)
 	{ 5,	"protect",	"protect",	"tx frames with 11g protection" },
-#define	S_RX_ORN	33
+#define	S_RX_ORN	AFTER(S_TX_PROTECT)
 	{ 5,	"rxorn",	"rxorn",	"rx failed 'cuz of desc overrun" },
-#define	S_RX_CRC_ERR	34
+#define	S_RX_CRC_ERR	AFTER(S_RX_ORN)
 	{ 6,	"crcerr",	"crcerr",	"rx failed 'cuz of bad CRC" },
-#define	S_RX_FIFO_ERR	35
+#define	S_RX_FIFO_ERR	AFTER(S_RX_CRC_ERR)
 	{ 5,	"rxfifo",	"rxfifo",	"rx failed 'cuz of FIFO overrun" },
-#define	S_RX_CRYPTO_ERR	36
+#define	S_RX_CRYPTO_ERR	AFTER(S_RX_FIFO_ERR)
 	{ 5,	"crypt",	"crypt",	"rx failed 'cuz decryption" },
-#define	S_RX_MIC_ERR	37
+#define	S_RX_MIC_ERR	AFTER(S_RX_CRYPTO_ERR)
 	{ 4,	"mic",		"mic",		"rx failed 'cuz MIC failure" },
-#define	S_RX_TOOSHORT	38
+#define	S_RX_TOOSHORT	AFTER(S_RX_MIC_ERR)
 	{ 5,	"rxshort",	"rxshort",	"rx failed 'cuz frame too short" },
-#define	S_RX_NOMBUF	39
+#define	S_RX_NOMBUF	AFTER(S_RX_TOOSHORT)
 	{ 5,	"rxnombuf",	"rxnombuf",	"rx setup failed 'cuz no mbuf" },
-#define	S_RX_MGT	40
+#define	S_RX_MGT	AFTER(S_RX_NOMBUF)
 	{ 5,	"rxmgt",	"rxmgt",	"rx management frames" },
-#define	S_RX_CTL	41
+#define	S_RX_CTL	AFTER(S_RX_MGT)
 	{ 5,	"rxctl",	"rxctl",	"rx control frames" },
-#define	S_RX_PHY_ERR	42
+#define	S_RX_PHY_ERR	AFTER(S_RX_CTL)
 	{ 7,	"phyerr",	"phyerr",	"rx failed 'cuz of PHY err" },
-#define	S_RX_PHY_UNDERRUN		43
+#define	S_RX_PHY_UNDERRUN		AFTER(S_RX_PHY_ERR)
 	{ 6,	"phyund",	"phyund",	"transmit underrun" },
-#define	S_RX_PHY_TIMING			44
+#define	S_RX_PHY_TIMING			AFTER(S_RX_PHY_UNDERRUN)
 	{ 6,	"phytim",	"phytim",	"timing error" },
-#define	S_RX_PHY_PARITY			45
+#define	S_RX_PHY_PARITY			AFTER(S_RX_PHY_TIMING)
 	{ 6,	"phypar",	"phypar",	"illegal parity" },
-#define	S_RX_PHY_RATE			46
+#define	S_RX_PHY_RATE			AFTER(S_RX_PHY_PARITY)
 	{ 6,	"phyrate",	"phyrate",	"illegal rate" },
-#define	S_RX_PHY_LENGTH			47
+#define	S_RX_PHY_LENGTH			AFTER(S_RX_PHY_RATE)
 	{ 6,	"phylen",	"phylen",	"illegal length" },
-#define	S_RX_PHY_RADAR			48
+#define	S_RX_PHY_RADAR			AFTER(S_RX_PHY_LENGTH)
 	{ 6,	"phyradar",	"phyradar",	"radar detect" },
-#define	S_RX_PHY_SERVICE		49
+#define	S_RX_PHY_SERVICE		AFTER(S_RX_PHY_RADAR)
 	{ 6,	"physervice",	"physervice",	"illegal service" },
-#define	S_RX_PHY_TOR			50
+#define	S_RX_PHY_TOR			AFTER(S_RX_PHY_SERVICE)
 	{ 6,	"phytor",	"phytor",	"transmit override receive" },
-#define	S_RX_PHY_OFDM_TIMING		51
+#define	S_RX_PHY_OFDM_TIMING		AFTER(S_RX_PHY_TOR)
 	{ 6,	"ofdmtim",	"ofdmtim",	"OFDM timing" },
-#define	S_RX_PHY_OFDM_SIGNAL_PARITY	52
+#define	S_RX_PHY_OFDM_SIGNAL_PARITY	AFTER(S_RX_PHY_OFDM_TIMING)
 	{ 6,	"ofdmsig",	"ofdmsig",	"OFDM illegal parity" },
-#define	S_RX_PHY_OFDM_RATE_ILLEGAL	53
+#define	S_RX_PHY_OFDM_RATE_ILLEGAL	AFTER(S_RX_PHY_OFDM_SIGNAL_PARITY)
 	{ 6,	"ofdmrate",	"ofdmrate",	"OFDM illegal rate" },
-#define	S_RX_PHY_OFDM_POWER_DROP	54
+#define	S_RX_PHY_OFDM_POWER_DROP	AFTER(S_RX_PHY_OFDM_RATE_ILLEGAL)
 	{ 6,	"ofdmpow",	"ofdmpow",	"OFDM power drop" },
-#define	S_RX_PHY_OFDM_SERVICE		55
+#define	S_RX_PHY_OFDM_SERVICE		AFTER(S_RX_PHY_OFDM_POWER_DROP)
 	{ 6,	"ofdmservice",	"ofdmservice",	"OFDM illegal service" },
-#define	S_RX_PHY_OFDM_RESTART		56
+#define	S_RX_PHY_OFDM_RESTART		AFTER(S_RX_PHY_OFDM_SERVICE)
 	{ 6,	"ofdmrestart",	"ofdmrestart",	"OFDM restart" },
-#define	S_RX_PHY_CCK_TIMING		57
+#define	S_RX_PHY_CCK_TIMING		AFTER(S_RX_PHY_OFDM_RESTART)
 	{ 6,	"ccktim",	"ccktim",	"CCK timing" },
-#define	S_RX_PHY_CCK_HEADER_CRC		58
+#define	S_RX_PHY_CCK_HEADER_CRC		AFTER(S_RX_PHY_CCK_TIMING)
 	{ 6,	"cckhead",	"cckhead",	"CCK header crc" },
-#define	S_RX_PHY_CCK_RATE_ILLEGAL	59
+#define	S_RX_PHY_CCK_RATE_ILLEGAL	AFTER(S_RX_PHY_CCK_HEADER_CRC)
 	{ 6,	"cckrate",	"cckrate",	"CCK illegal rate" },
-#define	S_RX_PHY_CCK_SERVICE		60
+#define	S_RX_PHY_CCK_SERVICE		AFTER(S_RX_PHY_CCK_RATE_ILLEGAL)
 	{ 6,	"cckservice",	"cckservice",	"CCK illegal service" },
-#define	S_RX_PHY_CCK_RESTART		61
+#define	S_RX_PHY_CCK_RESTART		AFTER(S_RX_PHY_CCK_SERVICE)
 	{ 6,	"cckrestar",	"cckrestar",	"CCK restart" },
-#define	S_BE_NOMBUF	62
+#define	S_BE_NOMBUF	AFTER(S_RX_PHY_CCK_RESTART)
 	{ 4,	"benombuf",	"benombuf",	"beacon setup failed 'cuz no mbuf" },
-#define	S_BE_XMIT	63
+#define	S_BE_XMIT	AFTER(S_BE_NOMBUF)
 	{ 7,	"bexmit",	"bexmit",	"beacons transmitted" },
-#define	S_PER_CAL	64
+#define	S_PER_CAL	AFTER(S_BE_XMIT)
 	{ 4,	"pcal",		"pcal",		"periodic calibrations" },
-#define	S_PER_CALFAIL	65
+#define	S_PER_CALFAIL	AFTER(S_PER_CAL)
 	{ 4,	"pcalf",	"pcalf",	"periodic calibration failures" },
-#define	S_PER_RFGAIN	66
+#define	S_PER_RFGAIN	AFTER(S_PER_CALFAIL)
 	{ 4,	"prfga",	"prfga",	"rfgain value change" },
-#if 0
-#define	S_TDMA_UPDATE	67
+#if ATH_SUPPORT_TDMA
+#define	S_TDMA_UPDATE	AFTER(S_PER_RFGAIN)
 	{ 5,	"tdmau",	"tdmau",	"TDMA slot timing updates" },
-#define	S_TDMA_TIMERS	68
+#define	S_TDMA_TIMERS	AFTER(S_TDMA_UPDATE)
 	{ 5,	"tdmab",	"tdmab",	"TDMA slot update set beacon timers" },
-#define	S_TDMA_TSF	69
+#define	S_TDMA_TSF	AFTER(S_TDMA_TIMERS)
 	{ 5,	"tdmat",	"tdmat",	"TDMA slot update set TSF" },
+#define	S_RATE_CALLS	AFTER(S_TDMA_TSF)
 #else
-	NOTPRESENT, NOTPRESENT, NOTPRESENT,
+#define	S_RATE_CALLS	AFTER(S_PER_RFGAIN)
 #endif
-#define	S_RATE_CALLS	70
 	{ 5,	"ratec",	"ratec",	"rate control checks" },
-#define	S_RATE_RAISE	71
+#define	S_RATE_RAISE	AFTER(S_RATE_CALLS)
 	{ 5,	"rate+",	"rate+",	"rate control raised xmit rate" },
-#define	S_RATE_DROP	72
+#define	S_RATE_DROP	AFTER(S_RATE_RAISE)
 	{ 5,	"rate-",	"rate-",	"rate control dropped xmit rate" },
-#define	S_TX_RSSI	73
+#define	S_TX_RSSI	AFTER(S_RATE_DROP)
 	{ 4,	"arssi",	"arssi",	"rssi of last ack" },
-#define	S_RX_RSSI	74
+#define	S_RX_RSSI	AFTER(S_TX_RSSI)
 	{ 4,	"rssi",		"rssi",		"avg recv rssi" },
-#define	S_RX_NOISE	75
+#define	S_RX_NOISE	AFTER(S_RX_RSSI)
 	{ 5,	"noise",	"noise",	"rx noise floor" },
-#define	S_BMISS_PHANTOM	76
+#define	S_BMISS_PHANTOM	AFTER(S_RX_NOISE)
 	{ 5,	"bmissphantom",	"bmissphantom",	"phantom beacon misses" },
-#define	S_TX_RAW	77
+#define	S_TX_RAW	AFTER(S_BMISS_PHANTOM)
 	{ 5,	"txraw",	"txraw",	"tx frames through raw api" },
-#define	S_RX_TOOBIG	78
+#define	S_RX_TOOBIG	AFTER(S_TX_RAW)
 	{ 5,	"rx2big",	"rx2big",	"rx failed 'cuz frame too large"  },
 #ifndef __linux__
-#define	S_CABQ_XMIT	79
+#define	S_CABQ_XMIT	AFTER(S_RX_TOOBIG)
 	{ 5,	"cabxmit",	"cabxmit",	"cabq frames transmitted" },
-#define	S_CABQ_BUSY	80
+#define	S_CABQ_BUSY	AFTER(S_CABQ_XMIT)
 	{ 5,	"cabqbusy",	"cabqbusy",	"cabq xmit overflowed beacon interval" },
-#define	S_TX_NODATA	81
+#define	S_TX_NODATA	AFTER(S_CABQ_BUSY)
 	{ 5,	"txnodata",	"txnodata",	"tx discarded empty frame" },
-#define	S_TX_BUSDMA	82
+#define	S_TX_BUSDMA	AFTER(S_TX_NODATA)
 	{ 5,	"txbusdma",	"txbusdma",	"tx failed for dma resrcs" },
-#define	S_RX_BUSDMA	83
+#define	S_RX_BUSDMA	AFTER(S_TX_BUSDMA)
 	{ 5,	"rxbusdma",	"rxbusdma",	"rx setup failed for dma resrcs" },

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


More information about the p4-projects mailing list