From owner-p4-projects@FreeBSD.ORG Wed Jun 6 02:19:57 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 31C8E16A469; Wed, 6 Jun 2007 02:19:57 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0A9D616A41F for ; Wed, 6 Jun 2007 02:19:57 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id E7D9E13C457 for ; Wed, 6 Jun 2007 02:19:56 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l562JuOk032982 for ; Wed, 6 Jun 2007 02:19:56 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l562Juc8032973 for perforce@freebsd.org; Wed, 6 Jun 2007 02:19:56 GMT (envelope-from imp@freebsd.org) Date: Wed, 6 Jun 2007 02:19:56 GMT Message-Id: <200706060219.l562Juc8032973@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 121027 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Jun 2007 02:19:57 -0000 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 @@ -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 #include -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 -__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 -__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 #include @@ -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 -__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 #include @@ -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;