PERFORCE change 121027 for review
Warner Losh
imp at FreeBSD.org
Wed Jun 6 02:19:57 UTC 2007
http://perforce.freebsd.org/chv.cgi?CH=121027
Change 121027 by imp at 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;
More information about the p4-projects
mailing list