From owner-svn-src-stable-8@FreeBSD.ORG Sun May 12 01:38:02 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 8C9AF878; Sun, 12 May 2013 01:38:02 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 69B67303; Sun, 12 May 2013 01:38:02 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4C1c2LL065220; Sun, 12 May 2013 01:38:02 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4C1c2sb065218; Sun, 12 May 2013 01:38:02 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201305120138.r4C1c2sb065218@svn.freebsd.org> From: Eitan Adler Date: Sun, 12 May 2013 01:38:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r250542 - stable/8/share/examples/BSD_daemon X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 May 2013 01:38:02 -0000 Author: eadler Date: Sun May 12 01:38:01 2013 New Revision: 250542 URL: http://svnweb.freebsd.org/changeset/base/250542 Log: MFC r250012: Add an alternate version of beastie to the examples directory. PR: docs/38556 Added: stable/8/share/examples/BSD_daemon/beastie2.eps - copied unchanged from r250012, head/share/examples/BSD_daemon/beastie2.eps Modified: stable/8/share/examples/BSD_daemon/README Directory Properties: stable/8/share/ (props changed) stable/8/share/examples/ (props changed) Modified: stable/8/share/examples/BSD_daemon/README ============================================================================== --- stable/8/share/examples/BSD_daemon/README Sun May 12 01:37:55 2013 (r250541) +++ stable/8/share/examples/BSD_daemon/README Sun May 12 01:38:01 2013 (r250542) @@ -35,6 +35,10 @@ beastie.eps Before committing this, clean out the comment brought over from the .fig file to avoid Dollar-FreeBSD-Dollar junk +beastie2.eps + Written by Rahul Siddharthan beaste2.eps is a + smaller, simpler version of the beastie eps graphic. + eps.patch Add some comments about tweakables in the .eps file and set the linecaps to round to improve visual appearance. Copied: stable/8/share/examples/BSD_daemon/beastie2.eps (from r250012, head/share/examples/BSD_daemon/beastie2.eps) ============================================================================== Binary file (source and/or target). No diff available. From owner-svn-src-stable-8@FreeBSD.ORG Sun May 12 01:53:49 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 72222F10; Sun, 12 May 2013 01:53:49 +0000 (UTC) (envelope-from peter@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 62A7F37B; Sun, 12 May 2013 01:53:49 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4C1rndl071391; Sun, 12 May 2013 01:53:49 GMT (envelope-from peter@svn.freebsd.org) Received: (from peter@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4C1rnHe071390; Sun, 12 May 2013 01:53:49 GMT (envelope-from peter@svn.freebsd.org) Message-Id: <201305120153.r4C1rnHe071390@svn.freebsd.org> From: Peter Wemm Date: Sun, 12 May 2013 01:53:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r250544 - head/sys/amd64/compile head/sys/amd64/conf head/sys/arm/compile head/sys/arm/conf head/sys/i386/compile head/sys/i386/conf head/sys/ia64/compile head/sys/ia64/conf head/sys/mi... X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 May 2013 01:53:49 -0000 Author: peter Date: Sun May 12 01:53:47 2013 New Revision: 250544 URL: http://svnweb.freebsd.org/changeset/base/250544 Log: Tidy up some CVS workarounds. Deleted: stable/8/sys/amd64/compile/.cvsignore stable/8/sys/amd64/conf/.cvsignore stable/8/sys/arm/compile/.cvsignore stable/8/sys/arm/conf/.cvsignore stable/8/sys/i386/compile/.cvsignore stable/8/sys/i386/conf/.cvsignore stable/8/sys/ia64/compile/.cvsignore stable/8/sys/ia64/conf/.cvsignore stable/8/sys/mips/compile/.cvsignore stable/8/sys/mips/conf/.cvsignore stable/8/sys/pc98/compile/.cvsignore stable/8/sys/pc98/conf/.cvsignore stable/8/sys/powerpc/compile/.cvsignore stable/8/sys/powerpc/conf/.cvsignore stable/8/sys/sparc64/compile/.cvsignore stable/8/sys/sparc64/conf/.cvsignore stable/8/sys/sun4v/compile/.cvsignore stable/8/sys/sun4v/conf/.cvsignore stable/8/tools/regression/geom_uzip/.cvsignore Changes in other areas also in this revision: Deleted: head/sys/amd64/compile/.cvsignore head/sys/amd64/conf/.cvsignore head/sys/arm/compile/.cvsignore head/sys/arm/conf/.cvsignore head/sys/i386/compile/.cvsignore head/sys/i386/conf/.cvsignore head/sys/ia64/compile/.cvsignore head/sys/ia64/conf/.cvsignore head/sys/mips/compile/.cvsignore head/sys/mips/conf/.cvsignore head/sys/pc98/compile/.cvsignore head/sys/pc98/conf/.cvsignore head/sys/powerpc/compile/.cvsignore head/sys/powerpc/conf/.cvsignore head/sys/sparc64/compile/.cvsignore head/sys/sparc64/conf/.cvsignore head/tools/regression/geom_uzip/.cvsignore stable/2.0.5/sys/compile/.keep_me stable/2.1/sys/compile/.keep_me stable/2.2/sys/compile/.keep_me stable/3/sys/compile/.keep_me stable/4/sys/compile/.keep_me stable/5/crypto/openssh/.cvsignore stable/5/crypto/openssh/openbsd-compat/.cvsignore stable/5/crypto/openssh/scard/.cvsignore stable/5/sys/alpha/compile/.cvsignore stable/5/sys/amd64/compile/.cvsignore stable/5/sys/i386/compile/.cvsignore stable/5/sys/ia64/compile/.cvsignore stable/5/sys/pc98/compile/.cvsignore stable/5/sys/sparc64/compile/.cvsignore stable/5/tools/regression/geom_uzip/.cvsignore stable/6/sys/alpha/compile/.cvsignore stable/6/sys/alpha/conf/.cvsignore stable/6/sys/amd64/compile/.cvsignore stable/6/sys/amd64/conf/.cvsignore stable/6/sys/arm/compile/.cvsignore stable/6/sys/arm/conf/.cvsignore stable/6/sys/i386/compile/.cvsignore stable/6/sys/i386/conf/.cvsignore stable/6/sys/ia64/compile/.cvsignore stable/6/sys/ia64/conf/.cvsignore stable/6/sys/pc98/compile/.cvsignore stable/6/sys/pc98/conf/.cvsignore stable/6/sys/powerpc/compile/.cvsignore stable/6/sys/powerpc/conf/.cvsignore stable/6/sys/sparc64/compile/.cvsignore stable/6/sys/sparc64/conf/.cvsignore stable/6/tools/regression/geom_uzip/.cvsignore stable/7/sys/amd64/compile/.cvsignore stable/7/sys/amd64/conf/.cvsignore stable/7/sys/arm/compile/.cvsignore stable/7/sys/arm/conf/.cvsignore stable/7/sys/i386/compile/.cvsignore stable/7/sys/i386/conf/.cvsignore stable/7/sys/ia64/compile/.cvsignore stable/7/sys/ia64/conf/.cvsignore stable/7/sys/pc98/compile/.cvsignore stable/7/sys/pc98/conf/.cvsignore stable/7/sys/powerpc/compile/.cvsignore stable/7/sys/powerpc/conf/.cvsignore stable/7/sys/sparc64/compile/.cvsignore stable/7/sys/sparc64/conf/.cvsignore stable/7/sys/sun4v/compile/.cvsignore stable/7/sys/sun4v/conf/.cvsignore stable/7/tools/regression/geom_uzip/.cvsignore stable/9/sys/amd64/compile/.cvsignore stable/9/sys/amd64/conf/.cvsignore stable/9/sys/arm/compile/.cvsignore stable/9/sys/arm/conf/.cvsignore stable/9/sys/i386/compile/.cvsignore stable/9/sys/i386/conf/.cvsignore stable/9/sys/ia64/compile/.cvsignore stable/9/sys/ia64/conf/.cvsignore stable/9/sys/mips/compile/.cvsignore stable/9/sys/mips/conf/.cvsignore stable/9/sys/pc98/compile/.cvsignore stable/9/sys/pc98/conf/.cvsignore stable/9/sys/powerpc/compile/.cvsignore stable/9/sys/powerpc/conf/.cvsignore stable/9/sys/sparc64/compile/.cvsignore stable/9/sys/sparc64/conf/.cvsignore stable/9/tools/regression/geom_uzip/.cvsignore From owner-svn-src-stable-8@FreeBSD.ORG Sun May 12 12:24:30 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 7A01DA2E; Sun, 12 May 2013 12:24:30 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 524BF974; Sun, 12 May 2013 12:24:30 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4CCOUR5092350; Sun, 12 May 2013 12:24:30 GMT (envelope-from hselasky@svn.freebsd.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4CCOTS4092346; Sun, 12 May 2013 12:24:29 GMT (envelope-from hselasky@svn.freebsd.org) Message-Id: <201305121224.r4CCOTS4092346@svn.freebsd.org> From: Hans Petter Selasky Date: Sun, 12 May 2013 12:24:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r250562 - in stable/8/sys/dev/usb: . controller X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 May 2013 12:24:30 -0000 Author: hselasky Date: Sun May 12 12:24:29 2013 New Revision: 250562 URL: http://svnweb.freebsd.org/changeset/base/250562 Log: MFC r249795: Add convenience wrapper functions to run callbacks in the context of the USB explore thread. Modified: stable/8/sys/dev/usb/controller/usb_controller.c stable/8/sys/dev/usb/usb_process.h Directory Properties: stable/8/sys/ (props changed) stable/8/sys/dev/ (props changed) stable/8/sys/dev/usb/ (props changed) Modified: stable/8/sys/dev/usb/controller/usb_controller.c ============================================================================== --- stable/8/sys/dev/usb/controller/usb_controller.c Sun May 12 12:20:04 2013 (r250561) +++ stable/8/sys/dev/usb/controller/usb_controller.c Sun May 12 12:24:29 2013 (r250562) @@ -877,3 +877,28 @@ usb_bus_mem_free_all(struct usb_bus *bus mtx_destroy(&bus->bus_mtx); } + +/* convenience wrappers */ +void +usb_proc_explore_mwait(struct usb_device *udev, void *pm1, void *pm2) +{ + usb_proc_mwait(&udev->bus->explore_proc, pm1, pm2); +} + +void * +usb_proc_explore_msignal(struct usb_device *udev, void *pm1, void *pm2) +{ + return (usb_proc_msignal(&udev->bus->explore_proc, pm1, pm2)); +} + +void +usb_proc_explore_lock(struct usb_device *udev) +{ + USB_BUS_LOCK(udev->bus); +} + +void +usb_proc_explore_unlock(struct usb_device *udev) +{ + USB_BUS_UNLOCK(udev->bus); +} Modified: stable/8/sys/dev/usb/usb_process.h ============================================================================== --- stable/8/sys/dev/usb/usb_process.h Sun May 12 12:20:04 2013 (r250561) +++ stable/8/sys/dev/usb/usb_process.h Sun May 12 12:24:29 2013 (r250562) @@ -42,6 +42,7 @@ /* structure prototypes */ struct usb_proc_msg; +struct usb_device; /* * The following structure defines the USB process. @@ -79,4 +80,9 @@ void usb_proc_free(struct usb_process *u void *usb_proc_msignal(struct usb_process *up, void *pm0, void *pm1); void usb_proc_rewakeup(struct usb_process *up); +void usb_proc_explore_mwait(struct usb_device *, void *, void *); +void *usb_proc_explore_msignal(struct usb_device *, void *, void *); +void usb_proc_explore_lock(struct usb_device *); +void usb_proc_explore_unlock(struct usb_device *); + #endif /* _USB_PROCESS_H_ */ From owner-svn-src-stable-8@FreeBSD.ORG Sun May 12 12:30:42 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 71D3CDA3; Sun, 12 May 2013 12:30:42 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 625609A0; Sun, 12 May 2013 12:30:42 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4CCUgaO095205; Sun, 12 May 2013 12:30:42 GMT (envelope-from hselasky@svn.freebsd.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4CCUg6O095204; Sun, 12 May 2013 12:30:42 GMT (envelope-from hselasky@svn.freebsd.org) Message-Id: <201305121230.r4CCUg6O095204@svn.freebsd.org> From: Hans Petter Selasky Date: Sun, 12 May 2013 12:30:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r250563 - stable/8/sys/dev/sound/usb X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 May 2013 12:30:42 -0000 Author: hselasky Date: Sun May 12 12:30:42 2013 New Revision: 250563 URL: http://svnweb.freebsd.org/changeset/base/250563 Log: MFC r249796, r249830, r249844 and r249845: USB audio fixes and improvements. - Fix runtime switching of sample rate - Fix feedback endpoint algorithm Modified: stable/8/sys/dev/sound/usb/uaudio.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/dev/ (props changed) stable/8/sys/dev/sound/ (props changed) stable/8/sys/dev/sound/usb/ (props changed) Modified: stable/8/sys/dev/sound/usb/uaudio.c ============================================================================== --- stable/8/sys/dev/sound/usb/uaudio.c Sun May 12 12:24:29 2013 (r250562) +++ stable/8/sys/dev/sound/usb/uaudio.c Sun May 12 12:30:42 2013 (r250563) @@ -73,6 +73,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #define USB_DEBUG_VAR uaudio_debug #include @@ -176,19 +177,34 @@ struct uaudio_mixer_node { struct uaudio_mixer_node *next; }; +struct uaudio_configure_msg { + struct usb_proc_msg hdr; + struct uaudio_softc *sc; +}; + +#define CHAN_MAX_ALT 20 + +struct uaudio_chan_alt { + union uaudio_asf1d p_asf1d; + union uaudio_sed p_sed; + const usb_endpoint_descriptor_audio_t *p_ed1; + const struct uaudio_format *p_fmt; + const struct usb_config *usb_cfg; + uint32_t sample_rate; /* in Hz */ + uint16_t sample_size; + uint8_t iface_index; + uint8_t iface_alt_index; + uint8_t channels; +}; + struct uaudio_chan { struct pcmchan_caps pcm_cap; /* capabilities */ - + struct uaudio_chan_alt usb_alt[CHAN_MAX_ALT]; struct snd_dbuf *pcm_buf; - const struct usb_config *usb_cfg; struct mtx *pcm_mtx; /* lock protecting this structure */ struct uaudio_softc *priv_sc; struct pcm_channel *pcm_ch; struct usb_xfer *xfer[UAUDIO_NCHANBUFS + 1]; - union uaudio_asf1d p_asf1d; - union uaudio_sed p_sed; - const usb_endpoint_descriptor_audio_t *p_ed1; - const struct uaudio_format *p_fmt; uint8_t *buf; /* pointer to buffer */ uint8_t *start; /* upper layer buffer start */ @@ -196,24 +212,24 @@ struct uaudio_chan { uint8_t *cur; /* current position in upper layer * buffer */ - uint32_t intr_size; /* in bytes */ uint32_t intr_frames; /* in units */ - uint32_t sample_rate; uint32_t frames_per_second; uint32_t sample_rem; uint32_t sample_curr; + uint32_t max_buf; - uint32_t format; uint32_t pcm_format[2]; uint16_t bytes_per_frame[2]; - uint16_t sample_size; - - uint8_t valid; - uint8_t iface_index; - uint8_t iface_alt_index; - uint8_t channels; + uint8_t num_alt; + uint8_t cur_alt; + uint8_t set_alt; + uint8_t operation; +#define CHAN_OP_NONE 0 +#define CHAN_OP_START 1 +#define CHAN_OP_STOP 2 +#define CHAN_OP_DRAIN 3 uint8_t last_sync_time; uint8_t last_sync_state; @@ -309,6 +325,7 @@ struct uaudio_softc { struct uaudio_hid sc_hid; struct uaudio_search_result sc_mixer_clocks; struct uaudio_mixer_node sc_mixer_node; + struct uaudio_configure_msg sc_config_msg[2]; struct mtx *sc_mixer_lock; struct snd_mixer *sc_mixer_dev; @@ -434,6 +451,8 @@ static usb_callback_t umidi_bulk_read_ca static usb_callback_t umidi_bulk_write_callback; static usb_callback_t uaudio_hid_rx_callback; +static usb_proc_callback_t uaudio_configure_msg; + /* ==== USB mixer ==== */ static int uaudio_mixer_sysctl_handler(SYSCTL_HANDLER_ARGS); @@ -856,6 +875,10 @@ uaudio_attach(device_t dev) sc->sc_udev = uaa->device; sc->sc_mixer_iface_index = uaa->info.bIfaceIndex; sc->sc_mixer_iface_no = uaa->info.bIfaceNum; + sc->sc_config_msg[0].hdr.pm_callback = &uaudio_configure_msg; + sc->sc_config_msg[0].sc = sc; + sc->sc_config_msg[1].hdr.pm_callback = &uaudio_configure_msg; + sc->sc_config_msg[1].sc = sc; if (usb_test_quirk(uaa, UQ_AUDIO_SWAP_LR)) sc->sc_uq_audio_swap_lr = 1; @@ -900,22 +923,28 @@ uaudio_attach(device_t dev) DPRINTF("%d mixer controls\n", sc->sc_mixer_count); - if (sc->sc_play_chan.valid) { - device_printf(dev, "Play: %d Hz, %d ch, %s format, " - "2x8ms buffer.\n", - sc->sc_play_chan.sample_rate, - sc->sc_play_chan.channels, - sc->sc_play_chan.p_fmt->description); + if (sc->sc_play_chan.num_alt > 0) { + uint8_t x; + for (x = 0; x != sc->sc_play_chan.num_alt; x++) { + device_printf(dev, "Play: %d Hz, %d ch, %s format, " + "2x8ms buffer.\n", + sc->sc_play_chan.usb_alt[x].sample_rate, + sc->sc_play_chan.usb_alt[x].channels, + sc->sc_play_chan.usb_alt[x].p_fmt->description); + } } else { device_printf(dev, "No playback.\n"); } - if (sc->sc_rec_chan.valid) { - device_printf(dev, "Record: %d Hz, %d ch, %s format, " - "2x8ms buffer.\n", - sc->sc_rec_chan.sample_rate, - sc->sc_rec_chan.channels, - sc->sc_rec_chan.p_fmt->description); + if (sc->sc_rec_chan.num_alt > 0) { + uint8_t x; + for (x = 0; x != sc->sc_rec_chan.num_alt; x++) { + device_printf(dev, "Record: %d Hz, %d ch, %s format, " + "2x8ms buffer.\n", + sc->sc_rec_chan.usb_alt[x].sample_rate, + sc->sc_rec_chan.usb_alt[x].channels, + sc->sc_rec_chan.usb_alt[x].p_fmt->description); + } } else { device_printf(dev, "No recording.\n"); } @@ -950,8 +979,8 @@ uaudio_attach(device_t dev) * Only attach a PCM device if we have a playback, recording * or mixer device present: */ - if (sc->sc_play_chan.valid || - sc->sc_rec_chan.valid || + if (sc->sc_play_chan.num_alt > 0 || + sc->sc_rec_chan.num_alt > 0 || sc->sc_mix_info) { child = device_add_child(dev, "pcm", -1); @@ -1020,18 +1049,18 @@ uaudio_attach_sub(device_t dev, kobj_cla snprintf(status, sizeof(status), "at ? %s", PCM_KLDSTRING(snd_uaudio)); if (pcm_register(dev, sc, - sc->sc_play_chan.valid ? 1 : 0, - sc->sc_rec_chan.valid ? 1 : 0)) { + (sc->sc_play_chan.num_alt > 0) ? 1 : 0, + (sc->sc_rec_chan.num_alt > 0) ? 1 : 0)) { goto detach; } uaudio_pcm_setflags(dev, SD_F_MPSAFE); sc->sc_pcm_registered = 1; - if (sc->sc_play_chan.valid) { + if (sc->sc_play_chan.num_alt > 0) { pcm_addchan(dev, PCMDIR_PLAY, chan_class, sc); } - if (sc->sc_rec_chan.valid) { + if (sc->sc_rec_chan.num_alt > 0) { pcm_addchan(dev, PCMDIR_REC, chan_class, sc); } pcm_setstatus(dev, status); @@ -1078,10 +1107,15 @@ uaudio_detach(device_t dev) * will time out and close opened /dev/dspX.Y device(s), if * any. */ - if (sc->sc_play_chan.valid) - usbd_transfer_unsetup(sc->sc_play_chan.xfer, UAUDIO_NCHANBUFS + 1); - if (sc->sc_rec_chan.valid) - usbd_transfer_unsetup(sc->sc_rec_chan.xfer, UAUDIO_NCHANBUFS + 1); + usb_proc_explore_lock(sc->sc_udev); + sc->sc_play_chan.operation = CHAN_OP_DRAIN; + sc->sc_rec_chan.operation = CHAN_OP_DRAIN; + usb_proc_explore_mwait(sc->sc_udev, + &sc->sc_config_msg[0], &sc->sc_config_msg[1]); + usb_proc_explore_unlock(sc->sc_udev); + + usbd_transfer_unsetup(sc->sc_play_chan.xfer, UAUDIO_NCHANBUFS + 1); + usbd_transfer_unsetup(sc->sc_rec_chan.xfer, UAUDIO_NCHANBUFS + 1); uaudio_hid_detach(sc); @@ -1100,6 +1134,201 @@ uaudio_detach(device_t dev) return (0); } +static uint32_t +uaudio_get_buffer_size(struct uaudio_chan *ch, uint8_t alt) +{ + struct uaudio_chan_alt *chan_alt = &ch->usb_alt[alt]; + /* We use 2 times 8ms of buffer */ + uint32_t buf_size = (((chan_alt->sample_rate * (UAUDIO_NFRAMES / 8)) + + 1000 - 1) / 1000) * chan_alt->sample_size; + return (buf_size); +} + +static void +uaudio_configure_msg_sub(struct uaudio_softc *sc, + struct uaudio_chan *chan, int dir) +{ + struct uaudio_chan_alt *chan_alt; + uint32_t frames; + uint32_t buf_size; + uint16_t fps; + uint8_t set_alt; + uint8_t fps_shift; + uint8_t operation; + usb_error_t err; + + if (chan->num_alt <= 0) + return; + + DPRINTF("\n"); + + usb_proc_explore_lock(sc->sc_udev); + operation = chan->operation; + chan->operation = CHAN_OP_NONE; + usb_proc_explore_unlock(sc->sc_udev); + + mtx_lock(chan->pcm_mtx); + if (chan->cur_alt != chan->set_alt) + set_alt = chan->set_alt; + else + set_alt = CHAN_MAX_ALT; + mtx_unlock(chan->pcm_mtx); + + if (set_alt >= chan->num_alt) + goto done; + + chan_alt = chan->usb_alt + set_alt; + + usbd_transfer_unsetup(chan->xfer, UAUDIO_NCHANBUFS + 1); + + err = usbd_set_alt_interface_index(sc->sc_udev, + chan_alt->iface_index, chan_alt->iface_alt_index); + if (err) { + DPRINTF("setting of alternate index failed: %s!\n", + usbd_errstr(err)); + goto error; + } + + /* + * Only set the sample rate if the channel reports that it + * supports the frequency control. + */ + + if (sc->sc_audio_rev >= UAUDIO_VERSION_30) { + /* FALLTHROUGH */ + } else if (sc->sc_audio_rev >= UAUDIO_VERSION_20) { + unsigned int x; + + for (x = 0; x != 256; x++) { + if (dir == PCMDIR_PLAY) { + if (!(sc->sc_mixer_clocks.bit_output[x / 8] & + (1 << (x % 8)))) { + continue; + } + } else { + if (!(sc->sc_mixer_clocks.bit_input[x / 8] & + (1 << (x % 8)))) { + continue; + } + } + + if (uaudio20_set_speed(sc->sc_udev, + sc->sc_mixer_iface_no, x, chan_alt->sample_rate)) { + /* + * If the endpoint is adaptive setting + * the speed may fail. + */ + DPRINTF("setting of sample rate failed! " + "(continuing anyway)\n"); + } + } + } else if (chan_alt->p_sed.v1->bmAttributes & UA_SED_FREQ_CONTROL) { + if (uaudio_set_speed(sc->sc_udev, + chan_alt->p_ed1->bEndpointAddress, chan_alt->sample_rate)) { + /* + * If the endpoint is adaptive setting the + * speed may fail. + */ + DPRINTF("setting of sample rate failed! " + "(continuing anyway)\n"); + } + } + if (usbd_transfer_setup(sc->sc_udev, &chan_alt->iface_index, chan->xfer, + chan_alt->usb_cfg, UAUDIO_NCHANBUFS + 1, chan, chan->pcm_mtx)) { + DPRINTF("could not allocate USB transfers!\n"); + goto error; + } + + fps = usbd_get_isoc_fps(sc->sc_udev); + + if (fps < 8000) { + /* FULL speed USB */ + frames = 8; + } else { + /* HIGH speed USB */ + frames = UAUDIO_NFRAMES; + } + + fps_shift = usbd_xfer_get_fps_shift(chan->xfer[0]); + + /* down shift number of frames per second, if any */ + fps >>= fps_shift; + frames >>= fps_shift; + + /* bytes per frame should not be zero */ + chan->bytes_per_frame[0] = + ((chan_alt->sample_rate / fps) * chan_alt->sample_size); + chan->bytes_per_frame[1] = + (((chan_alt->sample_rate + fps - 1) / fps) * chan_alt->sample_size); + + /* setup data rate dithering, if any */ + chan->frames_per_second = fps; + chan->sample_rem = chan_alt->sample_rate % fps; + chan->sample_curr = 0; + chan->frames_per_second = fps; + + /* compute required buffer size */ + buf_size = (chan->bytes_per_frame[1] * frames); + + if (buf_size > (chan->end - chan->start)) { + DPRINTF("buffer size is too big\n"); + goto error; + } + + chan->intr_frames = frames; + + DPRINTF("fps=%d sample_rem=%d\n", (int)fps, (int)chan->sample_rem); + + if (chan->intr_frames == 0) { + DPRINTF("frame shift is too high!\n"); + goto error; + } + + mtx_lock(chan->pcm_mtx); + chan->cur_alt = set_alt; + mtx_unlock(chan->pcm_mtx); + +done: +#if (UAUDIO_NCHANBUFS != 2) +#error "please update code" +#endif + switch (operation) { + case CHAN_OP_START: + mtx_lock(chan->pcm_mtx); + usbd_transfer_start(chan->xfer[0]); + usbd_transfer_start(chan->xfer[1]); + mtx_unlock(chan->pcm_mtx); + break; + case CHAN_OP_STOP: + mtx_lock(chan->pcm_mtx); + usbd_transfer_stop(chan->xfer[0]); + usbd_transfer_stop(chan->xfer[1]); + mtx_unlock(chan->pcm_mtx); + break; + default: + break; + } + return; + +error: + usbd_transfer_unsetup(chan->xfer, UAUDIO_NCHANBUFS + 1); + + mtx_lock(chan->pcm_mtx); + chan->cur_alt = CHAN_MAX_ALT; + mtx_unlock(chan->pcm_mtx); +} + +static void +uaudio_configure_msg(struct usb_proc_msg *pm) +{ + struct uaudio_softc *sc = ((struct uaudio_configure_msg *)pm)->sc; + + usb_proc_explore_unlock(sc->sc_udev); + uaudio_configure_msg_sub(sc, &sc->sc_play_chan, PCMDIR_PLAY); + uaudio_configure_msg_sub(sc, &sc->sc_rec_chan, PCMDIR_REC); + usb_proc_explore_lock(sc->sc_udev); +} + /*========================================================================* * AS - Audio Stream - routines *========================================================================*/ @@ -1237,6 +1466,8 @@ uaudio_chan_fill_info_sub(struct uaudio_ struct usb_interface_descriptor *id; const struct uaudio_format *p_fmt = NULL; struct uaudio_chan *chan; + struct uaudio_chan_alt *chan_alt; + uint32_t format; uint16_t curidx = 0xFFFF; uint16_t lastidx = 0xFFFF; uint16_t alt_index = 0; @@ -1414,6 +1645,10 @@ uaudio_chan_fill_info_sub(struct uaudio_ bBitResolution = asf1d.v2->bBitResolution; bSubslotSize = asf1d.v2->bSubslotSize; + /* Map 4-byte aligned 24-bit samples into 32-bit */ + if (bBitResolution == 24 && bSubslotSize == 4) + bBitResolution = 32; + if (bBitResolution != (bSubslotSize * 8)) { DPRINTF("Invalid bSubslotSize\n"); goto next_ep; @@ -1508,14 +1743,19 @@ uaudio_chan_fill_info_sub(struct uaudio_ chan = (ep_dir == UE_DIR_IN) ? &sc->sc_rec_chan : &sc->sc_play_chan; - if (chan->valid != 0 || - usbd_get_iface(udev, curidx) == NULL) { - DPRINTF("Channel already exists or " - "interface is not valid\n"); + if (usbd_get_iface(udev, curidx) == NULL) { + DPRINTF("Interface is not valid\n"); goto next_ep; } + if (chan->num_alt == CHAN_MAX_ALT) { + DPRINTF("Too many alternate settings\n"); + goto next_ep; + } + chan->set_alt = 0; + chan->cur_alt = CHAN_MAX_ALT; + + chan_alt = &chan->usb_alt[chan->num_alt++]; - chan->valid = 1; #ifdef USB_DEBUG uaudio_chan_dump_ep_desc(ed1); #endif @@ -1523,30 +1763,81 @@ uaudio_chan_fill_info_sub(struct uaudio_ "bits = %d, format = %s\n", rate, channels, bit_resolution, p_fmt->description); - chan->sample_rate = rate; - chan->p_asf1d = asf1d; - chan->p_ed1 = ed1; - chan->p_fmt = p_fmt; - chan->p_sed = sed; - chan->iface_index = curidx; - chan->iface_alt_index = alt_index; + chan_alt->sample_rate = rate; + chan_alt->p_asf1d = asf1d; + chan_alt->p_ed1 = ed1; + chan_alt->p_fmt = p_fmt; + chan_alt->p_sed = sed; + chan_alt->iface_index = curidx; + chan_alt->iface_alt_index = alt_index; + + usbd_set_parent_iface(sc->sc_udev, curidx, + sc->sc_mixer_iface_index); if (ep_dir == UE_DIR_IN) - chan->usb_cfg = uaudio_cfg_record; + chan_alt->usb_cfg = uaudio_cfg_record; else - chan->usb_cfg = uaudio_cfg_play; + chan_alt->usb_cfg = uaudio_cfg_play; - chan->sample_size = (UAUDIO_MAX_CHAN(channels) * + chan_alt->sample_size = (UAUDIO_MAX_CHAN(channels) * p_fmt->bPrecision) / 8; - chan->channels = channels; + chan_alt->channels = channels; if (ep_dir == UE_DIR_IN && usbd_get_speed(udev) == USB_SPEED_FULL) { uaudio_record_fix_fs(ed1, - chan->sample_size * (rate / 1000), - chan->sample_size * (rate / 4000)); + chan_alt->sample_size * (rate / 1000), + chan_alt->sample_size * (rate / 4000)); } + /* setup play/record format */ + + format = chan_alt->p_fmt->freebsd_fmt; + + switch (chan_alt->channels) { + case 2: + /* stereo */ + format = SND_FORMAT(format, 2, 0); + break; + case 1: + /* mono */ + format = SND_FORMAT(format, 1, 0); + break; + default: + /* surround and more */ + format = feeder_matrix_default_format( + SND_FORMAT(format, chan_alt->channels, 0)); + break; + } + + /* check if format is not supported */ + if (format == 0) { + DPRINTF("The selected audio format is not supported\n"); + chan->num_alt--; + goto next_ep; + } + if (chan->num_alt > 1) { + /* we only accumulate one format at different sample rates */ + if (chan->pcm_format[0] != format) { + DPRINTF("Multiple formats is not supported\n"); + chan->num_alt--; + goto next_ep; + } + /* ignore if duplicate sample rate entry */ + if (rate == chan->usb_alt[chan->num_alt - 2].sample_rate) { + DPRINTF("Duplicate sample rate detected\n"); + chan->num_alt--; + goto next_ep; + } + } + chan->pcm_cap.fmtlist = chan->pcm_format; + chan->pcm_cap.fmtlist[0] = format; + + if (rate < chan->pcm_cap.minspeed || chan->pcm_cap.minspeed == 0) + chan->pcm_cap.minspeed = rate; + if (rate > chan->pcm_cap.maxspeed || chan->pcm_cap.maxspeed == 0) + chan->pcm_cap.maxspeed = rate; + if (sc->sc_sndstat_valid != 0) { sbuf_printf(&sc->sc_sndstat, "\n\t" "mode %d.%d:(%s) %dch, %dbit, %s, %dHz", @@ -1564,8 +1855,9 @@ uaudio_chan_fill_info_sub(struct uaudio_ /* This structure defines all the supported rates. */ -static const uint32_t uaudio_rate_list[] = { +static const uint32_t uaudio_rate_list[CHAN_MAX_ALT] = { 96000, + 88200, 88000, 80000, 72000, @@ -1630,21 +1922,12 @@ uaudio_chan_fill_info(struct uaudio_soft uaudio_chan_fill_info_sub(sc, udev, rate, x, y); /* try find a matching rate, if any */ - for (z = 0; uaudio_rate_list[z]; z++) { + for (z = 0; uaudio_rate_list[z]; z++) uaudio_chan_fill_info_sub(sc, udev, uaudio_rate_list[z], x, y); - - if (sc->sc_rec_chan.valid && - sc->sc_play_chan.valid) { - goto done; - } - } } } - -done: - if (sc->sc_sndstat_valid) { + if (sc->sc_sndstat_valid) sbuf_finish(&sc->sc_sndstat); - } } static void @@ -1652,6 +1935,7 @@ uaudio_chan_play_sync_callback(struct us { struct uaudio_chan *ch = usbd_xfer_softc(xfer); struct usb_page_cache *pc; + uint64_t sample_rate = ch->usb_alt[ch->cur_alt].sample_rate; uint8_t buf[4]; uint64_t temp; int len; @@ -1698,24 +1982,20 @@ uaudio_chan_play_sync_callback(struct us /* auto adjust */ - while (temp < (ch->sample_rate - (ch->sample_rate / 4))) + while (temp < (sample_rate - (sample_rate / 4))) temp *= 2; - while (temp > (ch->sample_rate + (ch->sample_rate / 2))) + while (temp > (sample_rate + (sample_rate / 2))) temp /= 2; - /* bias */ - - temp += (ch->sample_rate + 1999) / 2000; - /* compare */ DPRINTF("Comparing %d < %d\n", - (int)temp, (int)ch->sample_rate); + (int)temp, (int)sample_rate); - if (temp == ch->sample_rate) + if (temp == sample_rate) ch->last_sync_state = UAUDIO_SYNC_NONE; - else if (temp > ch->sample_rate) + else if (temp > sample_rate) ch->last_sync_state = UAUDIO_SYNC_MORE; else ch->last_sync_state = UAUDIO_SYNC_LESS; @@ -1737,6 +2017,7 @@ uaudio_chan_play_callback(struct usb_xfe { struct uaudio_chan *ch = usbd_xfer_softc(xfer); struct usb_page_cache *pc; + uint32_t sample_size = ch->usb_alt[ch->cur_alt].sample_size; uint32_t mfl; uint32_t total; uint32_t blockcount; @@ -1800,14 +2081,14 @@ tr_transferred: switch (ch->last_sync_state) { case UAUDIO_SYNC_MORE: DPRINTFN(6, "sending one sample more\n"); - if ((frame_len + ch->sample_size) <= mfl) - frame_len += ch->sample_size; + if ((frame_len + sample_size) <= mfl) + frame_len += sample_size; ch->last_sync_state = UAUDIO_SYNC_NONE; break; case UAUDIO_SYNC_LESS: DPRINTFN(6, "sending one sample less\n"); - if (frame_len >= ch->sample_size) - frame_len -= ch->sample_size; + if (frame_len >= sample_size) + frame_len -= sample_size; ch->last_sync_state = UAUDIO_SYNC_NONE; break; default: @@ -1944,187 +2225,43 @@ uaudio_chan_init(struct uaudio_softc *sc struct uaudio_chan *ch = ((dir == PCMDIR_PLAY) ? &sc->sc_play_chan : &sc->sc_rec_chan); uint32_t buf_size; - uint32_t frames; - uint32_t format; - uint16_t fps; - uint8_t endpoint; - uint8_t blocks; - uint8_t iface_index; - uint8_t alt_index; - uint8_t fps_shift; - usb_error_t err; - - fps = usbd_get_isoc_fps(sc->sc_udev); - - if (fps < 8000) { - /* FULL speed USB */ - frames = 8; - } else { - /* HIGH speed USB */ - frames = UAUDIO_NFRAMES; - } - - /* setup play/record format */ - - ch->pcm_cap.fmtlist = ch->pcm_format; - - ch->pcm_format[0] = 0; - ch->pcm_format[1] = 0; - - ch->pcm_cap.minspeed = ch->sample_rate; - ch->pcm_cap.maxspeed = ch->sample_rate; + uint8_t x; - /* setup mutex and PCM channel */ + /* store mutex and PCM channel */ ch->pcm_ch = c; ch->pcm_mtx = c->lock; - format = ch->p_fmt->freebsd_fmt; - - switch (ch->channels) { - case 2: - /* stereo */ - format = SND_FORMAT(format, 2, 0); - break; - case 1: - /* mono */ - format = SND_FORMAT(format, 1, 0); - break; - default: - /* surround and more */ - format = feeder_matrix_default_format( - SND_FORMAT(format, ch->channels, 0)); - break; - } - - ch->pcm_cap.fmtlist[0] = format; - ch->pcm_cap.fmtlist[1] = 0; - - /* check if format is not supported */ - - if (format == 0) { - DPRINTF("The selected audio format is not supported\n"); - goto error; - } - - /* set alternate interface corresponding to the mode */ - - endpoint = ch->p_ed1->bEndpointAddress; - iface_index = ch->iface_index; - alt_index = ch->iface_alt_index; - - DPRINTF("endpoint=0x%02x, speed=%d, iface=%d alt=%d\n", - endpoint, ch->sample_rate, iface_index, alt_index); + /* compute worst case buffer */ - err = usbd_set_alt_interface_index(sc->sc_udev, iface_index, alt_index); - if (err) { - DPRINTF("setting of alternate index failed: %s!\n", - usbd_errstr(err)); - goto error; + buf_size = 0; + for (x = 0; x != ch->num_alt; x++) { + uint32_t temp = uaudio_get_buffer_size(ch, x); + if (temp > buf_size) + buf_size = temp; } - usbd_set_parent_iface(sc->sc_udev, iface_index, - sc->sc_mixer_iface_index); - - /* - * Only set the sample rate if the channel reports that it - * supports the frequency control. - */ - if (sc->sc_audio_rev >= UAUDIO_VERSION_30) { - /* FALLTHROUGH */ - } else if (sc->sc_audio_rev >= UAUDIO_VERSION_20) { - unsigned int x; - - for (x = 0; x != 256; x++) { - if (dir == PCMDIR_PLAY) { - if (!(sc->sc_mixer_clocks.bit_output[x / 8] & - (1 << (x % 8)))) { - continue; - } - } else { - if (!(sc->sc_mixer_clocks.bit_input[x / 8] & - (1 << (x % 8)))) { - continue; - } - } - - if (uaudio20_set_speed(sc->sc_udev, - sc->sc_mixer_iface_no, x, ch->sample_rate)) { - /* - * If the endpoint is adaptive setting - * the speed may fail. - */ - DPRINTF("setting of sample rate failed! " - "(continuing anyway)\n"); - } - } - } else if (ch->p_sed.v1->bmAttributes & UA_SED_FREQ_CONTROL) { - if (uaudio_set_speed(sc->sc_udev, endpoint, ch->sample_rate)) { - /* - * If the endpoint is adaptive setting the - * speed may fail. - */ - DPRINTF("setting of sample rate failed! " - "(continuing anyway)\n"); - } - } - if (usbd_transfer_setup(sc->sc_udev, &iface_index, ch->xfer, - ch->usb_cfg, UAUDIO_NCHANBUFS + 1, ch, ch->pcm_mtx)) { - DPRINTF("could not allocate USB transfers!\n"); - goto error; - } - - fps_shift = usbd_xfer_get_fps_shift(ch->xfer[0]); - - /* down shift number of frames per second, if any */ - fps >>= fps_shift; - frames >>= fps_shift; - - /* bytes per frame should not be zero */ - ch->bytes_per_frame[0] = ((ch->sample_rate / fps) * ch->sample_size); - ch->bytes_per_frame[1] = (((ch->sample_rate + fps - 1) / fps) * ch->sample_size); - - /* setup data rate dithering, if any */ - ch->frames_per_second = fps; - ch->sample_rem = ch->sample_rate % fps; - ch->sample_curr = 0; - ch->frames_per_second = fps; - - /* compute required buffer size */ - buf_size = (ch->bytes_per_frame[1] * frames); - - ch->intr_size = buf_size; - ch->intr_frames = frames; - - DPRINTF("fps=%d sample_rem=%d\n", fps, ch->sample_rem); - - if (ch->intr_frames == 0) { - DPRINTF("frame shift is too high!\n"); - goto error; - } - - /* setup double buffering */ + /* allow double buffering */ buf_size *= 2; - blocks = 2; + + DPRINTF("Worst case buffer is %d bytes\n", (int)buf_size); ch->buf = malloc(buf_size, M_DEVBUF, M_WAITOK | M_ZERO); if (ch->buf == NULL) goto error; if (sndbuf_setup(b, ch->buf, buf_size) != 0) goto error; - if (sndbuf_resize(b, blocks, ch->intr_size)) - goto error; ch->start = ch->buf; ch->end = ch->buf + buf_size; ch->cur = ch->buf; ch->pcm_buf = b; + ch->max_buf = buf_size; if (ch->pcm_mtx == NULL) { DPRINTF("ERROR: PCM channels does not have a mutex!\n"); goto error; } - return (ch); error: @@ -2141,7 +2278,7 @@ uaudio_chan_free(struct uaudio_chan *ch) } usbd_transfer_unsetup(ch->xfer, UAUDIO_NCHANBUFS + 1); - ch->valid = 0; + ch->num_alt = 0; return (0); } @@ -2149,7 +2286,15 @@ uaudio_chan_free(struct uaudio_chan *ch) int uaudio_chan_set_param_blocksize(struct uaudio_chan *ch, uint32_t blocksize) { - return (ch->intr_size); + uint32_t temp = 2 * uaudio_get_buffer_size(ch, ch->set_alt); + + sndbuf_setup(ch->pcm_buf, ch->buf, temp); + + ch->start = ch->buf; + ch->end = ch->buf + temp; + ch->cur = ch->buf; + + return (temp / 2); } int @@ -2162,10 +2307,23 @@ uaudio_chan_set_param_fragments(struct u int uaudio_chan_set_param_speed(struct uaudio_chan *ch, uint32_t speed) { - if (speed != ch->sample_rate) { - DPRINTF("rate conversion required\n"); + uint8_t x; + + for (x = 0; x < ch->num_alt; x++) { + if (ch->usb_alt[x].sample_rate < speed) { + /* sample rate is too low */ + break; + } } - return (ch->sample_rate); + + if (x != 0) + x--; + + ch->set_alt = x; + + DPRINTF("Selecting alt %d\n", (int)x); + + return (ch->usb_alt[x].sample_rate); } int @@ -2228,31 +2386,61 @@ uaudio_chan_getmatrix(struct uaudio_chan int uaudio_chan_set_param_format(struct uaudio_chan *ch, uint32_t format) { - ch->format = format; + DPRINTF("Selecting format 0x%08x\n", (unsigned int)format); return (0); } int uaudio_chan_start(struct uaudio_chan *ch) { - ch->cur = ch->start; + struct uaudio_softc *sc = ch->priv_sc; + int do_start = 0; -#if (UAUDIO_NCHANBUFS != 2) -#error "please update code" -#endif - usbd_transfer_start(ch->xfer[0]); - usbd_transfer_start(ch->xfer[1]); + usb_proc_explore_lock(sc->sc_udev); + if (ch->operation != CHAN_OP_DRAIN) { + if (ch->cur_alt == ch->set_alt && + ch->operation == CHAN_OP_NONE) { + /* save doing the explore task */ + do_start = 1; + } else { + ch->operation = CHAN_OP_START; + (void)usb_proc_explore_msignal(sc->sc_udev, + &sc->sc_config_msg[0], &sc->sc_config_msg[1]); + } + } + usb_proc_explore_unlock(sc->sc_udev); + + if (do_start) { + usbd_transfer_start(ch->xfer[0]); + usbd_transfer_start(ch->xfer[1]); + } return (0); } int uaudio_chan_stop(struct uaudio_chan *ch) { -#if (UAUDIO_NCHANBUFS != 2) -#error "please update code" -#endif - usbd_transfer_stop(ch->xfer[0]); - usbd_transfer_stop(ch->xfer[1]); + struct uaudio_softc *sc = ch->priv_sc; + int do_stop = 0; + + usb_proc_explore_lock(sc->sc_udev); + if (ch->operation != CHAN_OP_DRAIN) { + if (ch->cur_alt == ch->set_alt && + ch->operation == CHAN_OP_NONE) { + /* save doing the explore task */ + do_stop = 1; + } else { + ch->operation = CHAN_OP_STOP; + (void)usb_proc_explore_msignal(sc->sc_udev, + &sc->sc_config_msg[0], &sc->sc_config_msg[1]); + } + } + usb_proc_explore_unlock(sc->sc_udev); + + if (do_stop) { + usbd_transfer_stop(ch->xfer[0]); + usbd_transfer_stop(ch->xfer[1]); + } return (0); } From owner-svn-src-stable-8@FreeBSD.ORG Mon May 13 01:20:37 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 16DD6726; Mon, 13 May 2013 01:20:37 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 08C699F0; Mon, 13 May 2013 01:20:37 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4D1KaLx064909; Mon, 13 May 2013 01:20:36 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4D1Kade064908; Mon, 13 May 2013 01:20:36 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201305130120.r4D1Kade064908@svn.freebsd.org> From: Eitan Adler Date: Mon, 13 May 2013 01:20:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r250584 - stable/8/usr.sbin/mergemaster X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 May 2013 01:20:37 -0000 Author: eadler Date: Mon May 13 01:20:36 2013 New Revision: 250584 URL: http://svnweb.freebsd.org/changeset/base/250584 Log: MFC r250463: Permit relative paths with mergemaster -m PR: bin/173929 Modified: stable/8/usr.sbin/mergemaster/mergemaster.sh Directory Properties: stable/8/usr.sbin/mergemaster/ (props changed) Modified: stable/8/usr.sbin/mergemaster/mergemaster.sh ============================================================================== --- stable/8/usr.sbin/mergemaster/mergemaster.sh Mon May 13 01:20:31 2013 (r250583) +++ stable/8/usr.sbin/mergemaster/mergemaster.sh Mon May 13 01:20:36 2013 (r250584) @@ -483,6 +483,7 @@ if [ ! -f ${SOURCEDIR}/Makefile.inc1 -a sleep 3 SOURCEDIR=${SOURCEDIR}/.. fi +SOURCEDIR=$(realpath "$SOURCEDIR") # Setup make to use system files from SOURCEDIR MM_MAKE="make ${ARCHSTRING} -m ${SOURCEDIR}/share/mk" From owner-svn-src-stable-8@FreeBSD.ORG Mon May 13 01:28:09 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id C354DCD9; Mon, 13 May 2013 01:28:09 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 9CBA5A2E; Mon, 13 May 2013 01:28:09 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4D1S9hQ067901; Mon, 13 May 2013 01:28:09 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4D1S9Fw067900; Mon, 13 May 2013 01:28:09 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201305130128.r4D1S9Fw067900@svn.freebsd.org> From: Eitan Adler Date: Mon, 13 May 2013 01:28:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r250587 - stable/8/bin/rm X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 May 2013 01:28:09 -0000 Author: eadler Date: Mon May 13 01:28:09 2013 New Revision: 250587 URL: http://svnweb.freebsd.org/changeset/base/250587 Log: MFC r249949: Take some improvements from DragonFlyBSD: - add const where appropriate - add static where appropriate - fix a whitespace issues Modified: stable/8/bin/rm/rm.c Directory Properties: stable/8/bin/rm/ (props changed) Modified: stable/8/bin/rm/rm.c ============================================================================== --- stable/8/bin/rm/rm.c Mon May 13 01:27:59 2013 (r250586) +++ stable/8/bin/rm/rm.c Mon May 13 01:28:09 2013 (r250587) @@ -62,15 +62,15 @@ int rflag, Iflag; uid_t uid; volatile sig_atomic_t info; -int check(char *, char *, struct stat *); -int check2(char **); -void checkdot(char **); -void checkslash(char **); -void rm_file(char **); -int rm_overwrite(char *, struct stat *); -void rm_tree(char **); +static int check(const char *, const char *, struct stat *); +static int check2(char **); +static void checkdot(char **); +static void checkslash(char **); +static void rm_file(char **); +static int rm_overwrite(const char *, struct stat *); +static void rm_tree(char **); static void siginfo(int __unused); -void usage(void); +static void usage(void); /* * rm -- @@ -169,7 +169,7 @@ main(int argc, char *argv[]) exit (eval); } -void +static void rm_tree(char **argv) { FTS *fts; @@ -412,7 +412,7 @@ rm_file(char **argv) * kernel support. */ int -rm_overwrite(char *file, struct stat *sbp) +rm_overwrite(const char *file, struct stat *sbp) { struct stat sb, sb2; struct statfs fsb; @@ -478,8 +478,8 @@ err: eval = 1; } -int -check(char *path, char *name, struct stat *sp) +static int +check(const char *path, const char *name, struct stat *sp) { int ch, first; char modep[15], *flagsp; @@ -490,7 +490,7 @@ check(char *path, char *name, struct sta else { /* * If it's not a symbolic link and it's unwritable and we're - * talking to a terminal, ask. Symbolic links are excluded + * talking to a terminal, ask. Symbolic links are excluded * because their permissions are meaningless. Check stdin_ok * first because we may not have stat'ed the file. */ @@ -523,7 +523,7 @@ check(char *path, char *name, struct sta } #define ISSLASH(a) ((a)[0] == '/' && (a)[1] == '\0') -void +static void checkslash(char **argv) { char **t, **u; @@ -543,7 +543,7 @@ checkslash(char **argv) } } -int +static int check2(char **argv) { struct stat st; @@ -594,7 +594,7 @@ check2(char **argv) } #define ISDOT(a) ((a)[0] == '.' && (!(a)[1] || ((a)[1] == '.' && !(a)[2]))) -void +static void checkdot(char **argv) { char *p, **save, **t; @@ -618,7 +618,7 @@ checkdot(char **argv) } } -void +static void usage(void) { From owner-svn-src-stable-8@FreeBSD.ORG Mon May 13 14:00:24 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id E9BFEC8E; Mon, 13 May 2013 14:00:24 +0000 (UTC) (envelope-from jh@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id DBCBA7A1; Mon, 13 May 2013 14:00:24 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4DE0OTX037721; Mon, 13 May 2013 14:00:24 GMT (envelope-from jh@svn.freebsd.org) Received: (from jh@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4DE0OWO037720; Mon, 13 May 2013 14:00:24 GMT (envelope-from jh@svn.freebsd.org) Message-Id: <201305131400.r4DE0OWO037720@svn.freebsd.org> From: Jaakko Heinonen Date: Mon, 13 May 2013 14:00:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r250598 - stable/8/usr.bin/calendar X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 May 2013 14:00:25 -0000 Author: jh Date: Mon May 13 14:00:24 2013 New Revision: 250598 URL: http://svnweb.freebsd.org/changeset/base/250598 Log: MFC r249200: Correct the path. PR: 176256 Modified: stable/8/usr.bin/calendar/calendar.1 Directory Properties: stable/8/usr.bin/calendar/ (props changed) Modified: stable/8/usr.bin/calendar/calendar.1 ============================================================================== --- stable/8/usr.bin/calendar/calendar.1 Mon May 13 13:57:06 2013 (r250597) +++ stable/8/usr.bin/calendar/calendar.1 Mon May 13 14:00:24 2013 (r250598) @@ -28,7 +28,7 @@ .\" @(#)calendar.1 8.1 (Berkeley) 6/29/93 .\" $FreeBSD$ .\" -.Dd June 13, 2002 +.Dd April 6, 2013 .Dt CALENDAR 1 .Os .Sh NAME @@ -222,7 +222,7 @@ do not send mail if this file exists. .El .Pp The following default calendar files are provided in -.Pa /usr/share/calendars: +.Pa /usr/share/calendar: .Pp .Bl -tag -width calendar.southafrica -compact .It Pa calendar.all From owner-svn-src-stable-8@FreeBSD.ORG Wed May 15 01:00:41 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 10F1C6E3; Wed, 15 May 2013 01:00:41 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 02075AB4; Wed, 15 May 2013 01:00:41 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4F10eKL078772; Wed, 15 May 2013 01:00:40 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4F10ePQ078771; Wed, 15 May 2013 01:00:40 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201305150100.r4F10ePQ078771@svn.freebsd.org> From: Pyun YongHyeon Date: Wed, 15 May 2013 01:00:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r250645 - stable/8/sys/dev/re X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 May 2013 01:00:41 -0000 Author: yongari Date: Wed May 15 01:00:40 2013 New Revision: 250645 URL: http://svnweb.freebsd.org/changeset/base/250645 Log: MFC r248227: Disable TX IP header checksum offloading on RL_HWREV_8168CP. The controller generates wrong checksummed frame if the IP packet has IP options. Modified: stable/8/sys/dev/re/if_re.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/dev/ (props changed) stable/8/sys/dev/re/ (props changed) Modified: stable/8/sys/dev/re/if_re.c ============================================================================== --- stable/8/sys/dev/re/if_re.c Wed May 15 00:58:45 2013 (r250644) +++ stable/8/sys/dev/re/if_re.c Wed May 15 01:00:40 2013 (r250645) @@ -1583,7 +1583,8 @@ re_attach(device_t dev) * packet has IP options so disable TX IP checksum offloading. */ if (sc->rl_hwrev->rl_rev == RL_HWREV_8168C || - sc->rl_hwrev->rl_rev == RL_HWREV_8168C_SPIN2) + sc->rl_hwrev->rl_rev == RL_HWREV_8168C_SPIN2 || + sc->rl_hwrev->rl_rev == RL_HWREV_8168CP) ifp->if_hwassist = CSUM_TCP | CSUM_UDP; else ifp->if_hwassist = CSUM_IP | CSUM_TCP | CSUM_UDP; @@ -3374,7 +3375,8 @@ re_ioctl(struct ifnet *ifp, u_long comma if ((ifp->if_capenable & IFCAP_TXCSUM) != 0) { rev = sc->rl_hwrev->rl_rev; if (rev == RL_HWREV_8168C || - rev == RL_HWREV_8168C_SPIN2) + rev == RL_HWREV_8168C_SPIN2 || + rev == RL_HWREV_8168CP) ifp->if_hwassist |= CSUM_TCP | CSUM_UDP; else ifp->if_hwassist |= RE_CSUM_FEATURES; From owner-svn-src-stable-8@FreeBSD.ORG Wed May 15 01:06:25 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 028C5A21; Wed, 15 May 2013 01:06:25 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id E898DAF5; Wed, 15 May 2013 01:06:24 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4F16OqY080162; Wed, 15 May 2013 01:06:24 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4F16OZX080158; Wed, 15 May 2013 01:06:24 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201305150106.r4F16OZX080158@svn.freebsd.org> From: Pyun YongHyeon Date: Wed, 15 May 2013 01:06:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r250647 - stable/8/sys/dev/sis X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 May 2013 01:06:25 -0000 Author: yongari Date: Wed May 15 01:06:24 2013 New Revision: 250647 URL: http://svnweb.freebsd.org/changeset/base/250647 Log: MFC r248456: r119712 introduced SIS_TYPE_83816 but it was not actually set in driver such that checking against the type was always false. To detect NS DP83816, driver should have checked silicon revision register for NS controllers. While here, remove SIS_TYPE_83816 to not make the similar mistake again. Modified: stable/8/sys/dev/sis/if_sis.c stable/8/sys/dev/sis/if_sisreg.h Directory Properties: stable/8/sys/ (props changed) stable/8/sys/dev/ (props changed) stable/8/sys/dev/sis/ (props changed) Modified: stable/8/sys/dev/sis/if_sis.c ============================================================================== --- stable/8/sys/dev/sis/if_sis.c Wed May 15 01:05:16 2013 (r250646) +++ stable/8/sys/dev/sis/if_sis.c Wed May 15 01:06:24 2013 (r250647) @@ -628,7 +628,7 @@ sis_miibus_statchg(device_t dev) SIS_CLRBIT(sc, SIS_RX_CFG, SIS_RXCFG_RX_TXPKTS); } - if (sc->sis_type == SIS_TYPE_83816) { + if (sc->sis_type == SIS_TYPE_83815 && sc->sis_srr >= NS_SRR_16A) { /* * MPII03.D: Half Duplex Excessive Collisions. * Also page 49 in 83816 manual @@ -1993,7 +1993,7 @@ sis_initl(struct sis_softc *sc) return; } - if (sc->sis_type == SIS_TYPE_83815 || sc->sis_type == SIS_TYPE_83816) { + if (sc->sis_type == SIS_TYPE_83815) { if (sc->sis_manual_pad != 0) sc->sis_flags |= SIS_FLAG_MANUAL_PAD; else Modified: stable/8/sys/dev/sis/if_sisreg.h ============================================================================== --- stable/8/sys/dev/sis/if_sisreg.h Wed May 15 01:05:16 2013 (r250646) +++ stable/8/sys/dev/sis/if_sisreg.h Wed May 15 01:06:24 2013 (r250647) @@ -439,7 +439,6 @@ struct sis_type { #define SIS_TYPE_900 1 #define SIS_TYPE_7016 2 #define SIS_TYPE_83815 3 -#define SIS_TYPE_83816 4 struct sis_txdesc { struct mbuf *tx_m; From owner-svn-src-stable-8@FreeBSD.ORG Wed May 15 01:18:00 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 36DC3DB5; Wed, 15 May 2013 01:18:00 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 0F4B6B52; Wed, 15 May 2013 01:18:00 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4F1Hx3M084296; Wed, 15 May 2013 01:17:59 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4F1Hxh1084294; Wed, 15 May 2013 01:17:59 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201305150117.r4F1Hxh1084294@svn.freebsd.org> From: Pyun YongHyeon Date: Wed, 15 May 2013 01:17:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r250649 - stable/8/sys/dev/mii X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 May 2013 01:18:00 -0000 Author: yongari Date: Wed May 15 01:17:59 2013 New Revision: 250649 URL: http://svnweb.freebsd.org/changeset/base/250649 Log: MFC r248542: For RTL8211B or later PHYs, enable crossover detection and auto-correction. This change makes re(4) establish a link with a system using non-crossover UTP cable. Modified: stable/8/sys/dev/mii/rgephy.c stable/8/sys/dev/mii/rgephyreg.h Directory Properties: stable/8/sys/ (props changed) stable/8/sys/dev/ (props changed) stable/8/sys/dev/mii/ (props changed) Modified: stable/8/sys/dev/mii/rgephy.c ============================================================================== --- stable/8/sys/dev/mii/rgephy.c Wed May 15 01:16:41 2013 (r250648) +++ stable/8/sys/dev/mii/rgephy.c Wed May 15 01:17:59 2013 (r250649) @@ -517,7 +517,7 @@ static void rgephy_reset(struct mii_softc *sc) { struct rgephy_softc *rsc; - uint16_t ssr; + uint16_t pcr, ssr; rsc = (struct rgephy_softc *)sc; if ((sc->mii_flags & MIIF_PHYPRIV0) == 0 && rsc->mii_revision == 3) { @@ -529,6 +529,15 @@ rgephy_reset(struct mii_softc *sc) } } + if (rsc->mii_revision >= 2) { + pcr = PHY_READ(sc, RGEPHY_MII_PCR); + if ((pcr & RGEPHY_PCR_MDIX_AUTO) == 0) { + pcr &= ~RGEPHY_PCR_MDI_MASK; + pcr |= RGEPHY_PCR_MDIX_AUTO; + PHY_WRITE(sc, RGEPHY_MII_PCR, pcr); + } + } + mii_phy_reset(sc); DELAY(1000); rgephy_load_dspcode(sc); Modified: stable/8/sys/dev/mii/rgephyreg.h ============================================================================== --- stable/8/sys/dev/mii/rgephyreg.h Wed May 15 01:16:41 2013 (r250648) +++ stable/8/sys/dev/mii/rgephyreg.h Wed May 15 01:17:59 2013 (r250649) @@ -138,6 +138,17 @@ #define RGEPHY_EXTSTS_T_HD_CAP 0x1000 /* 1000base-T HD capable */ /* RTL8211B(L)/RTL8211C(L) */ +#define RGEPHY_MII_PCR 0x10 /* PHY Specific control register */ +#define RGEPHY_PCR_ASSERT_CRS 0x0800 +#define RGEPHY_PCR_FORCE_LINK 0x0400 +#define RGEPHY_PCR_MDI_MASK 0x0060 +#define RGEPHY_PCR_MDIX_AUTO 0x0040 +#define RGEPHY_PCR_MDIX_MANUAL 0x0020 +#define RGEPHY_PCR_MDI_MANUAL 0x0000 +#define RGEPHY_PCR_CLK125_DIS 0x0010 +#define RGEPHY_PCR_JABBER_DIS 0x0001 + +/* RTL8211B(L)/RTL8211C(L) */ #define RGEPHY_MII_SSR 0x11 /* PHY Specific status register */ #define RGEPHY_SSR_S1000 0x8000 /* 1000Mbps */ #define RGEPHY_SSR_S100 0x4000 /* 100Mbps */ From owner-svn-src-stable-8@FreeBSD.ORG Wed May 15 01:22:56 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 69645232; Wed, 15 May 2013 01:22:56 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 5BC1DB91; Wed, 15 May 2013 01:22:56 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4F1MuI6087058; Wed, 15 May 2013 01:22:56 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4F1MuVc087057; Wed, 15 May 2013 01:22:56 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201305150122.r4F1MuVc087057@svn.freebsd.org> From: Pyun YongHyeon Date: Wed, 15 May 2013 01:22:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r250651 - stable/8/sys/dev/bge X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 May 2013 01:22:56 -0000 Author: yongari Date: Wed May 15 01:22:55 2013 New Revision: 250651 URL: http://svnweb.freebsd.org/changeset/base/250651 Log: MFC r248993: Fix a typo. Modified: stable/8/sys/dev/bge/if_bge.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/dev/ (props changed) stable/8/sys/dev/bge/ (props changed) Modified: stable/8/sys/dev/bge/if_bge.c ============================================================================== --- stable/8/sys/dev/bge/if_bge.c Wed May 15 01:21:40 2013 (r250650) +++ stable/8/sys/dev/bge/if_bge.c Wed May 15 01:22:55 2013 (r250651) @@ -679,7 +679,7 @@ bge_ape_lock_init(struct bge_softc *sc) bit = BGE_APE_LOCK_GRANT_DRIVER0; break; default: - if (sc->bge_func_addr != 0) + if (sc->bge_func_addr == 0) bit = BGE_APE_LOCK_GRANT_DRIVER0; else bit = (1 << sc->bge_func_addr); From owner-svn-src-stable-8@FreeBSD.ORG Wed May 15 04:39:12 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id DAB0214E; Wed, 15 May 2013 04:39:12 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mail1.ozon.ru (mx4.ozon.ru [194.186.179.140]) by mx1.freebsd.org (Postfix) with ESMTP id 5B1066B2; Wed, 15 May 2013 04:39:12 +0000 (UTC) Received: from intmail03msk.ozon (intmail03msk.ozon [10.18.18.171]) by mail1.ozon.ru (Postfix) with ESMTP id 19C6771A81C; Wed, 15 May 2013 08:38:09 +0400 (MSK) Received: from mail pickup service by intmail03msk.ozon with Microsoft SMTPSVC; Wed, 15 May 2013 08:31:37 +0400 Received: from intmail03msk.ozon ([10.18.18.171]) by intmail02msk.ozon with Microsoft SMTPSVC(6.0.3790.4675); Mon, 13 May 2013 05:21:15 +0400 Received: from mail1.ozon.ru ([194.186.179.140]) by intmail03msk.ozon with Microsoft SMTPSVC(6.0.3790.4675); Mon, 13 May 2013 05:21:14 +0400 Received: from localhost (localhost [127.0.0.1]) by mail1.ozon.ru (Postfix) with ESMTP id 0E0F4719EA0 for ; Mon, 13 May 2013 05:21:15 +0400 (MSK) X-Virus-Scanned: amavisd-new at ozon.ru Received: from mail1.ozon.ru ([127.0.0.1]) by localhost (mx4.ozon.ru [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CJxBVoPGsVH1 for ; Mon, 13 May 2013 05:21:08 +0400 (MSK) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received-SPF: pass (freebsd.org: 8.8.178.116 is authorized to use 'owner-svn-src-all@freebsd.org' in 'mfrom' identity (mechanism 'ip4:8.8.178.116' matched)) receiver=mx4.ozon.ru; identity=mfrom; envelope-from="owner-svn-src-all@freebsd.org"; helo=mx2.freebsd.org; client-ip=8.8.178.116 Received: from mx2.freebsd.org (mx2.FreeBSD.org [8.8.178.116]) by mail1.ozon.ru (Postfix) with ESMTP id 64176719EE0 for ; Mon, 13 May 2013 05:21:08 +0400 (MSK) Received: from hub.freebsd.org (hub.freebsd.org [IPv6:2001:1900:2254:206c::16:88]) by mx2.freebsd.org (Postfix) with ESMTP id 4DDA35474; Mon, 13 May 2013 01:21:05 +0000 (UTC) Received: from hub.freebsd.org (hub.freebsd.org [IPv6:2001:1900:2254:206c::16:88]) by hub.freebsd.org (Postfix) with ESMTP id 388BA9F0; Mon, 13 May 2013 01:21:05 +0000 (UTC) (envelope-from owner-svn-src-all@freebsd.org) Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 16DD6726; Mon, 13 May 2013 01:20:37 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 08C699F0; Mon, 13 May 2013 01:20:37 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4D1KaLx064909; Mon, 13 May 2013 01:20:36 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4D1Kade064908; Mon, 13 May 2013 01:20:36 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201305130120.r4D1Kade064908@svn.freebsd.org> From: Eitan Adler Date: Mon, 13 May 2013 01:20:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r250584 - stable/8/usr.sbin/mergemaster X-SVN-Group: stable-8 MIME-Version: 1.0 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: owner-svn-src-all@freebsd.org Sender: owner-svn-src-all@freebsd.org X-OriginalArrivalTime: 13 May 2013 01:21:15.0046 (UTC) FILETIME=[2973FC60:01CE4F78] X-BeenThere: svn-src-stable-8@freebsd.org List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 May 2013 04:39:12 -0000 Author: eadler Date: Mon May 13 01:20:36 2013 New Revision: 250584 URL: http://svnweb.freebsd.org/changeset/base/250584 Log: MFC r250463: Permit relative paths with mergemaster -m PR: bin/173929 Modified: stable/8/usr.sbin/mergemaster/mergemaster.sh Directory Properties: stable/8/usr.sbin/mergemaster/ (props changed) Modified: stable/8/usr.sbin/mergemaster/mergemaster.sh ============================================================================== --- stable/8/usr.sbin/mergemaster/mergemaster.sh Mon May 13 01:20:31 2013 (r250583) +++ stable/8/usr.sbin/mergemaster/mergemaster.sh Mon May 13 01:20:36 2013 (r250584) @@ -483,6 +483,7 @@ if [ ! -f ${SOURCEDIR}/Makefile.inc1 -a sleep 3 SOURCEDIR=${SOURCEDIR}/.. fi +SOURCEDIR=$(realpath "$SOURCEDIR") # Setup make to use system files from SOURCEDIR MM_MAKE="make ${ARCHSTRING} -m ${SOURCEDIR}/share/mk" _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" From owner-svn-src-stable-8@FreeBSD.ORG Wed May 15 04:39:13 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id CC3F517A; Wed, 15 May 2013 04:39:13 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mail1.ozon.ru (mx4.ozon.ru [194.186.179.140]) by mx1.freebsd.org (Postfix) with ESMTP id 18B296C1; Wed, 15 May 2013 04:39:13 +0000 (UTC) Received: from intmail03msk.ozon (intmail03msk.ozon [10.18.18.171]) by mail1.ozon.ru (Postfix) with ESMTP id 5E97071A856; Wed, 15 May 2013 08:38:09 +0400 (MSK) Received: from mail pickup service by intmail03msk.ozon with Microsoft SMTPSVC; Wed, 15 May 2013 08:34:03 +0400 Received: from intmail03msk.ozon ([10.18.18.171]) by intmail02msk.ozon with Microsoft SMTPSVC(6.0.3790.4675); Mon, 13 May 2013 05:28:38 +0400 Received: from mail1.ozon.ru ([194.186.179.140]) by intmail03msk.ozon with Microsoft SMTPSVC(6.0.3790.4675); Mon, 13 May 2013 05:28:37 +0400 Received: from localhost (localhost [127.0.0.1]) by mail1.ozon.ru (Postfix) with ESMTP id C208C719F22 for ; Mon, 13 May 2013 05:28:37 +0400 (MSK) X-Virus-Scanned: amavisd-new at ozon.ru Received: from mail1.ozon.ru ([127.0.0.1]) by localhost (mx4.ozon.ru [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id i6ZBccpjkuQR for ; Mon, 13 May 2013 05:28:30 +0400 (MSK) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received-SPF: pass (freebsd.org: 8.8.178.116 is authorized to use 'owner-svn-src-all@freebsd.org' in 'mfrom' identity (mechanism 'ip4:8.8.178.116' matched)) receiver=mx4.ozon.ru; identity=mfrom; envelope-from="owner-svn-src-all@freebsd.org"; helo=mx2.freebsd.org; client-ip=8.8.178.116 Received: from mx2.freebsd.org (mx2.FreeBSD.org [8.8.178.116]) by mail1.ozon.ru (Postfix) with ESMTP id D0BB8719F6B for ; Mon, 13 May 2013 05:28:29 +0400 (MSK) Received: from hub.freebsd.org (hub.freebsd.org [IPv6:2001:1900:2254:206c::16:88]) by mx2.freebsd.org (Postfix) with ESMTP id E09B659C0; Mon, 13 May 2013 01:28:28 +0000 (UTC) Received: from hub.freebsd.org (hub.freebsd.org [IPv6:2001:1900:2254:206c::16:88]) by hub.freebsd.org (Postfix) with ESMTP id B5DCBE85; Mon, 13 May 2013 01:28:28 +0000 (UTC) (envelope-from owner-svn-src-all@freebsd.org) Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id C354DCD9; Mon, 13 May 2013 01:28:09 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 9CBA5A2E; Mon, 13 May 2013 01:28:09 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4D1S9hQ067901; Mon, 13 May 2013 01:28:09 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4D1S9Fw067900; Mon, 13 May 2013 01:28:09 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201305130128.r4D1S9Fw067900@svn.freebsd.org> From: Eitan Adler Date: Mon, 13 May 2013 01:28:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r250587 - stable/8/bin/rm X-SVN-Group: stable-8 MIME-Version: 1.0 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: owner-svn-src-all@freebsd.org Sender: owner-svn-src-all@freebsd.org X-OriginalArrivalTime: 13 May 2013 01:28:37.0767 (UTC) FILETIME=[3155D970:01CE4F79] X-BeenThere: svn-src-stable-8@freebsd.org List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 May 2013 04:39:13 -0000 Author: eadler Date: Mon May 13 01:28:09 2013 New Revision: 250587 URL: http://svnweb.freebsd.org/changeset/base/250587 Log: MFC r249949: Take some improvements from DragonFlyBSD: - add const where appropriate - add static where appropriate - fix a whitespace issues Modified: stable/8/bin/rm/rm.c Directory Properties: stable/8/bin/rm/ (props changed) Modified: stable/8/bin/rm/rm.c ============================================================================== --- stable/8/bin/rm/rm.c Mon May 13 01:27:59 2013 (r250586) +++ stable/8/bin/rm/rm.c Mon May 13 01:28:09 2013 (r250587) @@ -62,15 +62,15 @@ int rflag, Iflag; uid_t uid; volatile sig_atomic_t info; -int check(char *, char *, struct stat *); -int check2(char **); -void checkdot(char **); -void checkslash(char **); -void rm_file(char **); -int rm_overwrite(char *, struct stat *); -void rm_tree(char **); +static int check(const char *, const char *, struct stat *); +static int check2(char **); +static void checkdot(char **); +static void checkslash(char **); +static void rm_file(char **); +static int rm_overwrite(const char *, struct stat *); +static void rm_tree(char **); static void siginfo(int __unused); -void usage(void); +static void usage(void); /* * rm -- @@ -169,7 +169,7 @@ main(int argc, char *argv[]) exit (eval); } -void +static void rm_tree(char **argv) { FTS *fts; @@ -412,7 +412,7 @@ rm_file(char **argv) * kernel support. */ int -rm_overwrite(char *file, struct stat *sbp) +rm_overwrite(const char *file, struct stat *sbp) { struct stat sb, sb2; struct statfs fsb; @@ -478,8 +478,8 @@ err: eval = 1; } -int -check(char *path, char *name, struct stat *sp) +static int +check(const char *path, const char *name, struct stat *sp) { int ch, first; char modep[15], *flagsp; @@ -490,7 +490,7 @@ check(char *path, char *name, struct sta else { /* * If it's not a symbolic link and it's unwritable and we're - * talking to a terminal, ask. Symbolic links are excluded + * talking to a terminal, ask. Symbolic links are excluded * because their permissions are meaningless. Check stdin_ok * first because we may not have stat'ed the file. */ @@ -523,7 +523,7 @@ check(char *path, char *name, struct sta } #define ISSLASH(a) ((a)[0] == '/' && (a)[1] == '\0') -void +static void checkslash(char **argv) { char **t, **u; @@ -543,7 +543,7 @@ checkslash(char **argv) } } -int +static int check2(char **argv) { struct stat st; @@ -594,7 +594,7 @@ check2(char **argv) } #define ISDOT(a) ((a)[0] == '.' && (!(a)[1] || ((a)[1] == '.' && !(a)[2]))) -void +static void checkdot(char **argv) { char *p, **save, **t; @@ -618,7 +618,7 @@ checkdot(char **argv) } } -void +static void usage(void) { _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" From owner-svn-src-stable-8@FreeBSD.ORG Wed May 15 05:03:27 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 483D65D4; Wed, 15 May 2013 05:03:27 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mail1.ozon.ru (mx4.ozon.ru [194.186.179.140]) by mx1.freebsd.org (Postfix) with ESMTP id D27ABA41; Wed, 15 May 2013 05:03:26 +0000 (UTC) Received: from intmail03msk.ozon (intmail03msk.ozon [10.18.18.171]) by mail1.ozon.ru (Postfix) with ESMTP id 3F3A371A5D8; Wed, 15 May 2013 09:03:25 +0400 (MSK) Received: from mail pickup service by intmail03msk.ozon with Microsoft SMTPSVC; Wed, 15 May 2013 09:03:18 +0400 Received: from intmail03msk.ozon ([10.18.18.171]) by intmail02msk.ozon with Microsoft SMTPSVC(6.0.3790.4675); Sun, 12 May 2013 12:56:19 +0400 Received: from mail1.ozon.ru ([194.186.179.140]) by intmail03msk.ozon with Microsoft SMTPSVC(6.0.3790.4675); Sun, 12 May 2013 12:02:30 +0400 Received: from localhost (localhost [127.0.0.1]) by mail1.ozon.ru (Postfix) with ESMTP id B190271CD2C for ; Sun, 12 May 2013 05:38:27 +0400 (MSK) X-Virus-Scanned: amavisd-new at ozon.ru Received: from mail1.ozon.ru ([127.0.0.1]) by localhost (mx4.ozon.ru [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wHNVE+kgrSf3 for ; Sun, 12 May 2013 05:38:20 +0400 (MSK) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received-SPF: pass (freebsd.org: 8.8.178.116 is authorized to use 'owner-svn-src-all@freebsd.org' in 'mfrom' identity (mechanism 'ip4:8.8.178.116' matched)) receiver=mx4.ozon.ru; identity=mfrom; envelope-from="owner-svn-src-all@freebsd.org"; helo=mx2.freebsd.org; client-ip=8.8.178.116 Received: from mx2.freebsd.org (mx2.FreeBSD.org [8.8.178.116]) by mail1.ozon.ru (Postfix) with ESMTP id 8DECA71CD1E for ; Sun, 12 May 2013 05:38:19 +0400 (MSK) Received: from hub.freebsd.org (hub.freebsd.org [IPv6:2001:1900:2254:206c::16:88]) by mx2.freebsd.org (Postfix) with ESMTP id D42146CD4; Sun, 12 May 2013 01:38:18 +0000 (UTC) Received: from hub.freebsd.org (hub.freebsd.org [IPv6:2001:1900:2254:206c::16:88]) by hub.freebsd.org (Postfix) with ESMTP id D1812A33; Sun, 12 May 2013 01:38:18 +0000 (UTC) (envelope-from owner-svn-src-all@freebsd.org) Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 8C9AF878; Sun, 12 May 2013 01:38:02 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 69B67303; Sun, 12 May 2013 01:38:02 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4C1c2LL065220; Sun, 12 May 2013 01:38:02 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4C1c2sb065218; Sun, 12 May 2013 01:38:02 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201305120138.r4C1c2sb065218@svn.freebsd.org> From: Eitan Adler Date: Sun, 12 May 2013 01:38:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r250542 - stable/8/share/examples/BSD_daemon X-SVN-Group: stable-8 MIME-Version: 1.0 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: owner-svn-src-all@freebsd.org Sender: owner-svn-src-all@freebsd.org X-OriginalArrivalTime: 12 May 2013 08:02:30.0388 (UTC) FILETIME=[0D0FE340:01CE4EE7] X-BeenThere: svn-src-stable-8@freebsd.org List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 May 2013 05:03:27 -0000 Author: eadler Date: Sun May 12 01:38:01 2013 New Revision: 250542 URL: http://svnweb.freebsd.org/changeset/base/250542 Log: MFC r250012: Add an alternate version of beastie to the examples directory. PR: docs/38556 Added: stable/8/share/examples/BSD_daemon/beastie2.eps - copied unchanged from r250012, head/share/examples/BSD_daemon/beastie2.eps Modified: stable/8/share/examples/BSD_daemon/README Directory Properties: stable/8/share/ (props changed) stable/8/share/examples/ (props changed) Modified: stable/8/share/examples/BSD_daemon/README ============================================================================== --- stable/8/share/examples/BSD_daemon/README Sun May 12 01:37:55 2013 (r250541) +++ stable/8/share/examples/BSD_daemon/README Sun May 12 01:38:01 2013 (r250542) @@ -35,6 +35,10 @@ beastie.eps Before committing this, clean out the comment brought over from the .fig file to avoid Dollar-FreeBSD-Dollar junk +beastie2.eps + Written by Rahul Siddharthan beaste2.eps is a + smaller, simpler version of the beastie eps graphic. + eps.patch Add some comments about tweakables in the .eps file and set the linecaps to round to improve visual appearance. Copied: stable/8/share/examples/BSD_daemon/beastie2.eps (from r250012, head/share/examples/BSD_daemon/beastie2.eps) ============================================================================== Binary file (source and/or target). No diff available. _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" From owner-svn-src-stable-8@FreeBSD.ORG Wed May 15 05:04:42 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 64504F17; Wed, 15 May 2013 05:04:42 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mail1.ozon.ru (mx4.ozon.ru [194.186.179.140]) by mx1.freebsd.org (Postfix) with ESMTP id 1DF4CA6D; Wed, 15 May 2013 05:04:41 +0000 (UTC) Received: from intmail03msk.ozon (intmail03msk.ozon [10.18.18.171]) by mail1.ozon.ru (Postfix) with ESMTP id 2CD7371A553; Wed, 15 May 2013 09:04:39 +0400 (MSK) Received: from mail pickup service by intmail03msk.ozon with Microsoft SMTPSVC; Wed, 15 May 2013 09:04:29 +0400 Received: from intmail03msk.ozon ([10.18.18.171]) by intmail02msk.ozon with Microsoft SMTPSVC(6.0.3790.4675); Sun, 12 May 2013 16:31:08 +0400 Received: from mail1.ozon.ru ([194.186.179.140]) by intmail03msk.ozon with Microsoft SMTPSVC(6.0.3790.4675); Sun, 12 May 2013 16:31:07 +0400 Received: from localhost (localhost [127.0.0.1]) by mail1.ozon.ru (Postfix) with ESMTP id 07D9F71968D for ; Sun, 12 May 2013 16:31:08 +0400 (MSK) X-Virus-Scanned: amavisd-new at ozon.ru Received: from mail1.ozon.ru ([127.0.0.1]) by localhost (mx4.ozon.ru [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id UYFD9lmMWBWp for ; Sun, 12 May 2013 16:30:59 +0400 (MSK) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received-SPF: pass (freebsd.org: 8.8.178.116 is authorized to use 'owner-svn-src-all@freebsd.org' in 'mfrom' identity (mechanism 'ip4:8.8.178.116' matched)) receiver=mx4.ozon.ru; identity=mfrom; envelope-from="owner-svn-src-all@freebsd.org"; helo=mx2.freebsd.org; client-ip=8.8.178.116 Received: from mx2.freebsd.org (mx2.FreeBSD.org [8.8.178.116]) by mail1.ozon.ru (Postfix) with ESMTP id 32A877196A4 for ; Sun, 12 May 2013 16:30:59 +0400 (MSK) Received: from hub.freebsd.org (hub.freebsd.org [IPv6:2001:1900:2254:206c::16:88]) by mx2.freebsd.org (Postfix) with ESMTP id A0C1A1AFB; Sun, 12 May 2013 12:30:57 +0000 (UTC) Received: from hub.freebsd.org (hub.freebsd.org [IPv6:2001:1900:2254:206c::16:88]) by hub.freebsd.org (Postfix) with ESMTP id 5D218EF9; Sun, 12 May 2013 12:30:57 +0000 (UTC) (envelope-from owner-svn-src-all@freebsd.org) Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 71D3CDA3; Sun, 12 May 2013 12:30:42 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 625609A0; Sun, 12 May 2013 12:30:42 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4CCUgaO095205; Sun, 12 May 2013 12:30:42 GMT (envelope-from hselasky@svn.freebsd.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4CCUg6O095204; Sun, 12 May 2013 12:30:42 GMT (envelope-from hselasky@svn.freebsd.org) Message-Id: <201305121230.r4CCUg6O095204@svn.freebsd.org> From: Hans Petter Selasky Date: Sun, 12 May 2013 12:30:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r250563 - stable/8/sys/dev/sound/usb X-SVN-Group: stable-8 MIME-Version: 1.0 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: owner-svn-src-all@freebsd.org Sender: owner-svn-src-all@freebsd.org X-OriginalArrivalTime: 12 May 2013 12:31:07.0788 (UTC) FILETIME=[93C7F4C0:01CE4F0C] X-BeenThere: svn-src-stable-8@freebsd.org List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 May 2013 05:04:42 -0000 Author: hselasky Date: Sun May 12 12:30:42 2013 New Revision: 250563 URL: http://svnweb.freebsd.org/changeset/base/250563 Log: MFC r249796, r249830, r249844 and r249845: USB audio fixes and improvements. - Fix runtime switching of sample rate - Fix feedback endpoint algorithm Modified: stable/8/sys/dev/sound/usb/uaudio.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/dev/ (props changed) stable/8/sys/dev/sound/ (props changed) stable/8/sys/dev/sound/usb/ (props changed) Modified: stable/8/sys/dev/sound/usb/uaudio.c ============================================================================== --- stable/8/sys/dev/sound/usb/uaudio.c Sun May 12 12:24:29 2013 (r250562) +++ stable/8/sys/dev/sound/usb/uaudio.c Sun May 12 12:30:42 2013 (r250563) @@ -73,6 +73,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #define USB_DEBUG_VAR uaudio_debug #include @@ -176,19 +177,34 @@ struct uaudio_mixer_node { struct uaudio_mixer_node *next; }; +struct uaudio_configure_msg { + struct usb_proc_msg hdr; + struct uaudio_softc *sc; +}; + +#define CHAN_MAX_ALT 20 + +struct uaudio_chan_alt { + union uaudio_asf1d p_asf1d; + union uaudio_sed p_sed; + const usb_endpoint_descriptor_audio_t *p_ed1; + const struct uaudio_format *p_fmt; + const struct usb_config *usb_cfg; + uint32_t sample_rate; /* in Hz */ + uint16_t sample_size; + uint8_t iface_index; + uint8_t iface_alt_index; + uint8_t channels; +}; + struct uaudio_chan { struct pcmchan_caps pcm_cap; /* capabilities */ - + struct uaudio_chan_alt usb_alt[CHAN_MAX_ALT]; struct snd_dbuf *pcm_buf; - const struct usb_config *usb_cfg; struct mtx *pcm_mtx; /* lock protecting this structure */ struct uaudio_softc *priv_sc; struct pcm_channel *pcm_ch; struct usb_xfer *xfer[UAUDIO_NCHANBUFS + 1]; - union uaudio_asf1d p_asf1d; - union uaudio_sed p_sed; - const usb_endpoint_descriptor_audio_t *p_ed1; - const struct uaudio_format *p_fmt; uint8_t *buf; /* pointer to buffer */ uint8_t *start; /* upper layer buffer start */ @@ -196,24 +212,24 @@ struct uaudio_chan { uint8_t *cur; /* current position in upper layer * buffer */ - uint32_t intr_size; /* in bytes */ uint32_t intr_frames; /* in units */ - uint32_t sample_rate; uint32_t frames_per_second; uint32_t sample_rem; uint32_t sample_curr; + uint32_t max_buf; - uint32_t format; uint32_t pcm_format[2]; uint16_t bytes_per_frame[2]; - uint16_t sample_size; - - uint8_t valid; - uint8_t iface_index; - uint8_t iface_alt_index; - uint8_t channels; + uint8_t num_alt; + uint8_t cur_alt; + uint8_t set_alt; + uint8_t operation; +#define CHAN_OP_NONE 0 +#define CHAN_OP_START 1 +#define CHAN_OP_STOP 2 +#define CHAN_OP_DRAIN 3 uint8_t last_sync_time; uint8_t last_sync_state; @@ -309,6 +325,7 @@ struct uaudio_softc { struct uaudio_hid sc_hid; struct uaudio_search_result sc_mixer_clocks; struct uaudio_mixer_node sc_mixer_node; + struct uaudio_configure_msg sc_config_msg[2]; struct mtx *sc_mixer_lock; struct snd_mixer *sc_mixer_dev; @@ -434,6 +451,8 @@ static usb_callback_t umidi_bulk_read_ca static usb_callback_t umidi_bulk_write_callback; static usb_callback_t uaudio_hid_rx_callback; +static usb_proc_callback_t uaudio_configure_msg; + /* ==== USB mixer ==== */ static int uaudio_mixer_sysctl_handler(SYSCTL_HANDLER_ARGS); @@ -856,6 +875,10 @@ uaudio_attach(device_t dev) sc->sc_udev = uaa->device; sc->sc_mixer_iface_index = uaa->info.bIfaceIndex; sc->sc_mixer_iface_no = uaa->info.bIfaceNum; + sc->sc_config_msg[0].hdr.pm_callback = &uaudio_configure_msg; + sc->sc_config_msg[0].sc = sc; + sc->sc_config_msg[1].hdr.pm_callback = &uaudio_configure_msg; + sc->sc_config_msg[1].sc = sc; if (usb_test_quirk(uaa, UQ_AUDIO_SWAP_LR)) sc->sc_uq_audio_swap_lr = 1; @@ -900,22 +923,28 @@ uaudio_attach(device_t dev) DPRINTF("%d mixer controls\n", sc->sc_mixer_count); - if (sc->sc_play_chan.valid) { - device_printf(dev, "Play: %d Hz, %d ch, %s format, " - "2x8ms buffer.\n", - sc->sc_play_chan.sample_rate, - sc->sc_play_chan.channels, - sc->sc_play_chan.p_fmt->description); + if (sc->sc_play_chan.num_alt > 0) { + uint8_t x; + for (x = 0; x != sc->sc_play_chan.num_alt; x++) { + device_printf(dev, "Play: %d Hz, %d ch, %s format, " + "2x8ms buffer.\n", + sc->sc_play_chan.usb_alt[x].sample_rate, + sc->sc_play_chan.usb_alt[x].channels, + sc->sc_play_chan.usb_alt[x].p_fmt->description); + } } else { device_printf(dev, "No playback.\n"); } - if (sc->sc_rec_chan.valid) { - device_printf(dev, "Record: %d Hz, %d ch, %s format, " - "2x8ms buffer.\n", - sc->sc_rec_chan.sample_rate, - sc->sc_rec_chan.channels, - sc->sc_rec_chan.p_fmt->description); + if (sc->sc_rec_chan.num_alt > 0) { + uint8_t x; + for (x = 0; x != sc->sc_rec_chan.num_alt; x++) { + device_printf(dev, "Record: %d Hz, %d ch, %s format, " + "2x8ms buffer.\n", + sc->sc_rec_chan.usb_alt[x].sample_rate, + sc->sc_rec_chan.usb_alt[x].channels, + sc->sc_rec_chan.usb_alt[x].p_fmt->description); + } } else { device_printf(dev, "No recording.\n"); } @@ -950,8 +979,8 @@ uaudio_attach(device_t dev) * Only attach a PCM device if we have a playback, recording * or mixer device present: */ - if (sc->sc_play_chan.valid || - sc->sc_rec_chan.valid || + if (sc->sc_play_chan.num_alt > 0 || + sc->sc_rec_chan.num_alt > 0 || sc->sc_mix_info) { child = device_add_child(dev, "pcm", -1); @@ -1020,18 +1049,18 @@ uaudio_attach_sub(device_t dev, kobj_cla snprintf(status, sizeof(status), "at ? %s", PCM_KLDSTRING(snd_uaudio)); if (pcm_register(dev, sc, - sc->sc_play_chan.valid ? 1 : 0, - sc->sc_rec_chan.valid ? 1 : 0)) { + (sc->sc_play_chan.num_alt > 0) ? 1 : 0, + (sc->sc_rec_chan.num_alt > 0) ? 1 : 0)) { goto detach; } uaudio_pcm_setflags(dev, SD_F_MPSAFE); sc->sc_pcm_registered = 1; - if (sc->sc_play_chan.valid) { + if (sc->sc_play_chan.num_alt > 0) { pcm_addchan(dev, PCMDIR_PLAY, chan_class, sc); } - if (sc->sc_rec_chan.valid) { + if (sc->sc_rec_chan.num_alt > 0) { pcm_addchan(dev, PCMDIR_REC, chan_class, sc); } pcm_setstatus(dev, status); @@ -1078,10 +1107,15 @@ uaudio_detach(device_t dev) * will time out and close opened /dev/dspX.Y device(s), if * any. */ - if (sc->sc_play_chan.valid) - usbd_transfer_unsetup(sc->sc_play_chan.xfer, UAUDIO_NCHANBUFS + 1); - if (sc->sc_rec_chan.valid) - usbd_transfer_unsetup(sc->sc_rec_chan.xfer, UAUDIO_NCHANBUFS + 1); + usb_proc_explore_lock(sc->sc_udev); + sc->sc_play_chan.operation = CHAN_OP_DRAIN; + sc->sc_rec_chan.operation = CHAN_OP_DRAIN; + usb_proc_explore_mwait(sc->sc_udev, + &sc->sc_config_msg[0], &sc->sc_config_msg[1]); + usb_proc_explore_unlock(sc->sc_udev); + + usbd_transfer_unsetup(sc->sc_play_chan.xfer, UAUDIO_NCHANBUFS + 1); + usbd_transfer_unsetup(sc->sc_rec_chan.xfer, UAUDIO_NCHANBUFS + 1); uaudio_hid_detach(sc); @@ -1100,6 +1134,201 @@ uaudio_detach(device_t dev) return (0); } +static uint32_t +uaudio_get_buffer_size(struct uaudio_chan *ch, uint8_t alt) +{ + struct uaudio_chan_alt *chan_alt = &ch->usb_alt[alt]; + /* We use 2 times 8ms of buffer */ + uint32_t buf_size = (((chan_alt->sample_rate * (UAUDIO_NFRAMES / 8)) + + 1000 - 1) / 1000) * chan_alt->sample_size; + return (buf_size); +} + +static void +uaudio_configure_msg_sub(struct uaudio_softc *sc, + struct uaudio_chan *chan, int dir) +{ + struct uaudio_chan_alt *chan_alt; + uint32_t frames; + uint32_t buf_size; + uint16_t fps; + uint8_t set_alt; + uint8_t fps_shift; + uint8_t operation; + usb_error_t err; + + if (chan->num_alt <= 0) + return; + + DPRINTF("\n"); + + usb_proc_explore_lock(sc->sc_udev); + operation = chan->operation; + chan->operation = CHAN_OP_NONE; + usb_proc_explore_unlock(sc->sc_udev); + + mtx_lock(chan->pcm_mtx); + if (chan->cur_alt != chan->set_alt) + set_alt = chan->set_alt; + else + set_alt = CHAN_MAX_ALT; + mtx_unlock(chan->pcm_mtx); + + if (set_alt >= chan->num_alt) + goto done; + + chan_alt = chan->usb_alt + set_alt; + + usbd_transfer_unsetup(chan->xfer, UAUDIO_NCHANBUFS + 1); + + err = usbd_set_alt_interface_index(sc->sc_udev, + chan_alt->iface_index, chan_alt->iface_alt_index); + if (err) { + DPRINTF("setting of alternate index failed: %s!\n", + usbd_errstr(err)); + goto error; + } + + /* + * Only set the sample rate if the channel reports that it + * supports the frequency control. + */ + + if (sc->sc_audio_rev >= UAUDIO_VERSION_30) { + /* FALLTHROUGH */ + } else if (sc->sc_audio_rev >= UAUDIO_VERSION_20) { + unsigned int x; + + for (x = 0; x != 256; x++) { + if (dir == PCMDIR_PLAY) { + if (!(sc->sc_mixer_clocks.bit_output[x / 8] & + (1 << (x % 8)))) { + continue; + } + } else { + if (!(sc->sc_mixer_clocks.bit_input[x / 8] & + (1 << (x % 8)))) { + continue; + } + } + + if (uaudio20_set_speed(sc->sc_udev, + sc->sc_mixer_iface_no, x, chan_alt->sample_rate)) { + /* + * If the endpoint is adaptive setting + * the speed may fail. + */ + DPRINTF("setting of sample rate failed! " + "(continuing anyway)\n"); + } + } + } else if (chan_alt->p_sed.v1->bmAttributes & UA_SED_FREQ_CONTROL) { + if (uaudio_set_speed(sc->sc_udev, + chan_alt->p_ed1->bEndpointAddress, chan_alt->sample_rate)) { + /* + * If the endpoint is adaptive setting the + * speed may fail. + */ + DPRINTF("setting of sample rate failed! " + "(continuing anyway)\n"); + } + } + if (usbd_transfer_setup(sc->sc_udev, &chan_alt->iface_index, chan->xfer, + chan_alt->usb_cfg, UAUDIO_NCHANBUFS + 1, chan, chan->pcm_mtx)) { + DPRINTF("could not allocate USB transfers!\n"); + goto error; + } + + fps = usbd_get_isoc_fps(sc->sc_udev); + + if (fps < 8000) { + /* FULL speed USB */ + frames = 8; + } else { + /* HIGH speed USB */ + frames = UAUDIO_NFRAMES; + } + + fps_shift = usbd_xfer_get_fps_shift(chan->xfer[0]); + + /* down shift number of frames per second, if any */ + fps >>= fps_shift; + frames >>= fps_shift; + + /* bytes per frame should not be zero */ + chan->bytes_per_frame[0] = + ((chan_alt->sample_rate / fps) * chan_alt->sample_size); + chan->bytes_per_frame[1] = + (((chan_alt->sample_rate + fps - 1) / fps) * chan_alt->sample_size); + + /* setup data rate dithering, if any */ + chan->frames_per_second = fps; + chan->sample_rem = chan_alt->sample_rate % fps; + chan->sample_curr = 0; + chan->frames_per_second = fps; + + /* compute required buffer size */ + buf_size = (chan->bytes_per_frame[1] * frames); + + if (buf_size > (chan->end - chan->start)) { + DPRINTF("buffer size is too big\n"); + goto error; + } + + chan->intr_frames = frames; + + DPRINTF("fps=%d sample_rem=%d\n", (int)fps, (int)chan->sample_rem); + + if (chan->intr_frames == 0) { + DPRINTF("frame shift is too high!\n"); + goto error; + } + + mtx_lock(chan->pcm_mtx); + chan->cur_alt = set_alt; + mtx_unlock(chan->pcm_mtx); + +done: +#if (UAUDIO_NCHANBUFS != 2) +#error "please update code" +#endif + switch (operation) { + case CHAN_OP_START: + mtx_lock(chan->pcm_mtx); + usbd_transfer_start(chan->xfer[0]); + usbd_transfer_start(chan->xfer[1]); + mtx_unlock(chan->pcm_mtx); + break; + case CHAN_OP_STOP: + mtx_lock(chan->pcm_mtx); + usbd_transfer_stop(chan->xfer[0]); + usbd_transfer_stop(chan->xfer[1]); + mtx_unlock(chan->pcm_mtx); + break; + default: + break; + } + return; + +error: + usbd_transfer_unsetup(chan->xfer, UAUDIO_NCHANBUFS + 1); + + mtx_lock(chan->pcm_mtx); + chan->cur_alt = CHAN_MAX_ALT; + mtx_unlock(chan->pcm_mtx); +} + +static void +uaudio_configure_msg(struct usb_proc_msg *pm) +{ + struct uaudio_softc *sc = ((struct uaudio_configure_msg *)pm)->sc; + + usb_proc_explore_unlock(sc->sc_udev); + uaudio_configure_msg_sub(sc, &sc->sc_play_chan, PCMDIR_PLAY); + uaudio_configure_msg_sub(sc, &sc->sc_rec_chan, PCMDIR_REC); + usb_proc_explore_lock(sc->sc_udev); +} + /*========================================================================* * AS - Audio Stream - routines *========================================================================*/ @@ -1237,6 +1466,8 @@ uaudio_chan_fill_info_sub(struct uaudio_ struct usb_interface_descriptor *id; const struct uaudio_format *p_fmt = NULL; struct uaudio_chan *chan; + struct uaudio_chan_alt *chan_alt; + uint32_t format; uint16_t curidx = 0xFFFF; uint16_t lastidx = 0xFFFF; uint16_t alt_index = 0; @@ -1414,6 +1645,10 @@ uaudio_chan_fill_info_sub(struct uaudio_ bBitResolution = asf1d.v2->bBitResolution; bSubslotSize = asf1d.v2->bSubslotSize; + /* Map 4-byte aligned 24-bit samples into 32-bit */ + if (bBitResolution == 24 && bSubslotSize == 4) + bBitResolution = 32; + if (bBitResolution != (bSubslotSize * 8)) { DPRINTF("Invalid bSubslotSize\n"); goto next_ep; @@ -1508,14 +1743,19 @@ uaudio_chan_fill_info_sub(struct uaudio_ chan = (ep_dir == UE_DIR_IN) ? &sc->sc_rec_chan : &sc->sc_play_chan; - if (chan->valid != 0 || - usbd_get_iface(udev, curidx) == NULL) { - DPRINTF("Channel already exists or " - "interface is not valid\n"); + if (usbd_get_iface(udev, curidx) == NULL) { + DPRINTF("Interface is not valid\n"); goto next_ep; } + if (chan->num_alt == CHAN_MAX_ALT) { + DPRINTF("Too many alternate settings\n"); + goto next_ep; + } + chan->set_alt = 0; + chan->cur_alt = CHAN_MAX_ALT; + + chan_alt = &chan->usb_alt[chan->num_alt++]; - chan->valid = 1; #ifdef USB_DEBUG uaudio_chan_dump_ep_desc(ed1); #endif @@ -1523,30 +1763,81 @@ uaudio_chan_fill_info_sub(struct uaudio_ "bits = %d, format = %s\n", rate, channels, bit_resolution, p_fmt->description); - chan->sample_rate = rate; - chan->p_asf1d = asf1d; - chan->p_ed1 = ed1; - chan->p_fmt = p_fmt; - chan->p_sed = sed; - chan->iface_index = curidx; - chan->iface_alt_index = alt_index; + chan_alt->sample_rate = rate; + chan_alt->p_asf1d = asf1d; + chan_alt->p_ed1 = ed1; + chan_alt->p_fmt = p_fmt; + chan_alt->p_sed = sed; + chan_alt->iface_index = curidx; + chan_alt->iface_alt_index = alt_index; + + usbd_set_parent_iface(sc->sc_udev, curidx, + sc->sc_mixer_iface_index); if (ep_dir == UE_DIR_IN) - chan->usb_cfg = uaudio_cfg_record; + chan_alt->usb_cfg = uaudio_cfg_record; else - chan->usb_cfg = uaudio_cfg_play; + chan_alt->usb_cfg = uaudio_cfg_play; - chan->sample_size = (UAUDIO_MAX_CHAN(channels) * + chan_alt->sample_size = (UAUDIO_MAX_CHAN(channels) * p_fmt->bPrecision) / 8; - chan->channels = channels; + chan_alt->channels = channels; if (ep_dir == UE_DIR_IN && usbd_get_speed(udev) == USB_SPEED_FULL) { uaudio_record_fix_fs(ed1, - chan->sample_size * (rate / 1000), - chan->sample_size * (rate / 4000)); + chan_alt->sample_size * (rate / 1000), + chan_alt->sample_size * (rate / 4000)); } + /* setup play/record format */ + + format = chan_alt->p_fmt->freebsd_fmt; + + switch (chan_alt->channels) { + case 2: + /* stereo */ + format = SND_FORMAT(format, 2, 0); + break; + case 1: + /* mono */ + format = SND_FORMAT(format, 1, 0); + break; + default: + /* surround and more */ + format = feeder_matrix_default_format( + SND_FORMAT(format, chan_alt->channels, 0)); + break; + } + + /* check if format is not supported */ + if (format == 0) { + DPRINTF("The selected audio format is not supported\n"); + chan->num_alt--; + goto next_ep; + } + if (chan->num_alt > 1) { + /* we only accumulate one format at different sample rates */ + if (chan->pcm_format[0] != format) { + DPRINTF("Multiple formats is not supported\n"); + chan->num_alt--; + goto next_ep; + } + /* ignore if duplicate sample rate entry */ + if (rate == chan->usb_alt[chan->num_alt - 2].sample_rate) { + DPRINTF("Duplicate sample rate detected\n"); + chan->num_alt--; + goto next_ep; + } + } + chan->pcm_cap.fmtlist = chan->pcm_format; + chan->pcm_cap.fmtlist[0] = format; + + if (rate < chan->pcm_cap.minspeed || chan->pcm_cap.minspeed == 0) + chan->pcm_cap.minspeed = rate; + if (rate > chan->pcm_cap.maxspeed || chan->pcm_cap.maxspeed == 0) + chan->pcm_cap.maxspeed = rate; + if (sc->sc_sndstat_valid != 0) { sbuf_printf(&sc->sc_sndstat, "\n\t" "mode %d.%d:(%s) %dch, %dbit, %s, %dHz", @@ -1564,8 +1855,9 @@ uaudio_chan_fill_info_sub(struct uaudio_ /* This structure defines all the supported rates. */ -static const uint32_t uaudio_rate_list[] = { +static const uint32_t uaudio_rate_list[CHAN_MAX_ALT] = { 96000, + 88200, 88000, 80000, 72000, @@ -1630,21 +1922,12 @@ uaudio_chan_fill_info(struct uaudio_soft uaudio_chan_fill_info_sub(sc, udev, rate, x, y); /* try find a matching rate, if any */ - for (z = 0; uaudio_rate_list[z]; z++) { + for (z = 0; uaudio_rate_list[z]; z++) uaudio_chan_fill_info_sub(sc, udev, uaudio_rate_list[z], x, y); - - if (sc->sc_rec_chan.valid && - sc->sc_play_chan.valid) { - goto done; - } - } } } - -done: - if (sc->sc_sndstat_valid) { + if (sc->sc_sndstat_valid) sbuf_finish(&sc->sc_sndstat); - } } static void @@ -1652,6 +1935,7 @@ uaudio_chan_play_sync_callback(struct us { struct uaudio_chan *ch = usbd_xfer_softc(xfer); struct usb_page_cache *pc; + uint64_t sample_rate = ch->usb_alt[ch->cur_alt].sample_rate; uint8_t buf[4]; uint64_t temp; int len; @@ -1698,24 +1982,20 @@ uaudio_chan_play_sync_callback(struct us /* auto adjust */ - while (temp < (ch->sample_rate - (ch->sample_rate / 4))) + while (temp < (sample_rate - (sample_rate / 4))) temp *= 2; - while (temp > (ch->sample_rate + (ch->sample_rate / 2))) + while (temp > (sample_rate + (sample_rate / 2))) temp /= 2; - /* bias */ - - temp += (ch->sample_rate + 1999) / 2000; - /* compare */ DPRINTF("Comparing %d < %d\n", - (int)temp, (int)ch->sample_rate); + (int)temp, (int)sample_rate); - if (temp == ch->sample_rate) + if (temp == sample_rate) ch->last_sync_state = UAUDIO_SYNC_NONE; - else if (temp > ch->sample_rate) + else if (temp > sample_rate) ch->last_sync_state = UAUDIO_SYNC_MORE; else ch->last_sync_state = UAUDIO_SYNC_LESS; @@ -1737,6 +2017,7 @@ uaudio_chan_play_callback(struct usb_xfe { struct uaudio_chan *ch = usbd_xfer_softc(xfer); struct usb_page_cache *pc; + uint32_t sample_size = ch->usb_alt[ch->cur_alt].sample_size; uint32_t mfl; uint32_t total; uint32_t blockcount; @@ -1800,14 +2081,14 @@ tr_transferred: switch (ch->last_sync_state) { case UAUDIO_SYNC_MORE: DPRINTFN(6, "sending one sample more\n"); - if ((frame_len + ch->sample_size) <= mfl) - frame_len += ch->sample_size; + if ((frame_len + sample_size) <= mfl) + frame_len += sample_size; ch->last_sync_state = UAUDIO_SYNC_NONE; break; case UAUDIO_SYNC_LESS: DPRINTFN(6, "sending one sample less\n"); - if (frame_len >= ch->sample_size) - frame_len -= ch->sample_size; + if (frame_len >= sample_size) + frame_len -= sample_size; ch->last_sync_state = UAUDIO_SYNC_NONE; break; default: @@ -1944,187 +2225,43 @@ uaudio_chan_init(struct uaudio_softc *sc struct uaudio_chan *ch = ((dir == PCMDIR_PLAY) ? &sc->sc_play_chan : &sc->sc_rec_chan); uint32_t buf_size; - uint32_t frames; - uint32_t format; - uint16_t fps; - uint8_t endpoint; - uint8_t blocks; - uint8_t iface_index; - uint8_t alt_index; - uint8_t fps_shift; - usb_error_t err; - - fps = usbd_get_isoc_fps(sc->sc_udev); - - if (fps < 8000) { - /* FULL speed USB */ - frames = 8; - } else { - /* HIGH speed USB */ - frames = UAUDIO_NFRAMES; - } - - /* setup play/record format */ - - ch->pcm_cap.fmtlist = ch->pcm_format; - - ch->pcm_format[0] = 0; - ch->pcm_format[1] = 0; - - ch->pcm_cap.minspeed = ch->sample_rate; - ch->pcm_cap.maxspeed = ch->sample_rate; + uint8_t x; - /* setup mutex and PCM channel */ + /* store mutex and PCM channel */ ch->pcm_ch = c; ch->pcm_mtx = c->lock; - format = ch->p_fmt->freebsd_fmt; - - switch (ch->channels) { - case 2: - /* stereo */ - format = SND_FORMAT(format, 2, 0); - break; - case 1: - /* mono */ - format = SND_FORMAT(format, 1, 0); - break; - default: - /* surround and more */ - format = feeder_matrix_default_format( - SND_FORMAT(format, ch->channels, 0)); - break; - } - - ch->pcm_cap.fmtlist[0] = format; - ch->pcm_cap.fmtlist[1] = 0; - - /* check if format is not supported */ - - if (format == 0) { - DPRINTF("The selected audio format is not supported\n"); - goto error; - } - - /* set alternate interface corresponding to the mode */ - - endpoint = ch->p_ed1->bEndpointAddress; - iface_index = ch->iface_index; - alt_index = ch->iface_alt_index; - - DPRINTF("endpoint=0x%02x, speed=%d, iface=%d alt=%d\n", - endpoint, ch->sample_rate, iface_index, alt_index); + /* compute worst case buffer */ - err = usbd_set_alt_interface_index(sc->sc_udev, iface_index, alt_index); - if (err) { - DPRINTF("setting of alternate index failed: %s!\n", - usbd_errstr(err)); - goto error; + buf_size = 0; + for (x = 0; x != ch->num_alt; x++) { + uint32_t temp = uaudio_get_buffer_size(ch, x); + if (temp > buf_size) + buf_size = temp; } - usbd_set_parent_iface(sc->sc_udev, iface_index, - sc->sc_mixer_iface_index); - - /* - * Only set the sample rate if the channel reports that it - * supports the frequency control. - */ - if (sc->sc_audio_rev >= UAUDIO_VERSION_30) { - /* FALLTHROUGH */ - } else if (sc->sc_audio_rev >= UAUDIO_VERSION_20) { - unsigned int x; - - for (x = 0; x != 256; x++) { - if (dir == PCMDIR_PLAY) { - if (!(sc->sc_mixer_clocks.bit_output[x / 8] & - (1 << (x % 8)))) { - continue; - } - } else { - if (!(sc->sc_mixer_clocks.bit_input[x / 8] & - (1 << (x % 8)))) { - continue; - } - } - - if (uaudio20_set_speed(sc->sc_udev, - sc->sc_mixer_iface_no, x, ch->sample_rate)) { - /* - * If the endpoint is adaptive setting - * the speed may fail. - */ - DPRINTF("setting of sample rate failed! " - "(continuing anyway)\n"); - } - } - } else if (ch->p_sed.v1->bmAttributes & UA_SED_FREQ_CONTROL) { - if (uaudio_set_speed(sc->sc_udev, endpoint, ch->sample_rate)) { - /* - * If the endpoint is adaptive setting the - * speed may fail. - */ - DPRINTF("setting of sample rate failed! " - "(continuing anyway)\n"); - } - } - if (usbd_transfer_setup(sc->sc_udev, &iface_index, ch->xfer, - ch->usb_cfg, UAUDIO_NCHANBUFS + 1, ch, ch->pcm_mtx)) { - DPRINTF("could not allocate USB transfers!\n"); - goto error; - } - - fps_shift = usbd_xfer_get_fps_shift(ch->xfer[0]); - - /* down shift number of frames per second, if any */ - fps >>= fps_shift; - frames >>= fps_shift; - - /* bytes per frame should not be zero */ - ch->bytes_per_frame[0] = ((ch->sample_rate / fps) * ch->sample_size); - ch->bytes_per_frame[1] = (((ch->sample_rate + fps - 1) / fps) * ch->sample_size); - - /* setup data rate dithering, if any */ - ch->frames_per_second = fps; - ch->sample_rem = ch->sample_rate % fps; - ch->sample_curr = 0; - ch->frames_per_second = fps; - - /* compute required buffer size */ - buf_size = (ch->bytes_per_frame[1] * frames); - - ch->intr_size = buf_size; - ch->intr_frames = frames; - - DPRINTF("fps=%d sample_rem=%d\n", fps, ch->sample_rem); - - if (ch->intr_frames == 0) { - DPRINTF("frame shift is too high!\n"); - goto error; - } - - /* setup double buffering */ + /* allow double buffering */ buf_size *= 2; - blocks = 2; + + DPRINTF("Worst case buffer is %d bytes\n", (int)buf_size); ch->buf = malloc(buf_size, M_DEVBUF, M_WAITOK | M_ZERO); if (ch->buf == NULL) goto error; if (sndbuf_setup(b, ch->buf, buf_size) != 0) goto error; - if (sndbuf_resize(b, blocks, ch->intr_size)) - goto error; ch->start = ch->buf; ch->end = ch->buf + buf_size; ch->cur = ch->buf; ch->pcm_buf = b; + ch->max_buf = buf_size; if (ch->pcm_mtx == NULL) { DPRINTF("ERROR: PCM channels does not have a mutex!\n"); goto error; } - return (ch); error: @@ -2141,7 +2278,7 @@ uaudio_chan_free(struct uaudio_chan *ch) } usbd_transfer_unsetup(ch->xfer, UAUDIO_NCHANBUFS + 1); - ch->valid = 0; + ch->num_alt = 0; return (0); } @@ -2149,7 +2286,15 @@ uaudio_chan_free(struct uaudio_chan *ch) int uaudio_chan_set_param_blocksize(struct uaudio_chan *ch, uint32_t blocksize) { - return (ch->intr_size); + uint32_t temp = 2 * uaudio_get_buffer_size(ch, ch->set_alt); + + sndbuf_setup(ch->pcm_buf, ch->buf, temp); + + ch->start = ch->buf; + ch->end = ch->buf + temp; + ch->cur = ch->buf; + + return (temp / 2); } int @@ -2162,10 +2307,23 @@ uaudio_chan_set_param_fragments(struct u int uaudio_chan_set_param_speed(struct uaudio_chan *ch, uint32_t speed) { - if (speed != ch->sample_rate) { - DPRINTF("rate conversion required\n"); + uint8_t x; + + for (x = 0; x < ch->num_alt; x++) { + if (ch->usb_alt[x].sample_rate < speed) { + /* sample rate is too low */ + break; + } } - return (ch->sample_rate); + + if (x != 0) + x--; + + ch->set_alt = x; + + DPRINTF("Selecting alt %d\n", (int)x); + + return (ch->usb_alt[x].sample_rate); } int @@ -2228,31 +2386,61 @@ uaudio_chan_getmatrix(struct uaudio_chan int uaudio_chan_set_param_format(struct uaudio_chan *ch, uint32_t format) { - ch->format = format; + DPRINTF("Selecting format 0x%08x\n", (unsigned int)format); return (0); } int uaudio_chan_start(struct uaudio_chan *ch) { - ch->cur = ch->start; + struct uaudio_softc *sc = ch->priv_sc; + int do_start = 0; -#if (UAUDIO_NCHANBUFS != 2) -#error "please update code" -#endif - usbd_transfer_start(ch->xfer[0]); - usbd_transfer_start(ch->xfer[1]); + usb_proc_explore_lock(sc->sc_udev); + if (ch->operation != CHAN_OP_DRAIN) { + if (ch->cur_alt == ch->set_alt && + ch->operation == CHAN_OP_NONE) { + /* save doing the explore task */ + do_start = 1; + } else { + ch->operation = CHAN_OP_START; + (void)usb_proc_explore_msignal(sc->sc_udev, + &sc->sc_config_msg[0], &sc->sc_config_msg[1]); + } + } + usb_proc_explore_unlock(sc->sc_udev); + + if (do_start) { + usbd_transfer_start(ch->xfer[0]); + usbd_transfer_start(ch->xfer[1]); + } return (0); } int uaudio_chan_stop(struct uaudio_chan *ch) { -#if (UAUDIO_NCHANBUFS != 2) -#error "please update code" -#endif - usbd_transfer_stop(ch->xfer[0]); - usbd_transfer_stop(ch->xfer[1]); + struct uaudio_softc *sc = ch->priv_sc; + int do_stop = 0; + + usb_proc_explore_lock(sc->sc_udev); + if (ch->operation != CHAN_OP_DRAIN) { + if (ch->cur_alt == ch->set_alt && + ch->operation == CHAN_OP_NONE) { + /* save doing the explore task */ + do_stop = 1; + } else { + ch->operation = CHAN_OP_STOP; + (void)usb_proc_explore_msignal(sc->sc_udev, + &sc->sc_config_msg[0], &sc->sc_config_msg[1]); + } + } + usb_proc_explore_unlock(sc->sc_udev); + + if (do_stop) { + usbd_transfer_stop(ch->xfer[0]); + usbd_transfer_stop(ch->xfer[1]); + } return (0); } _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" From owner-svn-src-stable-8@FreeBSD.ORG Wed May 15 05:25:45 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 8C37F4F7; Wed, 15 May 2013 05:25:45 +0000 (UTC) (envelope-from peter@FreeBSD.org) Received: from mail1.ozon.ru (mx4.ozon.ru [194.186.179.140]) by mx1.freebsd.org (Postfix) with ESMTP id E8AB6CE0; Wed, 15 May 2013 05:25:44 +0000 (UTC) Received: from intmail03msk.ozon (intmail03msk.ozon [10.18.18.171]) by mail1.ozon.ru (Postfix) with ESMTP id 4631871ABB9; Wed, 15 May 2013 09:25:10 +0400 (MSK) Received: from mail pickup service by intmail03msk.ozon with Microsoft SMTPSVC; Wed, 15 May 2013 09:11:20 +0400 Received: from intmail03msk.ozon ([10.18.18.171]) by intmail02msk.ozon with Microsoft SMTPSVC(6.0.3790.4675); Sun, 12 May 2013 12:56:48 +0400 Received: from mail1.ozon.ru ([194.186.179.140]) by intmail03msk.ozon with Microsoft SMTPSVC(6.0.3790.4675); Sun, 12 May 2013 12:03:26 +0400 Received: from localhost (localhost [127.0.0.1]) by mail1.ozon.ru (Postfix) with ESMTP id C8F8E71CDBD for ; Sun, 12 May 2013 05:54:57 +0400 (MSK) X-Virus-Scanned: amavisd-new at ozon.ru Received: from mail1.ozon.ru ([127.0.0.1]) by localhost (mx4.ozon.ru [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id t2aFH-YMrC5K for ; Sun, 12 May 2013 05:54:50 +0400 (MSK) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received-SPF: pass (freebsd.org: 8.8.178.116 is authorized to use 'owner-svn-src-all@freebsd.org' in 'mfrom' identity (mechanism 'ip4:8.8.178.116' matched)) receiver=mx4.ozon.ru; identity=mfrom; envelope-from="owner-svn-src-all@freebsd.org"; helo=mx2.freebsd.org; client-ip=8.8.178.116 Received: from mx2.freebsd.org (mx2.FreeBSD.org [8.8.178.116]) by mail1.ozon.ru (Postfix) with ESMTP id EFA6B71CDB8 for ; Sun, 12 May 2013 05:54:49 +0400 (MSK) Received: from hub.freebsd.org (hub.freebsd.org [IPv6:2001:1900:2254:206c::16:88]) by mx2.freebsd.org (Postfix) with ESMTP id 379A82C18; Sun, 12 May 2013 01:54:49 +0000 (UTC) Received: from hub.freebsd.org (hub.freebsd.org [IPv6:2001:1900:2254:206c::16:88]) by hub.freebsd.org (Postfix) with ESMTP id 34EE78A6; Sun, 12 May 2013 01:54:49 +0000 (UTC) (envelope-from owner-svn-src-all@freebsd.org) Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 72222F10; Sun, 12 May 2013 01:53:49 +0000 (UTC) (envelope-from peter@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 62A7F37B; Sun, 12 May 2013 01:53:49 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4C1rndl071391; Sun, 12 May 2013 01:53:49 GMT (envelope-from peter@svn.freebsd.org) Received: (from peter@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4C1rnHe071390; Sun, 12 May 2013 01:53:49 GMT (envelope-from peter@svn.freebsd.org) Message-Id: <201305120153.r4C1rnHe071390@svn.freebsd.org> From: Peter Wemm Date: Sun, 12 May 2013 01:53:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r250544 - head/sys/amd64/compile head/sys/amd64/conf head/sys/arm/compile head/sys/arm/conf head/sys/i386/compile head/sys/i386/conf head/sys/ia64/compile head/sys/ia64/conf head/sys/mi... X-SVN-Group: stable-8 MIME-Version: 1.0 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: owner-svn-src-all@freebsd.org Sender: owner-svn-src-all@freebsd.org X-OriginalArrivalTime: 12 May 2013 08:03:26.0966 (UTC) FILETIME=[2EC90160:01CE4EE7] X-BeenThere: svn-src-stable-8@freebsd.org List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 May 2013 05:25:45 -0000 Author: peter Date: Sun May 12 01:53:47 2013 New Revision: 250544 URL: http://svnweb.freebsd.org/changeset/base/250544 Log: Tidy up some CVS workarounds. Deleted: stable/8/sys/amd64/compile/.cvsignore stable/8/sys/amd64/conf/.cvsignore stable/8/sys/arm/compile/.cvsignore stable/8/sys/arm/conf/.cvsignore stable/8/sys/i386/compile/.cvsignore stable/8/sys/i386/conf/.cvsignore stable/8/sys/ia64/compile/.cvsignore stable/8/sys/ia64/conf/.cvsignore stable/8/sys/mips/compile/.cvsignore stable/8/sys/mips/conf/.cvsignore stable/8/sys/pc98/compile/.cvsignore stable/8/sys/pc98/conf/.cvsignore stable/8/sys/powerpc/compile/.cvsignore stable/8/sys/powerpc/conf/.cvsignore stable/8/sys/sparc64/compile/.cvsignore stable/8/sys/sparc64/conf/.cvsignore stable/8/sys/sun4v/compile/.cvsignore stable/8/sys/sun4v/conf/.cvsignore stable/8/tools/regression/geom_uzip/.cvsignore Changes in other areas also in this revision: Deleted: head/sys/amd64/compile/.cvsignore head/sys/amd64/conf/.cvsignore head/sys/arm/compile/.cvsignore head/sys/arm/conf/.cvsignore head/sys/i386/compile/.cvsignore head/sys/i386/conf/.cvsignore head/sys/ia64/compile/.cvsignore head/sys/ia64/conf/.cvsignore head/sys/mips/compile/.cvsignore head/sys/mips/conf/.cvsignore head/sys/pc98/compile/.cvsignore head/sys/pc98/conf/.cvsignore head/sys/powerpc/compile/.cvsignore head/sys/powerpc/conf/.cvsignore head/sys/sparc64/compile/.cvsignore head/sys/sparc64/conf/.cvsignore head/tools/regression/geom_uzip/.cvsignore stable/2.0.5/sys/compile/.keep_me stable/2.1/sys/compile/.keep_me stable/2.2/sys/compile/.keep_me stable/3/sys/compile/.keep_me stable/4/sys/compile/.keep_me stable/5/crypto/openssh/.cvsignore stable/5/crypto/openssh/openbsd-compat/.cvsignore stable/5/crypto/openssh/scard/.cvsignore stable/5/sys/alpha/compile/.cvsignore stable/5/sys/amd64/compile/.cvsignore stable/5/sys/i386/compile/.cvsignore stable/5/sys/ia64/compile/.cvsignore stable/5/sys/pc98/compile/.cvsignore stable/5/sys/sparc64/compile/.cvsignore stable/5/tools/regression/geom_uzip/.cvsignore stable/6/sys/alpha/compile/.cvsignore stable/6/sys/alpha/conf/.cvsignore stable/6/sys/amd64/compile/.cvsignore stable/6/sys/amd64/conf/.cvsignore stable/6/sys/arm/compile/.cvsignore stable/6/sys/arm/conf/.cvsignore stable/6/sys/i386/compile/.cvsignore stable/6/sys/i386/conf/.cvsignore stable/6/sys/ia64/compile/.cvsignore stable/6/sys/ia64/conf/.cvsignore stable/6/sys/pc98/compile/.cvsignore stable/6/sys/pc98/conf/.cvsignore stable/6/sys/powerpc/compile/.cvsignore stable/6/sys/powerpc/conf/.cvsignore stable/6/sys/sparc64/compile/.cvsignore stable/6/sys/sparc64/conf/.cvsignore stable/6/tools/regression/geom_uzip/.cvsignore stable/7/sys/amd64/compile/.cvsignore stable/7/sys/amd64/conf/.cvsignore stable/7/sys/arm/compile/.cvsignore stable/7/sys/arm/conf/.cvsignore stable/7/sys/i386/compile/.cvsignore stable/7/sys/i386/conf/.cvsignore stable/7/sys/ia64/compile/.cvsignore stable/7/sys/ia64/conf/.cvsignore stable/7/sys/pc98/compile/.cvsignore stable/7/sys/pc98/conf/.cvsignore stable/7/sys/powerpc/compile/.cvsignore stable/7/sys/powerpc/conf/.cvsignore stable/7/sys/sparc64/compile/.cvsignore stable/7/sys/sparc64/conf/.cvsignore stable/7/sys/sun4v/compile/.cvsignore stable/7/sys/sun4v/conf/.cvsignore stable/7/tools/regression/geom_uzip/.cvsignore stable/9/sys/amd64/compile/.cvsignore stable/9/sys/amd64/conf/.cvsignore stable/9/sys/arm/compile/.cvsignore stable/9/sys/arm/conf/.cvsignore stable/9/sys/i386/compile/.cvsignore stable/9/sys/i386/conf/.cvsignore stable/9/sys/ia64/compile/.cvsignore stable/9/sys/ia64/conf/.cvsignore stable/9/sys/mips/compile/.cvsignore stable/9/sys/mips/conf/.cvsignore stable/9/sys/pc98/compile/.cvsignore stable/9/sys/pc98/conf/.cvsignore stable/9/sys/powerpc/compile/.cvsignore stable/9/sys/powerpc/conf/.cvsignore stable/9/sys/sparc64/compile/.cvsignore stable/9/sys/sparc64/conf/.cvsignore stable/9/tools/regression/geom_uzip/.cvsignore _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" From owner-svn-src-stable-8@FreeBSD.ORG Wed May 15 05:27:58 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 47F511E7; Wed, 15 May 2013 05:27:58 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mail1.ozon.ru (mx4.ozon.ru [194.186.179.140]) by mx1.freebsd.org (Postfix) with ESMTP id 145E0D4F; Wed, 15 May 2013 05:27:56 +0000 (UTC) Received: from intmail03msk.ozon (intmail03msk.ozon [10.18.18.171]) by mail1.ozon.ru (Postfix) with ESMTP id 339ED71A60D; Wed, 15 May 2013 09:27:56 +0400 (MSK) Received: from mail pickup service by intmail03msk.ozon with Microsoft SMTPSVC; Wed, 15 May 2013 09:18:24 +0400 Received: from intmail03msk.ozon ([10.18.18.171]) by intmail02msk.ozon with Microsoft SMTPSVC(6.0.3790.4675); Sun, 12 May 2013 16:24:56 +0400 Received: from mail1.ozon.ru ([194.186.179.140]) by intmail03msk.ozon with Microsoft SMTPSVC(6.0.3790.4675); Sun, 12 May 2013 16:24:55 +0400 Received: from localhost (localhost [127.0.0.1]) by mail1.ozon.ru (Postfix) with ESMTP id E528971963A for ; Sun, 12 May 2013 16:24:55 +0400 (MSK) X-Virus-Scanned: amavisd-new at ozon.ru Received: from mail1.ozon.ru ([127.0.0.1]) by localhost (mx4.ozon.ru [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zkInUqCOsw5o for ; Sun, 12 May 2013 16:24:48 +0400 (MSK) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received-SPF: pass (freebsd.org: 8.8.178.116 is authorized to use 'owner-svn-src-all@freebsd.org' in 'mfrom' identity (mechanism 'ip4:8.8.178.116' matched)) receiver=mx4.ozon.ru; identity=mfrom; envelope-from="owner-svn-src-all@freebsd.org"; helo=mx2.freebsd.org; client-ip=8.8.178.116 Received: from mx2.freebsd.org (mx2.FreeBSD.org [8.8.178.116]) by mail1.ozon.ru (Postfix) with ESMTP id 8DDC571929F for ; Sun, 12 May 2013 16:24:47 +0400 (MSK) Received: from hub.freebsd.org (hub.freebsd.org [IPv6:2001:1900:2254:206c::16:88]) by mx2.freebsd.org (Postfix) with ESMTP id D6FF01713; Sun, 12 May 2013 12:24:42 +0000 (UTC) Received: from hub.freebsd.org (hub.freebsd.org [IPv6:2001:1900:2254:206c::16:88]) by hub.freebsd.org (Postfix) with ESMTP id 61114B88; Sun, 12 May 2013 12:24:42 +0000 (UTC) (envelope-from owner-svn-src-all@freebsd.org) Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 7A01DA2E; Sun, 12 May 2013 12:24:30 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 524BF974; Sun, 12 May 2013 12:24:30 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4CCOUR5092350; Sun, 12 May 2013 12:24:30 GMT (envelope-from hselasky@svn.freebsd.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4CCOTS4092346; Sun, 12 May 2013 12:24:29 GMT (envelope-from hselasky@svn.freebsd.org) Message-Id: <201305121224.r4CCOTS4092346@svn.freebsd.org> From: Hans Petter Selasky Date: Sun, 12 May 2013 12:24:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r250562 - in stable/8/sys/dev/usb: . controller X-SVN-Group: stable-8 MIME-Version: 1.0 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: owner-svn-src-all@freebsd.org Sender: owner-svn-src-all@freebsd.org X-OriginalArrivalTime: 12 May 2013 12:24:55.0707 (UTC) FILETIME=[B600E6B0:01CE4F0B] X-BeenThere: svn-src-stable-8@freebsd.org List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 May 2013 05:27:58 -0000 Author: hselasky Date: Sun May 12 12:24:29 2013 New Revision: 250562 URL: http://svnweb.freebsd.org/changeset/base/250562 Log: MFC r249795: Add convenience wrapper functions to run callbacks in the context of the USB explore thread. Modified: stable/8/sys/dev/usb/controller/usb_controller.c stable/8/sys/dev/usb/usb_process.h Directory Properties: stable/8/sys/ (props changed) stable/8/sys/dev/ (props changed) stable/8/sys/dev/usb/ (props changed) Modified: stable/8/sys/dev/usb/controller/usb_controller.c ============================================================================== --- stable/8/sys/dev/usb/controller/usb_controller.c Sun May 12 12:20:04 2013 (r250561) +++ stable/8/sys/dev/usb/controller/usb_controller.c Sun May 12 12:24:29 2013 (r250562) @@ -877,3 +877,28 @@ usb_bus_mem_free_all(struct usb_bus *bus mtx_destroy(&bus->bus_mtx); } + +/* convenience wrappers */ +void +usb_proc_explore_mwait(struct usb_device *udev, void *pm1, void *pm2) +{ + usb_proc_mwait(&udev->bus->explore_proc, pm1, pm2); +} + +void * +usb_proc_explore_msignal(struct usb_device *udev, void *pm1, void *pm2) +{ + return (usb_proc_msignal(&udev->bus->explore_proc, pm1, pm2)); +} + +void +usb_proc_explore_lock(struct usb_device *udev) +{ + USB_BUS_LOCK(udev->bus); +} + +void +usb_proc_explore_unlock(struct usb_device *udev) +{ + USB_BUS_UNLOCK(udev->bus); +} Modified: stable/8/sys/dev/usb/usb_process.h ============================================================================== --- stable/8/sys/dev/usb/usb_process.h Sun May 12 12:20:04 2013 (r250561) +++ stable/8/sys/dev/usb/usb_process.h Sun May 12 12:24:29 2013 (r250562) @@ -42,6 +42,7 @@ /* structure prototypes */ struct usb_proc_msg; +struct usb_device; /* * The following structure defines the USB process. @@ -79,4 +80,9 @@ void usb_proc_free(struct usb_process *u void *usb_proc_msignal(struct usb_process *up, void *pm0, void *pm1); void usb_proc_rewakeup(struct usb_process *up); +void usb_proc_explore_mwait(struct usb_device *, void *, void *); +void *usb_proc_explore_msignal(struct usb_device *, void *, void *); +void usb_proc_explore_lock(struct usb_device *); +void usb_proc_explore_unlock(struct usb_device *); + #endif /* _USB_PROCESS_H_ */ _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" From owner-svn-src-stable-8@FreeBSD.ORG Wed May 15 05:28:07 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 6BDC8342; Wed, 15 May 2013 05:28:07 +0000 (UTC) (envelope-from jh@FreeBSD.org) Received: from mail1.ozon.ru (mx4.ozon.ru [194.186.179.140]) by mx1.freebsd.org (Postfix) with ESMTP id 7BE8FD6A; Wed, 15 May 2013 05:28:06 +0000 (UTC) Received: from intmail03msk.ozon (intmail03msk.ozon [10.18.18.171]) by mail1.ozon.ru (Postfix) with ESMTP id 3322071A581; Wed, 15 May 2013 09:28:05 +0400 (MSK) Received: from mail pickup service by intmail03msk.ozon with Microsoft SMTPSVC; Wed, 15 May 2013 09:23:01 +0400 Received: from intmail03msk.ozon ([10.18.18.171]) by intmail02msk.ozon with Microsoft SMTPSVC(6.0.3790.4675); Mon, 13 May 2013 23:05:04 +0400 Received: from mail1.ozon.ru ([194.186.179.140]) by intmail03msk.ozon with Microsoft SMTPSVC(6.0.3790.4675); Mon, 13 May 2013 18:02:44 +0400 Received: from localhost (localhost [127.0.0.1]) by mail1.ozon.ru (Postfix) with ESMTP id 8C9A871A31A for ; Mon, 13 May 2013 18:02:44 +0400 (MSK) X-Virus-Scanned: amavisd-new at ozon.ru Received: from mail1.ozon.ru ([127.0.0.1]) by localhost (mx4.ozon.ru [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id q7vyDZiXTqOK for ; Mon, 13 May 2013 18:02:36 +0400 (MSK) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received-SPF: pass (freebsd.org: 8.8.178.116 is authorized to use 'owner-svn-src-all@freebsd.org' in 'mfrom' identity (mechanism 'ip4:8.8.178.116' matched)) receiver=mx4.ozon.ru; identity=mfrom; envelope-from="owner-svn-src-all@freebsd.org"; helo=mx2.freebsd.org; client-ip=8.8.178.116 Received: from mx2.freebsd.org (mx2.FreeBSD.org [8.8.178.116]) by mail1.ozon.ru (Postfix) with ESMTP id AABB171A23D for ; Mon, 13 May 2013 18:02:36 +0400 (MSK) Received: from hub.freebsd.org (hub.freebsd.org [IPv6:2001:1900:2254:206c::16:88]) by mx2.freebsd.org (Postfix) with ESMTP id 84E711043; Mon, 13 May 2013 14:02:31 +0000 (UTC) Received: from hub.freebsd.org (hub.freebsd.org [IPv6:2001:1900:2254:206c::16:88]) by hub.freebsd.org (Postfix) with ESMTP id 75D64FE4; Mon, 13 May 2013 14:02:31 +0000 (UTC) (envelope-from owner-svn-src-all@freebsd.org) Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id E9BFEC8E; Mon, 13 May 2013 14:00:24 +0000 (UTC) (envelope-from jh@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id DBCBA7A1; Mon, 13 May 2013 14:00:24 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4DE0OTX037721; Mon, 13 May 2013 14:00:24 GMT (envelope-from jh@svn.freebsd.org) Received: (from jh@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4DE0OWO037720; Mon, 13 May 2013 14:00:24 GMT (envelope-from jh@svn.freebsd.org) Message-Id: <201305131400.r4DE0OWO037720@svn.freebsd.org> From: Jaakko Heinonen Date: Mon, 13 May 2013 14:00:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r250598 - stable/8/usr.bin/calendar X-SVN-Group: stable-8 MIME-Version: 1.0 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: owner-svn-src-all@freebsd.org Sender: owner-svn-src-all@freebsd.org X-OriginalArrivalTime: 13 May 2013 14:02:44.0404 (UTC) FILETIME=[8A6EBF40:01CE4FE2] X-BeenThere: svn-src-stable-8@freebsd.org List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 May 2013 05:28:07 -0000 Author: jh Date: Mon May 13 14:00:24 2013 New Revision: 250598 URL: http://svnweb.freebsd.org/changeset/base/250598 Log: MFC r249200: Correct the path. PR: 176256 Modified: stable/8/usr.bin/calendar/calendar.1 Directory Properties: stable/8/usr.bin/calendar/ (props changed) Modified: stable/8/usr.bin/calendar/calendar.1 ============================================================================== --- stable/8/usr.bin/calendar/calendar.1 Mon May 13 13:57:06 2013 (r250597) +++ stable/8/usr.bin/calendar/calendar.1 Mon May 13 14:00:24 2013 (r250598) @@ -28,7 +28,7 @@ .\" @(#)calendar.1 8.1 (Berkeley) 6/29/93 .\" $FreeBSD$ .\" -.Dd June 13, 2002 +.Dd April 6, 2013 .Dt CALENDAR 1 .Os .Sh NAME @@ -222,7 +222,7 @@ do not send mail if this file exists. .El .Pp The following default calendar files are provided in -.Pa /usr/share/calendars: +.Pa /usr/share/calendar: .Pp .Bl -tag -width calendar.southafrica -compact .It Pa calendar.all _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" From owner-svn-src-stable-8@FreeBSD.ORG Wed May 15 19:38:49 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id DF23BF64; Wed, 15 May 2013 19:38:49 +0000 (UTC) (envelope-from pluknet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id D0CEF791; Wed, 15 May 2013 19:38:49 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4FJcnY2072286; Wed, 15 May 2013 19:38:49 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4FJcnKq072285; Wed, 15 May 2013 19:38:49 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201305151938.r4FJcnKq072285@svn.freebsd.org> From: Sergey Kandaurov Date: Wed, 15 May 2013 19:38:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r250672 - stable/8/share/man/man9 X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 May 2013 19:38:50 -0000 Author: pluknet Date: Wed May 15 19:38:49 2013 New Revision: 250672 URL: http://svnweb.freebsd.org/changeset/base/250672 Log: MFC r242992: Avoid an ambiguous reference to mtx_lock(9). Modified: stable/8/share/man/man9/mi_switch.9 Directory Properties: stable/8/share/man/man9/ (props changed) Modified: stable/8/share/man/man9/mi_switch.9 ============================================================================== --- stable/8/share/man/man9/mi_switch.9 Wed May 15 19:33:53 2013 (r250671) +++ stable/8/share/man/man9/mi_switch.9 Wed May 15 19:38:49 2013 (r250672) @@ -67,7 +67,7 @@ can be enumerated as follows: .It From within a function such as .Xr cv_wait 9 , -.Xr mtx_lock , +.Xr mtx_lock 9 , or .Xr tsleep 9 when the current thread From owner-svn-src-stable-8@FreeBSD.ORG Wed May 15 19:52:38 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 6CC49664; Wed, 15 May 2013 19:52:38 +0000 (UTC) (envelope-from pluknet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 5EACC834; Wed, 15 May 2013 19:52:38 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4FJqcMr078272; Wed, 15 May 2013 19:52:38 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4FJqcAj078271; Wed, 15 May 2013 19:52:38 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201305151952.r4FJqcAj078271@svn.freebsd.org> From: Sergey Kandaurov Date: Wed, 15 May 2013 19:52:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r250673 - stable/8/share/man/man9 X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 May 2013 19:52:38 -0000 Author: pluknet Date: Wed May 15 19:52:37 2013 New Revision: 250673 URL: http://svnweb.freebsd.org/changeset/base/250673 Log: MFC r242995: firmware(9) mdoc cleanup. - Lowercase a cross reference to make. - Sort SEE ALSO cross references. Modified: stable/8/share/man/man9/firmware.9 Directory Properties: stable/8/share/man/man9/ (props changed) Modified: stable/8/share/man/man9/firmware.9 ============================================================================== --- stable/8/share/man/man9/firmware.9 Wed May 15 19:38:49 2013 (r250672) +++ stable/8/share/man/man9/firmware.9 Wed May 15 19:52:37 2013 (r250673) @@ -255,11 +255,11 @@ IxNpeMicrocode.dat Note that generating the firmware modules in this way requires the availability of the following tools: .Xr awk , -.Xr Make , +.Xr make , the compiler and the linker. .Sh SEE ALSO -.Xr module 9 , -.Xr kld 4 +.Xr kld 4 , +.Xr module 9 .Pp .Pa /usr/share/examples/kld/firmware .Sh HISTORY From owner-svn-src-stable-8@FreeBSD.ORG Wed May 15 20:59:01 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 8CB324FD; Wed, 15 May 2013 20:59:01 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 7E1A5AAD; Wed, 15 May 2013 20:59:01 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4FKx1CX000653; Wed, 15 May 2013 20:59:01 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4FKx1tX000652; Wed, 15 May 2013 20:59:01 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201305152059.r4FKx1tX000652@svn.freebsd.org> From: Dimitry Andric Date: Wed, 15 May 2013 20:59:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r250677 - in stable: 7/gnu/usr.bin/cc/include 8/gnu/usr.bin/cc/include 9/gnu/usr.bin/cc/include X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 May 2013 20:59:01 -0000 Author: dim Date: Wed May 15 20:59:00 2013 New Revision: 250677 URL: http://svnweb.freebsd.org/changeset/base/250677 Log: MFC r250393: When gcc 4.2.0 was imported, the 3DNow intrinsics header was not added to the list of intrinsics headers to install, so belatedly (5 years :) add it. Modified: stable/8/gnu/usr.bin/cc/include/Makefile Directory Properties: stable/8/gnu/usr.bin/cc/include/ (props changed) Changes in other areas also in this revision: Modified: stable/7/gnu/usr.bin/cc/include/Makefile stable/9/gnu/usr.bin/cc/include/Makefile Directory Properties: stable/7/gnu/usr.bin/cc/include/ (props changed) stable/9/gnu/usr.bin/cc/include/ (props changed) Modified: stable/8/gnu/usr.bin/cc/include/Makefile ============================================================================== --- stable/8/gnu/usr.bin/cc/include/Makefile Wed May 15 20:53:53 2013 (r250676) +++ stable/8/gnu/usr.bin/cc/include/Makefile Wed May 15 20:59:00 2013 (r250677) @@ -5,7 +5,8 @@ .PATH: ${GCCDIR}/config/${GCC_CPU} .if ${TARGET_ARCH} == "i386" || ${TARGET_ARCH} == "amd64" -INCS= emmintrin.h mmintrin.h pmmintrin.h tmmintrin.h xmmintrin.h mm_malloc.h +INCS= emmintrin.h mmintrin.h mm3dnow.h pmmintrin.h tmmintrin.h xmmintrin.h \ + mm_malloc.h .elif ${TARGET_ARCH} == "ia64" INCS= ia64intrin.h .elif ${TARGET_ARCH} == "arm" From owner-svn-src-stable-8@FreeBSD.ORG Wed May 15 21:05:25 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id C6997C24; Wed, 15 May 2013 21:05:25 +0000 (UTC) (envelope-from pluknet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id B7D36B08; Wed, 15 May 2013 21:05:25 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4FL5PwW003911; Wed, 15 May 2013 21:05:25 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4FL5PYw003910; Wed, 15 May 2013 21:05:25 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201305152105.r4FL5PYw003910@svn.freebsd.org> From: Sergey Kandaurov Date: Wed, 15 May 2013 21:05:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r250679 - stable/8/usr.bin/kdump X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 May 2013 21:05:25 -0000 Author: pluknet Date: Wed May 15 21:05:25 2013 New Revision: 250679 URL: http://svnweb.freebsd.org/changeset/base/250679 Log: MFC r246711: o Bring in sync decoding the first nfssvc(2) parameter (flags) with the current definitions location. o Respect numbers in NFSSVC_* (e.g. NFSSVC_V4ROOTEXPORT). Modified: stable/8/usr.bin/kdump/mksubr Directory Properties: stable/8/usr.bin/kdump/ (props changed) Modified: stable/8/usr.bin/kdump/mksubr ============================================================================== --- stable/8/usr.bin/kdump/mksubr Wed May 15 21:02:18 2013 (r250678) +++ stable/8/usr.bin/kdump/mksubr Wed May 15 21:05:25 2013 (r250679) @@ -365,7 +365,7 @@ auto_or_type "thrcreateflagsname" "THR_[ auto_or_type "mlockallname" "MCL_[A-Z]+[[:space:]]+0x[0-9]+" "sys/mman.h" auto_or_type "shmatname" "SHM_[A-Z]+[[:space:]]+[0-9]{6}+" "sys/shm.h" auto_or_type "rforkname" "RF[A-Z]+[[:space:]]+\([0-9]+<<[0-9]+\)" "sys/unistd.h" -auto_or_type "nfssvcname" "NFSSVC_[A-Z]+[[:space:]]+0x[0-9]+" "nfsserver/nfs.h" +auto_or_type "nfssvcname" "NFSSVC_[A-Z0-9]+[[:space:]]+0x[0-9]+" "nfs/nfssvc.h" auto_switch_type "whencename" "SEEK_[A-Z]+[[:space:]]+[0-9]+" "sys/unistd.h" auto_switch_type "rlimitname" "RLIMIT_[A-Z]+[[:space:]]+[0-9]+" "sys/resource.h" From owner-svn-src-stable-8@FreeBSD.ORG Wed May 15 21:19:06 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id F014737A; Wed, 15 May 2013 21:19:05 +0000 (UTC) (envelope-from pluknet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id E20FCBF0; Wed, 15 May 2013 21:19:05 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4FLJ5fs008486; Wed, 15 May 2013 21:19:05 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4FLJ5V8008484; Wed, 15 May 2013 21:19:05 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201305152119.r4FLJ5V8008484@svn.freebsd.org> From: Sergey Kandaurov Date: Wed, 15 May 2013 21:19:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r250682 - stable/8/lib/libc/gen X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 May 2013 21:19:06 -0000 Author: pluknet Date: Wed May 15 21:19:05 2013 New Revision: 250682 URL: http://svnweb.freebsd.org/changeset/base/250682 Log: MFC r248250-248251: - Add the getcontextx prototype to SYNOPSIS. - Link getcontextx(3) to getcontext(3). Modified: stable/8/lib/libc/gen/Makefile.inc stable/8/lib/libc/gen/getcontext.3 Directory Properties: stable/8/lib/libc/ (props changed) Modified: stable/8/lib/libc/gen/Makefile.inc ============================================================================== --- stable/8/lib/libc/gen/Makefile.inc Wed May 15 21:16:16 2013 (r250681) +++ stable/8/lib/libc/gen/Makefile.inc Wed May 15 21:19:05 2013 (r250682) @@ -106,6 +106,7 @@ MLINKS+=getcap.3 cgetcap.3 getcap.3 cget getcap.3 cgetnum.3 getcap.3 cgetset.3 getcap.3 cgetstr.3 \ getcap.3 cgetustr.3 MLINKS+=getcwd.3 getwd.3 +MLINKS+=getcontext.3 getcontextx.3 MLINKS+=getcontext.3 setcontext.3 MLINKS+=getdomainname.3 setdomainname.3 MLINKS+=getfsent.3 endfsent.3 getfsent.3 getfsfile.3 getfsent.3 getfsspec.3 \ Modified: stable/8/lib/libc/gen/getcontext.3 ============================================================================== --- stable/8/lib/libc/gen/getcontext.3 Wed May 15 21:16:16 2013 (r250681) +++ stable/8/lib/libc/gen/getcontext.3 Wed May 15 21:19:05 2013 (r250682) @@ -35,7 +35,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 26, 2011 +.Dd March 13, 2013 .Dt GETCONTEXT 3 .Os .Sh NAME @@ -47,6 +47,8 @@ .In ucontext.h .Ft int .Fn getcontext "ucontext_t *ucp" +.Ft ucontext_t * +.Fn getcontextx "void" .Ft int .Fn setcontext "const ucontext_t *ucp" .Sh DESCRIPTION From owner-svn-src-stable-8@FreeBSD.ORG Wed May 15 21:37:09 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 15F8F975; Wed, 15 May 2013 21:37:09 +0000 (UTC) (envelope-from pluknet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id DABD8D2B; Wed, 15 May 2013 21:37:08 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4FLb8MZ015138; Wed, 15 May 2013 21:37:08 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4FLb8U8015137; Wed, 15 May 2013 21:37:08 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201305152137.r4FLb8U8015137@svn.freebsd.org> From: Sergey Kandaurov Date: Wed, 15 May 2013 21:37:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r250684 - stable/8/sys/dev/bktr X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 May 2013 21:37:09 -0000 Author: pluknet Date: Wed May 15 21:37:08 2013 New Revision: 250684 URL: http://svnweb.freebsd.org/changeset/base/250684 Log: MFC r250088: Pass a format string to kproc_create() [1] and thus fix the build with -DBKTR_NEW_MSP34XX_DRIVER and -Wformat-security. PR: kern/175546 Modified: stable/8/sys/dev/bktr/msp34xx.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/dev/ (props changed) stable/8/sys/dev/bktr/ (props changed) Modified: stable/8/sys/dev/bktr/msp34xx.c ============================================================================== --- stable/8/sys/dev/bktr/msp34xx.c Wed May 15 21:35:22 2013 (r250683) +++ stable/8/sys/dev/bktr/msp34xx.c Wed May 15 21:37:08 2013 (r250684) @@ -134,7 +134,6 @@ struct msp3400c { /* thread */ struct proc *kthread; - char *threaddesc; int active,restart,rmmod; @@ -1147,12 +1146,6 @@ int msp_attach(bktr_ptr_t bktr) msp->bass = 32768; msp->treble = 32768; msp->input = -1; - msp->threaddesc = malloc(15 * sizeof(char), M_DEVBUF, M_NOWAIT); - if (msp->threaddesc == NULL) { - free(msp, M_DEVBUF); - return ENOMEM; - } - snprintf(msp->threaddesc, 14, "%s_msp34xx_thread", bktr->bktr_xname); for (i = 0; i < DFP_COUNT; i++) msp->dfp_regs[i] = -1; @@ -1163,7 +1156,6 @@ int msp_attach(bktr_ptr_t bktr) if (-1 != rev1) rev2 = msp3400c_read(bktr, I2C_MSP3400C_DFP, 0x1f); if ((-1 == rev1) || (0 == rev1 && 0 == rev2)) { - free(msp->threaddesc, M_DEVBUF); free(msp, M_DEVBUF); bktr->msp3400c_info = NULL; printf("%s: msp3400: error while reading chip version\n", bktr_name(bktr)); @@ -1199,10 +1191,9 @@ int msp_attach(bktr_ptr_t bktr) /* startup control thread */ err = kproc_create(msp->simple ? msp3410d_thread : msp3400c_thread, bktr, &msp->kthread, (RFFDG | RFPROC), 0, - msp->threaddesc); + "%s_msp34xx_thread", bktr->bktr_xname); if (err) { printf("%s: Error returned by kproc_create: %d", bktr_name(bktr), err); - free(msp->threaddesc, M_DEVBUF); free(msp, M_DEVBUF); bktr->msp3400c_info = NULL; return ENXIO; From owner-svn-src-stable-8@FreeBSD.ORG Thu May 16 10:32:02 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id B58E1A35; Thu, 16 May 2013 10:32:02 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A76BDD11; Thu, 16 May 2013 10:32:02 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4GAW2RR088013; Thu, 16 May 2013 10:32:02 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4GAW2Q8088010; Thu, 16 May 2013 10:32:02 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201305161032.r4GAW2Q8088010@svn.freebsd.org> From: Konstantin Belousov Date: Thu, 16 May 2013 10:32:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r250696 - stable/8/sys/fs/msdosfs X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 May 2013 10:32:02 -0000 Author: kib Date: Thu May 16 10:32:01 2013 New Revision: 250696 URL: http://svnweb.freebsd.org/changeset/base/250696 Log: MFC r250193: Do a sync of the devvp vnode for the mount, which buffers, among other things, contain FAT blocks. This makes fsync(2) for msdosfs more correct by syncing the metadata needed to read the synced data. Modified: stable/8/sys/fs/msdosfs/msdosfs_denode.c stable/8/sys/fs/msdosfs/msdosfs_vnops.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/fs/ (props changed) Modified: stable/8/sys/fs/msdosfs/msdosfs_denode.c ============================================================================== --- stable/8/sys/fs/msdosfs/msdosfs_denode.c Thu May 16 09:43:04 2013 (r250695) +++ stable/8/sys/fs/msdosfs/msdosfs_denode.c Thu May 16 10:32:01 2013 (r250696) @@ -294,16 +294,20 @@ deupdat(dep, waitfor) struct denode *dep; int waitfor; { - int error; + struct direntry dir; + struct timespec ts; struct buf *bp; struct direntry *dirp; - struct timespec ts; + int error; - if (DETOV(dep)->v_mount->mnt_flag & MNT_RDONLY) + if (DETOV(dep)->v_mount->mnt_flag & MNT_RDONLY) { + dep->de_flag &= ~(DE_UPDATE | DE_CREATE | DE_ACCESS | + DE_MODIFIED); return (0); + } getnanotime(&ts); DETIMES(dep, &ts, &ts, &ts); - if ((dep->de_flag & DE_MODIFIED) == 0) + if ((dep->de_flag & DE_MODIFIED) == 0 && waitfor == 0) return (0); dep->de_flag &= ~DE_MODIFIED; if (dep->de_Attributes & ATTR_DIRECTORY) @@ -313,13 +317,23 @@ deupdat(dep, waitfor) error = readde(dep, &bp, &dirp); if (error) return (error); - DE_EXTERNALIZE(dirp, dep); + DE_EXTERNALIZE(&dir, dep); + if (bcmp(dirp, &dir, sizeof(dir)) == 0) { + if (waitfor == 0 || (bp->b_flags & B_DELWRI) == 0) { + brelse(bp); + return (0); + } + } else + *dirp = dir; + if ((DETOV(dep)->v_mount->mnt_flag & MNT_NOCLUSTERW) == 0) + bp->b_flags |= B_CLUSTEROK; if (waitfor) - return (bwrite(bp)); - else { + error = bwrite(bp); + else if (vm_page_count_severe() || buf_dirty_count_severe()) + bawrite(bp); + else bdwrite(bp); - return (0); - } + return (error); } /* Modified: stable/8/sys/fs/msdosfs/msdosfs_vnops.c ============================================================================== --- stable/8/sys/fs/msdosfs/msdosfs_vnops.c Thu May 16 09:43:04 2013 (r250695) +++ stable/8/sys/fs/msdosfs/msdosfs_vnops.c Thu May 16 10:32:01 2013 (r250696) @@ -851,9 +851,6 @@ errexit: /* * Flush the blocks of a file to disk. - * - * This function is worthless for vnodes that represent directories. Maybe we - * could just do a sync if they try an fsync on a directory file. */ static int msdosfs_fsync(ap) @@ -864,9 +861,35 @@ msdosfs_fsync(ap) struct thread *a_td; } */ *ap; { + struct vnode *devvp; + int allerror, error; vop_stdfsync(ap); - return (deupdat(VTODE(ap->a_vp), ap->a_waitfor == MNT_WAIT)); + + /* + * If the syncing request comes from fsync(2), sync the entire + * FAT and any other metadata that happens to be on devvp. We + * need this mainly for the FAT. We write the FAT sloppily, and + * syncing it all now is the best we can easily do to get all + * directory entries associated with the file (not just the file) + * fully synced. The other metadata includes critical metadata + * for all directory entries, but only in the MNT_ASYNC case. We + * will soon sync all metadata in the file's directory entry. + * Non-critical metadata for associated directory entries only + * gets synced accidentally, as in most file systems. + */ + if (ap->a_waitfor == MNT_WAIT) { + devvp = VTODE(ap->a_vp)->de_pmp->pm_devvp; + vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY); + allerror = VOP_FSYNC(devvp, MNT_WAIT, ap->a_td); + VOP_UNLOCK(devvp, 0); + } else + allerror = 0; + + error = deupdat(VTODE(ap->a_vp), ap->a_waitfor == MNT_WAIT); + if (allerror == 0) + allerror = error; + return (allerror); } static int From owner-svn-src-stable-8@FreeBSD.ORG Thu May 16 20:27:30 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id D271159F; Thu, 16 May 2013 20:27:30 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id C3F29F01; Thu, 16 May 2013 20:27:30 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4GKRUEY099682; Thu, 16 May 2013 20:27:30 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4GKRUEx099681; Thu, 16 May 2013 20:27:30 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201305162027.r4GKRUEx099681@svn.freebsd.org> From: Eitan Adler Date: Thu, 16 May 2013 20:27:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r250711 - stable/8/share/syscons/fonts X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 May 2013 20:27:30 -0000 Author: eadler Date: Thu May 16 20:27:30 2013 New Revision: 250711 URL: http://svnweb.freebsd.org/changeset/base/250711 Log: MFC r250553: Add the letter 'x' to the font iso05-8x16.fnt PR: 169797 Modified: stable/8/share/syscons/fonts/iso04-wide-8x16.fnt Directory Properties: stable/8/share/ (props changed) stable/8/share/syscons/ (props changed) Modified: stable/8/share/syscons/fonts/iso04-wide-8x16.fnt ============================================================================== --- stable/8/share/syscons/fonts/iso04-wide-8x16.fnt Thu May 16 20:07:08 2013 (r250710) +++ stable/8/share/syscons/fonts/iso04-wide-8x16.fnt Thu May 16 20:27:30 2013 (r250711) @@ -42,7 +42,7 @@ MS'@``.!@8&!F9FQX;&9FY@`````X&!@8&!@8&!@ MP\/#``````````#<9F9F9F9F9@``````````?,;&QL;&QGP``````````-YC M8V-C8V-^8/````````![QL;&QL;&?@8/````````WG-C8&!@8/`````````` M`'S&P'` Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 0B530C61; Thu, 16 May 2013 20:32:29 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id F16C8F44; Thu, 16 May 2013 20:32:28 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4GKWSFZ002613; Thu, 16 May 2013 20:32:28 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4GKWScQ002612; Thu, 16 May 2013 20:32:28 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201305162032.r4GKWScQ002612@svn.freebsd.org> From: Eitan Adler Date: Thu, 16 May 2013 20:32:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r250714 - stable/8/share/syscons/fonts X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 May 2013 20:32:29 -0000 Author: eadler Date: Thu May 16 20:32:28 2013 New Revision: 250714 URL: http://svnweb.freebsd.org/changeset/base/250714 Log: MFC r250459: Add the letter 'q' to the font iso05-8x16.fnt PR: 72585 PR: 169797 Modified: stable/8/share/syscons/fonts/iso05-8x16.fnt Directory Properties: stable/8/share/ (props changed) stable/8/share/syscons/ (props changed) Modified: stable/8/share/syscons/fonts/iso05-8x16.fnt ============================================================================== --- stable/8/share/syscons/fonts/iso05-8x16.fnt Thu May 16 20:32:09 2013 (r250713) +++ stable/8/share/syscons/fonts/iso05-8x16.fnt Thu May 16 20:32:28 2013 (r250714) @@ -40,7 +40,7 @@ M`'S&_L#`QGP````````X;&1@\&!@8&#P``````` M`.!@8&QV9F9F9N8````````8&``X&!@8&!@\````````!@8`#@8&!@8&!F9F M/````.!@8&9L>'AL9N8````````X&!@8&!@8&!@\````````````[/[6UM;6 MQ@```````````-QF9F9F9F8```````````!\QL;&QL9\````````````W&9F -M9F9F?&!@\`````````````````````````````#<=F9@8&#P```````````` +M9F9F?&!@\````````';,S,S,S'P,#!X```````#<=F9@8&#P```````````` M?,9@.`S&?````````!`P,/PP,#`P-AP```````````#,S,S,S,QV```````` M````9F9F9F8\&````````````,;&UM;6_FP```````````#&;#@X.&S&```` M````````QL;&QL;&?@8,^````````/[,&#!@QOX````````.&!@8 Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 6B5AEA88; Fri, 17 May 2013 00:40:49 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 5E3A0923; Fri, 17 May 2013 00:40:49 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4H0enkr090072; Fri, 17 May 2013 00:40:49 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4H0enqK090071; Fri, 17 May 2013 00:40:49 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201305170040.r4H0enqK090071@svn.freebsd.org> From: Eitan Adler Date: Fri, 17 May 2013 00:40:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r250730 - stable/8/usr.sbin/vidcontrol X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 May 2013 00:40:49 -0000 Author: eadler Date: Fri May 17 00:40:48 2013 New Revision: 250730 URL: http://svnweb.freebsd.org/changeset/base/250730 Log: MFC r250509: The M_VESA_MODE_MAX is latest valid mode - not the first invalid. Permit its use in vidcontrol -i PR: bin/119483 Modified: stable/8/usr.sbin/vidcontrol/vidcontrol.c Modified: stable/8/usr.sbin/vidcontrol/vidcontrol.c ============================================================================== --- stable/8/usr.sbin/vidcontrol/vidcontrol.c Fri May 17 00:40:46 2013 (r250729) +++ stable/8/usr.sbin/vidcontrol/vidcontrol.c Fri May 17 00:40:48 2013 (r250730) @@ -961,7 +961,7 @@ show_mode_info(void) printf("---------------------------------------" "---------------------------------------\n"); - for (mode = 0; mode < M_VESA_MODE_MAX; ++mode) { + for (mode = 0; mode <= M_VESA_MODE_MAX; ++mode) { _info.vi_mode = mode; if (ioctl(0, CONS_MODEINFO, &_info)) continue; From owner-svn-src-stable-8@FreeBSD.ORG Fri May 17 17:16:30 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 05109D23; Fri, 17 May 2013 17:16:30 +0000 (UTC) (envelope-from hiren@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id EBCA0BFD; Fri, 17 May 2013 17:16:29 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4HHGT3E039570; Fri, 17 May 2013 17:16:29 GMT (envelope-from hiren@svn.freebsd.org) Received: (from hiren@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4HHGTci039569; Fri, 17 May 2013 17:16:29 GMT (envelope-from hiren@svn.freebsd.org) Message-Id: <201305171716.r4HHGTci039569@svn.freebsd.org> From: Hiren Panchasara Date: Fri, 17 May 2013 17:16:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r250743 - stable/8/sys/x86/cpufreq X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 May 2013 17:16:30 -0000 Author: hiren Date: Fri May 17 17:16:29 2013 New Revision: 250743 URL: http://svnweb.freebsd.org/changeset/base/250743 Log: MFC: r250487 Adding a detach method to p4tcc driver. PR: 118739 Submitted by: Dan Lukes (earlier version) Reviewed by: jhb Approved by: sbruno (mentor) Modified: stable/8/sys/x86/cpufreq/p4tcc.c Directory Properties: stable/8/ (props changed) stable/8/sys/ (props changed) stable/8/sys/x86/ (props changed) Modified: stable/8/sys/x86/cpufreq/p4tcc.c ============================================================================== --- stable/8/sys/x86/cpufreq/p4tcc.c Fri May 17 15:20:45 2013 (r250742) +++ stable/8/sys/x86/cpufreq/p4tcc.c Fri May 17 17:16:29 2013 (r250743) @@ -73,6 +73,7 @@ static int p4tcc_features(driver_t *driv static void p4tcc_identify(driver_t *driver, device_t parent); static int p4tcc_probe(device_t dev); static int p4tcc_attach(device_t dev); +static int p4tcc_detach(device_t dev); static int p4tcc_settings(device_t dev, struct cf_setting *sets, int *count); static int p4tcc_set(device_t dev, const struct cf_setting *set); @@ -84,6 +85,7 @@ static device_method_t p4tcc_methods[] = DEVMETHOD(device_identify, p4tcc_identify), DEVMETHOD(device_probe, p4tcc_probe), DEVMETHOD(device_attach, p4tcc_attach), + DEVMETHOD(device_detach, p4tcc_detach), /* cpufreq interface */ DEVMETHOD(cpufreq_drv_set, p4tcc_set), @@ -213,6 +215,24 @@ p4tcc_attach(device_t dev) } static int +p4tcc_detach(device_t dev) +{ + struct cf_setting set; + int error; + + error = cpufreq_unregister(dev); + if (error) + return (error); + + /* + * Before we finish detach, switch to Automatic mode. + */ + set.freq = 10000; + p4tcc_set(dev, &set); + return(0); +} + +static int p4tcc_settings(device_t dev, struct cf_setting *sets, int *count) { struct p4tcc_softc *sc;