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>