Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Jun 2007 02:19:56 GMT
From:      Warner Losh <imp@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 121027 for review
Message-ID:  <200706060219.l562Juc8032973@repoman.freebsd.org>

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

Change 121027 by imp@imp_paco-paco on 2007/06/06 02:19:34

	IFC @121025

Affected files ...

.. //depot/projects/arm/src/contrib/bind9/lib/isc/arm/include/isc/atomic.h#1 branch
.. //depot/projects/arm/src/lib/bind/config.mk#3 integrate
.. //depot/projects/arm/src/share/man/man9/condvar.9#4 integrate
.. //depot/projects/arm/src/sys/dev/sound/pcm/ac97.c#13 integrate
.. //depot/projects/arm/src/sys/dev/sound/pcm/ac97_patch.c#6 integrate
.. //depot/projects/arm/src/sys/dev/usb/uftdi.c#5 integrate
.. //depot/projects/arm/src/sys/dev/usb/usbdevs#32 integrate
.. //depot/projects/arm/src/sys/netinet/sctp_sysctl.c#6 integrate
.. //depot/projects/arm/src/sys/netinet/sctputil.c#16 integrate

Differences ...

==== //depot/projects/arm/src/lib/bind/config.mk#3 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/lib/bind/config.mk,v 1.18 2007/06/03 16:49:57 dougb Exp $
+# $FreeBSD: src/lib/bind/config.mk,v 1.19 2007/06/05 22:17:16 dougb Exp $
 
 .include <bsd.own.mk>
 
@@ -65,8 +65,6 @@
 # Use the right version of the atomic.h file from lib/isc
 .if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
 ISC_ATOMIC_ARCH=	x86_32
-.elif ${MACHINE_ARCH} == "arm"
-ISC_ATOMIC_ARCH=	noatomic
 .else
 ISC_ATOMIC_ARCH=	${MACHINE_ARCH}
 .endif

==== //depot/projects/arm/src/share/man/man9/condvar.9#4 (text+ko) ====

@@ -24,9 +24,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/condvar.9,v 1.19 2007/03/30 18:07:26 julian Exp $
+.\" $FreeBSD: src/share/man/man9/condvar.9,v 1.21 2007/06/05 20:53:18 imp Exp $
 .\"
-.Dd March 21, 2007
+.Dd June 5, 2007
 .Dt CONDVAR 9
 .Os
 .Sh NAME
@@ -117,6 +117,12 @@
 or
 .Xr sx 9
 lock.
+A 
+.Xr mutex 9
+argument must be initialized with
+.Dv MTX_DEF 
+and not
+.Dv MTX_SPIN .
 A thread must hold
 .Fa lock
 before calling

==== //depot/projects/arm/src/sys/dev/sound/pcm/ac97.c#13 (text+ko) ====

@@ -32,7 +32,7 @@
 
 #include "mixer_if.h"
 
-SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pcm/ac97.c,v 1.71 2007/06/04 18:25:04 dwmalone Exp $");
+SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pcm/ac97.c,v 1.72 2007/06/05 20:30:16 ariff Exp $");
 
 MALLOC_DEFINE(M_AC97, "ac97", "ac97 codec");
 
@@ -48,7 +48,8 @@
 	unsigned enable:1;	/* entry is enabled		*/
 };
 
-#define AC97_NAMELEN	16
+#define AC97_MIXER_SIZE		SOUND_MIXER_NRDEVICES
+
 struct ac97_info {
 	kobj_t methods;
 	device_t dev;
@@ -57,8 +58,8 @@
 	u_int32_t subvendor;
 	unsigned count, caps, se, extcaps, extid, extstat, noext:1;
 	u_int32_t flags;
-	struct ac97mixtable_entry mix[32];
-	char name[AC97_NAMELEN];
+	struct ac97mixtable_entry mix[AC97_MIXER_SIZE];
+	char name[16];
 	struct mtx *lock;
 };
 
@@ -75,7 +76,7 @@
 	ac97_patch patch;
 };
 
-static const struct ac97mixtable_entry ac97mixtable_default[32] = {
+static const struct ac97mixtable_entry ac97mixtable_default[AC97_MIXER_SIZE] = {
     /*	[offset]			reg	     bits of st mu re mk en */
 	[SOUND_MIXER_VOLUME]	= { AC97_MIX_MASTER, 	5, 0, 1, 1, 6, 0, 1 },
 	[SOUND_MIXER_OGAIN]	= { AC97_MIX_AUXOUT, 	5, 0, 1, 1, 0, 0, 0 },
@@ -614,12 +615,13 @@
 
 	i = ac97_rdcd(codec, AC97_REG_RESET);
 	j = ac97_rdcd(codec, AC97_REG_RESET);
+	k = ac97_rdcd(codec, AC97_REG_RESET);
 	/*
 	 * Let see if this codec can return consistent value.
 	 * If not, turn on aggressive read workaround
 	 * (STAC9704 comes in mind).
 	 */
-	if (i != j) {
+	if (i != j || j != k) {
 		codec->flags |= AC97_F_RDCD_BUG;
 		i = ac97_rdcd(codec, AC97_REG_RESET);
 	}
@@ -674,7 +676,7 @@
 		}
 	}
 
-	for (i = 0; i < 32; i++) {
+	for (i = 0; i < AC97_MIXER_SIZE; i++) {
 		codec->mix[i] = ac97mixtable_default[i];
 	}
 	ac97_fix_auxout(codec);
@@ -682,7 +684,7 @@
 	if (codec_patch)
 		codec_patch(codec);
 
-	for (i = 0; i < 32; i++) {
+	for (i = 0; i < AC97_MIXER_SIZE; i++) {
 		k = codec->noext? codec->mix[i].enable : 1;
 		reg = codec->mix[i].reg;
 		if (reg < 0)
@@ -826,7 +828,8 @@
 	if (codec == NULL)
 		return NULL;
 
-	snprintf(codec->name, AC97_NAMELEN, "%s:ac97", device_get_nameunit(dev));
+	snprintf(codec->name, sizeof(codec->name), "%s:ac97",
+	    device_get_nameunit(dev));
 	codec->lock = snd_mtxcreate(codec->name, "ac97 codec");
 	codec->methods = kobj_create(cls, M_AC97, M_WAITOK | M_ZERO);
 	codec->dev = dev;
@@ -980,12 +983,12 @@
 #endif
 
 	mask = 0;
-	for (i = 0; i < 32; i++)
+	for (i = 0; i < AC97_MIXER_SIZE; i++)
 		mask |= codec->mix[i].enable? 1 << i : 0;
 	mix_setdevs(m, mask);
 
 	mask = 0;
-	for (i = 0; i < 32; i++)
+	for (i = 0; i < AC97_MIXER_SIZE; i++)
 		mask |= codec->mix[i].recidx? 1 << i : 0;
 	mix_setrecdevs(m, mask);
 
@@ -1024,7 +1027,7 @@
 {
 	struct ac97_info *codec = mix_getdevinfo(m);
 
-	if (codec == NULL)
+	if (codec == NULL || dev >= AC97_MIXER_SIZE)
 		return -1;
 	return ac97_setmixer(codec, dev, left, right);
 }
@@ -1037,7 +1040,7 @@
 
 	if (codec == NULL)
 		return -1;
-	for (i = 0; i < SOUND_MIXER_NRDEVICES; i++)
+	for (i = 0; i < AC97_MIXER_SIZE; i++)
 		if ((src & (1 << i)) != 0)
 			break;
 	return (ac97_setrecsrc(codec, i) == 0)? 1 << i : -1;

==== //depot/projects/arm/src/sys/dev/sound/pcm/ac97_patch.c#6 (text+ko) ====

@@ -28,7 +28,7 @@
 #include <dev/sound/pcm/ac97.h>
 #include <dev/sound/pcm/ac97_patch.h>
 
-SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pcm/ac97_patch.c,v 1.8 2007/04/19 13:54:22 ariff Exp $");
+SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pcm/ac97_patch.c,v 1.9 2007/06/05 20:12:40 ariff Exp $");
 
 void ad1886_patch(struct ac97_info* codec)
 {
@@ -91,6 +91,15 @@
 	case 0x03511462:	/* MSI L725 */
 		ac97_wrcd(codec, 0x7a, ac97_rdcd(codec, 0x7a) & 0xfffd);
 		break;
+	case 0x10ca1734:
+		/*
+		 * Amilo Pro V2055 with ALC655 has phone out by default
+		 * disabled (surround on), leaving us only with internal
+		 * speakers. This should really go to mixer. We write the
+		 * Data Flow Control reg.
+		 */
+		ac97_wrcd(codec, 0x6a, ac97_rdcd(codec, 0x6a) | 0x0001);
+		break;
 	default:
 		break;
 	}

==== //depot/projects/arm/src/sys/dev/usb/uftdi.c#5 (text+ko) ====

@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/uftdi.c,v 1.25 2007/04/30 16:15:19 takawata Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/uftdi.c,v 1.26 2007/06/05 21:06:17 imp Exp $");
 
 /*
  * FTDI FT8U100AX serial adapter driver
@@ -167,7 +167,12 @@
 	     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))
+	     uaa->product == USB_PRODUCT_FTDI_LK204 ||
+             uaa->product == USB_PRODUCT_FTDI_EISCOU ||
+             uaa->product == USB_PRODUCT_FTDI_UOPTBR ||
+             uaa->product == USB_PRODUCT_FTDI_EMCU2D ||
+             uaa->product == USB_PRODUCT_FTDI_PCMSFU ||
+             uaa->product == USB_PRODUCT_FTDI_EMCU2H ))
 		return (UMATCH_VENDOR_PRODUCT);
 	if (uaa->vendor == USB_VENDOR_SIIG2 &&
 	    (uaa->product == USB_PRODUCT_SIIG2_US2308))
@@ -250,6 +255,11 @@
 		case USB_PRODUCT_FTDI_MX4_5:
 		case USB_PRODUCT_FTDI_LK202:
 		case USB_PRODUCT_FTDI_LK204:
+                case USB_PRODUCT_FTDI_EISCOU:
+                case USB_PRODUCT_FTDI_UOPTBR:
+                case USB_PRODUCT_FTDI_EMCU2D:
+                case USB_PRODUCT_FTDI_PCMSFU:
+                case USB_PRODUCT_FTDI_EMCU2H:
 			sc->sc_type = UFTDI_TYPE_8U232AM;
 			sc->sc_hdrlen = 0;
 			break;

==== //depot/projects/arm/src/sys/dev/usb/usbdevs#32 (text+ko) ====

@@ -1,4 +1,4 @@
-$FreeBSD: src/sys/dev/usb/usbdevs,v 1.295 2007/05/29 20:05:13 imp Exp $
+$FreeBSD: src/sys/dev/usb/usbdevs,v 1.296 2007/06/05 21:06:17 imp Exp $
 /* $NetBSD: usbdevs,v 1.392 2004/12/29 08:38:44 imp Exp $ */
 
 /*-
@@ -1024,6 +1024,12 @@
 product FTDI SERIAL_8U100AX	0x8372	8U100AX Serial
 product FTDI SERIAL_8U232AM	0x6001	8U232AM Serial
 product FTDI SERIAL_2232C	0x6010	FT2232C Dual port Serial
+/* Gude Analog- und Digitalsysteme products also uses FTDI's id: */
+product FTDI EISCOU		0xe888 "Expert ISDN Control USB"
+product FTDI UOPTBR		0xe889 "USB-RS232 OptoBridge"
+product FTDI EMCU2D		0xe88a "Expert mouseCLOCK USB II"
+product FTDI PCMSFU		0xe88b "Precision Clock MSF USB"
+product FTDI EMCU2H		0xe88c "Expert mouseCLOCK USB II HBG"
 
 /* Fuji photo products */
 product FUJIPHOTO MASS0100	0x0100	Mass Storage

==== //depot/projects/arm/src/sys/netinet/sctp_sysctl.c#6 (text+ko) ====

@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/netinet/sctp_sysctl.c,v 1.8 2007/05/29 09:29:02 rrs Exp $");
+__FBSDID("$FreeBSD: src/sys/netinet/sctp_sysctl.c,v 1.9 2007/06/06 00:40:41 rrs Exp $");
 
 #include <netinet/sctp_os.h>
 #include <netinet/sctp_constants.h>
@@ -192,6 +192,8 @@
 
 	/* neither Mac OS X nor FreeBSD support mulitple routing functions */
 	if ((vrf = sctp_find_vrf(inp->def_vrf_id)) == NULL) {
+		SCTP_INP_RUNLOCK(inp);
+		SCTP_INP_INFO_RUNLOCK();
 		return (-1);
 	}
 	if (inp->sctp_flags & SCTP_PCB_FLAGS_BOUNDALL) {
@@ -273,11 +275,18 @@
 	}
 	memset((void *)&xladdr, 0, sizeof(union sctp_sockstore));
 	xladdr.last = 1;
+	SCTP_INP_RUNLOCK(inp);
+	SCTP_INP_INFO_RUNLOCK();
 	error = SYSCTL_OUT(req, &xladdr, sizeof(struct xsctp_laddr));
+
 	if (error)
 		return (error);
-	else
+
+	else {
+		SCTP_INP_INFO_RLOCK();
+		SCTP_INP_RLOCK(inp);
 		return (0);
+	}
 }
 
 /*

==== //depot/projects/arm/src/sys/netinet/sctputil.c#16 (text+ko) ====

@@ -31,7 +31,7 @@
 /* $KAME: sctputil.c,v 1.37 2005/03/07 23:26:09 itojun Exp $	 */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/netinet/sctputil.c,v 1.36 2007/06/01 11:19:54 rrs Exp $");
+__FBSDID("$FreeBSD: src/sys/netinet/sctputil.c,v 1.37 2007/06/06 00:40:41 rrs Exp $");
 
 #include <netinet/sctp_os.h>
 #include <netinet/sctp_pcb.h>
@@ -5027,6 +5027,9 @@
 		 * there.
 		 */
 		sinfo->sinfo_flags &= 0x00ff;
+		if ((control->sinfo_flags >> 8) & SCTP_DATA_UNORDERED) {
+			sinfo->sinfo_flags |= SCTP_UNORDERED;
+		}
 	}
 	if (fromlen && from) {
 		struct sockaddr *to;



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