Date: Tue, 13 Jan 2009 22:15:08 GMT From: Robert Watson <rwatson@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 156118 for review Message-ID: <200901132215.n0DMF8NS017431@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=156118 Change 156118 by rwatson@rwatson_freebsd_capabilities on 2009/01/13 22:14:08 Integrate capabilities branch. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/bin/kenv/kenv.1#3 integrate .. //depot/projects/trustedbsd/capabilities/src/bin/ln/ln.1#3 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ntp/ntpd/ntp_crypto.c#3 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libusb20/libusb20.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/conf/USB2#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/conf/files#10 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/conf/files.powerpc#5 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/sound/pci/hda/hdac.c#4 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb/usbdevs#8 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/at91dci.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/at91dci.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/at91dci_atmelarm.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/atmegadci.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/atmegadci.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/atmegadci_atmelarm.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/ehci2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/ehci2.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/ehci2_pci.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/musb2_otg.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/musb2_otg.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/musb2_otg_atmelarm.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/ohci2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/ohci2.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/ohci2_atmelarm.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/ohci2_pci.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/uhci2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/uhci2.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/uhci2_pci.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/usb2_bus.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/usb2_controller.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/usb2_controller.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/uss820dci.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/uss820dci.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/uss820dci_atmelarm.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/core/usb2_busdma.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/core/usb2_compat_linux.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/core/usb2_core.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/core/usb2_debug.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/core/usb2_device.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/core/usb2_generic.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/core/usb2_handle_request.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/core/usb2_hub.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/core/usb2_mbuf.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/core/usb2_parse.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/core/usb2_request.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/core/usb2_sw_transfer.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/core/usb2_transfer.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/core/usb2_transfer.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_aue2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_aue2_reg.h#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_auereg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_axe2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_axe2_reg.h#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_axereg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_cdce2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_cdce2_reg.h#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_cdcereg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_cue2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_cue2_reg.h#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_cuereg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_kue2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_kue2_fw.h#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_kue2_reg.h#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_kuefw.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_kuereg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_rue2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_rue2_reg.h#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_ruereg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_udav2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_udav2_reg.h#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_udavreg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/include/usb2_defs.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/include/usb2_devid.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/include/usb2_devtable.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/include/usb2_standard.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/u3g2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/uark2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/ubsa2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/ubser2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/uchcom2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/ucycom2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/ufoma2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/uftdi2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/ugensa2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/uipaq2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/ulpt2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/umct2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/umodem2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/umoscom2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/uplcom2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/usb2_serial.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/usb2_serial.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/uvisor2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/uvscom2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/sound/uaudio2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/storage/ata-usb2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/storage/umass2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_rum2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_rum2_fw.h#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_rum2_reg.h#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_rum2_var.h#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_rumfw.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_rumreg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_rumvar.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_ural2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_ural2_reg.h#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_ural2_var.h#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_uralreg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_uralvar.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_zyd2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_zyd2_fw.h#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_zyd2_reg.h#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_zydfw.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_zydreg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/i386/conf/USB2#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/i386/i386/msi.c#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_timeout.c#6 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/modules/usb2/controller_atmegadci/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/booke/locore.S#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/booke/machdep.c#4 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/booke/pmap.c#4 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/booke/support.S#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/booke/trap_subr.S#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/pcpu.h#5 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/pmap.h#4 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/pte.h#4 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/tlb.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/powerpc/genassym.c#4 integrate .. //depot/projects/trustedbsd/capabilities/src/tools/sched/schedgraph.py#4 integrate .. //depot/projects/trustedbsd/capabilities/src/usr.sbin/usbconfig/usbconfig.c#2 integrate Differences ... ==== //depot/projects/trustedbsd/capabilities/src/bin/kenv/kenv.1#3 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/bin/kenv/kenv.1,v 1.15 2009/01/13 12:37:02 luigi Exp $ +.\" $FreeBSD: src/bin/kenv/kenv.1,v 1.16 2009/01/13 18:25:56 maxim Exp $ .\" -.Dd September 13, 2005 +.Dd January 13, 2009 .Dt KENV 1 .Os .Sh NAME @@ -77,7 +77,7 @@ in the kernel config file. The file can contain lines of the form .Pp -.Dl name = "value" # this is a coment +.Dl name = "value" # this is a comment .Pp where whitespace around name and '=', and everything after a '#' character, are ignored. Almost any printable ==== //depot/projects/trustedbsd/capabilities/src/bin/ln/ln.1#3 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ln.1 8.2 (Berkeley) 12/30/93 -.\" $FreeBSD: src/bin/ln/ln.1,v 1.33 2008/06/06 08:27:59 keramida Exp $ +.\" $FreeBSD: src/bin/ln/ln.1,v 1.34 2009/01/13 15:24:35 trhodes Exp $ .\" .Dd June 6, 2008 .Dt LN 1 @@ -38,7 +38,7 @@ .Sh NAME .Nm ln , .Nm link -.Nd make links +.Nd link files .Sh SYNOPSIS .Nm .Op Fl s Op Fl F @@ -57,8 +57,13 @@ .Sh DESCRIPTION The .Nm -utility creates a new directory entry (linked file) which has the -same modes as the original file. +utility creates a new directory entry (linked file) for the file name +specified by +.Ar target_file . +The +.Ar target_file +will be created with the same file modes as the +.Ar source_file . It is useful for maintaining multiple copies of a file in many places at once without using up storage for the .Dq copies ; @@ -148,7 +153,7 @@ A hard link to a file is indistinguishable from the original directory entry; any changes to a file are effectively independent of the name used to reference the file. -Hard links may not normally refer to directories and may not span file systems. +Directories may not be hardlinked, and hard links may not span file systems. .Pp A symbolic link contains the name of the file to which it is linked. ==== //depot/projects/trustedbsd/capabilities/src/contrib/ntp/ntpd/ntp_crypto.c#3 (text+ko) ==== @@ -1612,7 +1612,7 @@ */ EVP_VerifyInit(&ctx, peer->digest); EVP_VerifyUpdate(&ctx, (u_char *)&ep->tstamp, vallen + 12); - if (!EVP_VerifyFinal(&ctx, (u_char *)&ep->pkt[i], siglen, pkey)) + if (EVP_VerifyFinal(&ctx, (u_char *)&ep->pkt[i], siglen, pkey) <= 0) return (XEVNT_SIG); if (peer->crypto & CRYPTO_FLAG_VRFY) { ==== //depot/projects/trustedbsd/capabilities/src/lib/libusb20/libusb20.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/lib/libusb20/libusb20.c,v 1.2 2008/11/19 08:56:35 alfred Exp $ */ +/* $FreeBSD: src/lib/libusb20/libusb20.c,v 1.3 2009/01/13 19:06:02 thompsa Exp $ */ /*- * Copyright (c) 2008 Hans Petter Selasky. All rights reserved. * @@ -486,6 +486,8 @@ pdev->is_opened = 0; + pdev->claimed_interfaces = 0; + return (error); } ==== //depot/projects/trustedbsd/capabilities/src/sys/amd64/conf/USB2#2 (text+ko) ==== @@ -2,7 +2,7 @@ # USB2 -- Generic kernel configuration file for FreeBSD/amd64 with USBng # stack. # -# $FreeBSD: src/sys/amd64/conf/USB2,v 1.2 2008/12/30 20:13:20 rpaulo Exp $ +# $FreeBSD: src/sys/amd64/conf/USB2,v 1.3 2009/01/13 19:05:10 thompsa Exp $ include GENERIC @@ -108,3 +108,7 @@ # USB sound and MIDI device support #device usb2_sound + +# USB scanner support +device usb2_image +device usb2_scanner ==== //depot/projects/trustedbsd/capabilities/src/sys/conf/files#10 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1363 2009/01/08 17:12:47 sam Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1364 2009/01/13 19:18:43 thompsa Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -1609,6 +1609,7 @@ # # USB2 serial and parallel port drivers # +dev/usb2/serial/u3g2.c optional usb2_core usb2_serial usb2_serial_3g dev/usb2/serial/uark2.c optional usb2_core usb2_serial usb2_serial_ark dev/usb2/serial/ubsa2.c optional usb2_core usb2_serial usb2_serial_bsa dev/usb2/serial/ubser2.c optional usb2_core usb2_serial usb2_serial_bser ==== //depot/projects/trustedbsd/capabilities/src/sys/conf/files.powerpc#5 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.powerpc,v 1.88 2009/01/01 13:26:53 ed Exp $ +# $FreeBSD: src/sys/conf/files.powerpc,v 1.89 2009/01/13 15:41:58 raj Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -84,7 +84,6 @@ powerpc/booke/locore.S optional e500 no-obj powerpc/booke/machdep.c optional e500 powerpc/booke/pmap.c optional e500 -powerpc/booke/support.S optional e500 powerpc/booke/swtch.S optional e500 powerpc/booke/trap.c optional e500 powerpc/booke/uio_machdep.c optional e500 ==== //depot/projects/trustedbsd/capabilities/src/sys/dev/sound/pci/hda/hdac.c#4 (text+ko) ==== @@ -83,9 +83,9 @@ #include "mixer_if.h" -#define HDA_DRV_TEST_REV "20090110_0123" +#define HDA_DRV_TEST_REV "20090113_0124" -SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/hda/hdac.c,v 1.88 2009/01/11 12:04:18 mav Exp $"); +SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/hda/hdac.c,v 1.89 2009/01/13 16:27:04 mav Exp $"); #define HDA_BOOTVERBOSE(stmt) do { \ if (bootverbose != 0 || snd_verbose > 3) { \ @@ -6111,6 +6111,29 @@ } static void +hdac_audio_ctl_commit(struct hdac_devinfo *devinfo) +{ + struct hdac_audio_ctl *ctl; + int i, z; + + i = 0; + while ((ctl = hdac_audio_ctl_each(devinfo, &i)) != NULL) { + if (ctl->enable == 0 || ctl->ossmask != 0) { + /* Mute disabled and mixer controllable controls. + * Last will be initialized by mixer_init(). + * This expected to reduce click on startup. */ + hdac_audio_ctl_amp_set(ctl, HDA_AMP_MUTE_ALL, 0, 0); + continue; + } + /* Init fixed controls to 0dB amplification. */ + z = ctl->offset; + if (z > ctl->step) + z = ctl->step; + hdac_audio_ctl_amp_set(ctl, HDA_AMP_MUTE_NONE, z, z); + } +} + +static void hdac_audio_commit(struct hdac_devinfo *devinfo) { struct hdac_softc *sc = devinfo->codec->sc; @@ -6126,11 +6149,41 @@ hdac_command(sc, HDA_CMD_12BIT(cad, devinfo->nid, 0x7e7, 0), cad); + /* Commit controls. */ + hdac_audio_ctl_commit(devinfo); + + /* Commit selectors, pins and EAPD. */ + for (i = 0; i < devinfo->nodecnt; i++) { + w = &devinfo->widget[i]; + if (w == NULL) + continue; + if (w->selconn == -1) + w->selconn = 0; + if (w->nconns > 0) + hdac_widget_connection_select(w, w->selconn); + if (w->type == HDA_PARAM_AUDIO_WIDGET_CAP_TYPE_PIN_COMPLEX) { + hdac_command(sc, + HDA_CMD_SET_PIN_WIDGET_CTRL(cad, w->nid, + w->wclass.pin.ctrl), cad); + } + if (w->param.eapdbtl != HDAC_INVALID) { + uint32_t val; + + val = w->param.eapdbtl; + if (devinfo->function.audio.quirks & + HDA_QUIRK_EAPDINV) + val ^= HDA_CMD_SET_EAPD_BTL_ENABLE_EAPD; + hdac_command(sc, + HDA_CMD_SET_EAPD_BTL_ENABLE(cad, w->nid, + val), cad); + } + } + + /* Commit GPIOs. */ gdata = 0; gmask = 0; gdir = 0; commitgpio = 0; - numgpio = HDA_PARAM_GPIO_COUNT_NUM_GPIO( devinfo->function.audio.gpio); @@ -6185,57 +6238,9 @@ HDA_CMD_SET_GPIO_DATA(cad, devinfo->nid, gdata), cad); } - - for (i = 0; i < devinfo->nodecnt; i++) { - w = &devinfo->widget[i]; - if (w == NULL) - continue; - if (w->selconn == -1) - w->selconn = 0; - if (w->nconns > 0) - hdac_widget_connection_select(w, w->selconn); - if (w->type == HDA_PARAM_AUDIO_WIDGET_CAP_TYPE_PIN_COMPLEX) { - hdac_command(sc, - HDA_CMD_SET_PIN_WIDGET_CTRL(cad, w->nid, - w->wclass.pin.ctrl), cad); - } - if (w->param.eapdbtl != HDAC_INVALID) { - uint32_t val; - - val = w->param.eapdbtl; - if (devinfo->function.audio.quirks & - HDA_QUIRK_EAPDINV) - val ^= HDA_CMD_SET_EAPD_BTL_ENABLE_EAPD; - hdac_command(sc, - HDA_CMD_SET_EAPD_BTL_ENABLE(cad, w->nid, - val), cad); - - } - } } static void -hdac_audio_ctl_commit(struct hdac_devinfo *devinfo) -{ - struct hdac_audio_ctl *ctl; - int i, z; - - i = 0; - while ((ctl = hdac_audio_ctl_each(devinfo, &i)) != NULL) { - if (ctl->enable == 0) { - /* Mute disabled controls. */ - hdac_audio_ctl_amp_set(ctl, HDA_AMP_MUTE_ALL, 0, 0); - continue; - } - /* Init controls to 0dB amplification. */ - z = ctl->offset; - if (z > ctl->step) - z = ctl->step; - hdac_audio_ctl_amp_set(ctl, HDA_AMP_MUTE_NONE, z, z); - } -} - -static void hdac_powerup(struct hdac_devinfo *devinfo) { struct hdac_softc *sc = devinfo->codec->sc; @@ -7477,10 +7482,6 @@ ); hdac_audio_commit(devinfo); HDA_BOOTHVERBOSE( - device_printf(sc->dev, "Ctls commit...\n"); - ); - hdac_audio_ctl_commit(devinfo); - HDA_BOOTHVERBOSE( device_printf(sc->dev, "HP switch init...\n"); ); hdac_hp_switch_init(devinfo); @@ -7730,10 +7731,6 @@ ); hdac_audio_commit(devinfo); HDA_BOOTHVERBOSE( - device_printf(dev, "Ctls commit...\n"); - ); - hdac_audio_ctl_commit(devinfo); - HDA_BOOTHVERBOSE( device_printf(dev, "HP switch init...\n"); ); hdac_hp_switch_init(devinfo); ==== //depot/projects/trustedbsd/capabilities/src/sys/dev/usb/usbdevs#8 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/sys/dev/usb/usbdevs,v 1.392 2009/01/09 04:38:22 thompsa Exp $ +$FreeBSD: src/sys/dev/usb/usbdevs,v 1.393 2009/01/13 19:01:25 thompsa Exp $ /* $NetBSD: usbdevs,v 1.392 2004/12/29 08:38:44 imp Exp $ */ /*- @@ -151,6 +151,7 @@ vendor KYOCERA 0x0482 Kyocera Wireless Corp. vendor STMICRO 0x0483 STMicroelectronics vendor FOXCONN 0x0489 Foxconn +vendor MEIZU 0x0492 Meizu Electronics vendor YAMAHA 0x0499 YAMAHA vendor COMPAQ 0x049f Compaq vendor HITACHI 0x04a4 Hitachi @@ -1657,6 +1658,9 @@ product MCT USB232 0x0210 USB-232 Interface product MCT SITECOM_USB232 0x0230 Sitecom USB-232 Products +/* Meizu Electronics */ +product MEIZU M6_SL 0x0140 MiniPlayer M6 (SL) + /* Melco, Inc products */ product MELCO LUATX1 0x0001 LUA-TX Ethernet product MELCO LUATX5 0x0005 LUA-TX Ethernet ==== //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/at91dci.c#2 (text+ko) ==== @@ -1,5 +1,5 @@ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/usb2/controller/at91dci.c,v 1.6 2009/01/04 00:12:01 alfred Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb2/controller/at91dci.c,v 1.11 2009/01/13 19:05:51 thompsa Exp $"); /*- * Copyright (c) 2007-2008 Hans Petter Selasky. All rights reserved. @@ -50,14 +50,11 @@ #include <dev/usb2/include/usb2_defs.h> #define USB_DEBUG_VAR at91dcidebug -#define usb2_config_td_cc at91dci_config_copy -#define usb2_config_td_softc at91dci_softc #include <dev/usb2/core/usb2_core.h> #include <dev/usb2/core/usb2_debug.h> #include <dev/usb2/core/usb2_busdma.h> #include <dev/usb2/core/usb2_process.h> -#include <dev/usb2/core/usb2_config_td.h> #include <dev/usb2/core/usb2_sw_transfer.h> #include <dev/usb2/core/usb2_transfer.h> #include <dev/usb2/core/usb2_device.h> @@ -106,7 +103,6 @@ static usb2_sw_transfer_func_t at91dci_root_intr_done; static usb2_sw_transfer_func_t at91dci_root_ctrl_done; -static usb2_config_td_command_t at91dci_root_ctrl_task; /* * NOTE: Some of the bits in the CSR register have inverse meaning so @@ -263,13 +259,13 @@ static void at91dci_wakeup_peer(struct usb2_xfer *xfer) { - struct at91dci_softc *sc = xfer->usb2_sc; + struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus); uint8_t use_polling; if (!(sc->sc_flags.status_suspend)) { return; } - use_polling = mtx_owned(xfer->xfer_mtx) ? 1 : 0; + use_polling = mtx_owned(xfer->xroot->xfer_mtx) ? 1 : 0; AT91_UDP_WRITE_4(sc, AT91_UDP_GSTATE, AT91_UDP_GSTATE_ESR); @@ -702,7 +698,7 @@ return (1); /* not complete */ done: - sc = xfer->usb2_sc; + sc = AT9100_DCI_BUS2SC(xfer->xroot->bus); temp = (xfer->endpoint & UE_ADDR); /* update FIFO bank flag and multi buffer */ @@ -733,11 +729,9 @@ } } -static void -at91dci_vbus_interrupt(struct usb2_bus *bus, uint8_t is_on) +void +at91dci_vbus_interrupt(struct at91dci_softc *sc, uint8_t is_on) { - struct at91dci_softc *sc = AT9100_DCI_BUS2SC(bus); - DPRINTFN(5, "vbus = %u\n", is_on); USB_BUS_LOCK(&sc->sc_bus); @@ -764,7 +758,6 @@ &at91dci_root_intr_done); } } - USB_BUS_UNLOCK(&sc->sc_bus); } @@ -890,7 +883,7 @@ DPRINTFN(9, "addr=%d endpt=%d sumlen=%d speed=%d\n", xfer->address, UE_GET_ADDR(xfer->endpoint), - xfer->sumlen, usb2_get_speed(xfer->udev)); + xfer->sumlen, usb2_get_speed(xfer->xroot->udev)); temp.max_frame_size = xfer->max_frame_size; @@ -905,7 +898,7 @@ temp.setup_alt_next = xfer->flags_int.short_frames_ok; temp.offset = 0; - sc = xfer->usb2_sc; + sc = AT9100_DCI_BUS2SC(xfer->xroot->bus); ep_no = (xfer->endpoint & UE_ADDR); /* check if we should prepend a setup message */ @@ -1032,7 +1025,7 @@ DPRINTF("xfer=%p\n", xfer); - USB_BUS_LOCK_ASSERT(xfer->udev->bus, MA_OWNED); + USB_BUS_LOCK_ASSERT(xfer->xroot->bus, MA_OWNED); /* transfer is transferred */ at91dci_device_done(xfer, USB_ERR_TIMEOUT); @@ -1046,7 +1039,7 @@ /* poll one time */ if (at91dci_xfer_do_fifo(xfer)) { - struct at91dci_softc *sc = xfer->usb2_sc; + struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus); uint8_t ep_no = xfer->endpoint & UE_ADDR; /* @@ -1059,7 +1052,7 @@ DPRINTFN(15, "enable interrupts on endpoint %d\n", ep_no); /* put transfer on interrupt queue */ - usb2_transfer_enqueue(&xfer->udev->bus->intr_q, xfer); + usb2_transfer_enqueue(&xfer->xroot->bus->intr_q, xfer); /* start timeout, if any */ if (xfer->timeout != 0) { @@ -1073,7 +1066,7 @@ at91dci_root_intr_done(struct usb2_xfer *xfer, struct usb2_sw_transfer *std) { - struct at91dci_softc *sc = xfer->usb2_sc; + struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus); DPRINTFN(9, "\n"); @@ -1213,7 +1206,7 @@ static void at91dci_device_done(struct usb2_xfer *xfer, usb2_error_t error) { - struct at91dci_softc *sc = xfer->usb2_sc; + struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus); uint8_t ep_no; USB_BUS_LOCK_ASSERT(&sc->sc_bus, MA_OWNED); @@ -1627,7 +1620,7 @@ static void at91dci_device_isoc_fs_enter(struct usb2_xfer *xfer) { - struct at91dci_softc *sc = xfer->usb2_sc; + struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus); uint32_t temp; uint32_t nframes; @@ -1709,7 +1702,7 @@ static void at91dci_root_ctrl_close(struct usb2_xfer *xfer) { - struct at91dci_softc *sc = xfer->usb2_sc; + struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus); if (sc->sc_root_ctrl.xfer == xfer) { sc->sc_root_ctrl.xfer = NULL; @@ -1783,7 +1776,7 @@ .wHubCharacteristics[0] = (UHD_PWR_NO_SWITCH | UHD_OC_INDIVIDUAL) & 0xFF, .wHubCharacteristics[1] = - (UHD_PWR_NO_SWITCH | UHD_OC_INDIVIDUAL) >> 16, + (UHD_PWR_NO_SWITCH | UHD_OC_INDIVIDUAL) >> 8, .bPwrOn2PwrGood = 50, .bHubContrCurrent = 0, .DeviceRemovable = {0}, /* port is removable */ @@ -1813,26 +1806,24 @@ static void at91dci_root_ctrl_start(struct usb2_xfer *xfer) { - struct at91dci_softc *sc = xfer->usb2_sc; + struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus); sc->sc_root_ctrl.xfer = xfer; - usb2_config_td_queue_command( - &sc->sc_config_td, NULL, &at91dci_root_ctrl_task, 0, 0); + usb2_bus_roothub_exec(xfer->xroot->bus); } static void -at91dci_root_ctrl_task(struct at91dci_softc *sc, - struct at91dci_config_copy *cc, uint16_t refcount) +at91dci_root_ctrl_task(struct usb2_bus *bus) { - at91dci_root_ctrl_poll(sc); + at91dci_root_ctrl_poll(AT9100_DCI_BUS2SC(bus)); } static void at91dci_root_ctrl_done(struct usb2_xfer *xfer, struct usb2_sw_transfer *std) { - struct at91dci_softc *sc = xfer->usb2_sc; + struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus); uint16_t value; uint16_t index; uint8_t use_polling; @@ -1853,7 +1844,7 @@ value = UGETW(std->req.wValue); index = UGETW(std->req.wIndex); - use_polling = mtx_owned(xfer->xfer_mtx) ? 1 : 0; + use_polling = mtx_owned(xfer->xroot->xfer_mtx) ? 1 : 0; /* demultiplex the control request */ @@ -2258,7 +2249,7 @@ static void at91dci_root_intr_close(struct usb2_xfer *xfer) { - struct at91dci_softc *sc = xfer->usb2_sc; + struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus); if (sc->sc_root_intr.xfer == xfer) { sc->sc_root_intr.xfer = NULL; @@ -2275,7 +2266,7 @@ static void at91dci_root_intr_start(struct usb2_xfer *xfer) { - struct at91dci_softc *sc = xfer->usb2_sc; + struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus); sc->sc_root_intr.xfer = xfer; } @@ -2305,11 +2296,6 @@ xfer = parm->curr_xfer; /* - * setup xfer - */ - xfer->usb2_sc = sc; - - /* * NOTE: This driver does not use any of the parameters that * are computed from the following values. Just set some * reasonable dummies: @@ -2477,5 +2463,5 @@ .get_hw_ep_profile = &at91dci_get_hw_ep_profile, .set_stall = &at91dci_set_stall, .clear_stall = &at91dci_clear_stall, - .vbus_interrupt = &at91dci_vbus_interrupt, + .roothub_exec = &at91dci_root_ctrl_task, }; ==== //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/at91dci.h#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/usb2/controller/at91dci.h,v 1.1 2008/11/04 02:31:03 alfred Exp $ */ +/* $FreeBSD: src/sys/dev/usb2/controller/at91dci.h,v 1.4 2009/01/13 19:03:33 thompsa Exp $ */ /*- * Copyright (c) 2006 ATMEL * Copyright (c) 2007 Hans Petter Selasky <hselasky@freebsd.org> @@ -34,6 +34,8 @@ #ifndef _AT9100_DCI_H_ #define _AT9100_DCI_H_ +#define AT91_MAX_DEVICES (USB_MIN_DEVICES + 1) + #define AT91_UDP_FRM 0x00 /* Frame number register */ #define AT91_UDP_FRM_MASK (0x7FF << 0) /* Frame Number as Defined in * the Packet Field Formats */ @@ -204,8 +206,8 @@ LIST_HEAD(, usb2_xfer) sc_interrupt_list_head; struct usb2_sw_transfer sc_root_ctrl; struct usb2_sw_transfer sc_root_intr; - struct usb2_config_td sc_config_td; + struct usb2_device *sc_devices[AT91_MAX_DEVICES]; struct resource *sc_io_res; struct resource *sc_irq_res; void *sc_intr_hdl; @@ -238,5 +240,6 @@ void at91dci_suspend(struct at91dci_softc *sc); void at91dci_resume(struct at91dci_softc *sc); void at91dci_interrupt(struct at91dci_softc *sc); +void at91dci_vbus_interrupt(struct at91dci_softc *sc, uint8_t is_on); #endif /* _AT9100_DCI_H_ */ ==== //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/at91dci_atmelarm.c#2 (text+ko) ==== @@ -1,5 +1,5 @@ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/usb2/controller/at91dci_atmelarm.c,v 1.4 2008/12/23 17:36:25 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb2/controller/at91dci_atmelarm.c,v 1.7 2009/01/13 19:03:33 thompsa Exp $"); /*- * Copyright (c) 2007-2008 Hans Petter Selasky. All rights reserved. @@ -34,7 +34,6 @@ #include <dev/usb2/core/usb2_core.h> #include <dev/usb2/core/usb2_busdma.h> #include <dev/usb2/core/usb2_process.h> -#include <dev/usb2/core/usb2_config_td.h> #include <dev/usb2/core/usb2_sw_transfer.h> #include <dev/usb2/core/usb2_util.h> @@ -73,7 +72,7 @@ }; static void -at91_vbus_interrupt(struct at91_udp_softc *sc) +at91_vbus_poll(struct at91_udp_softc *sc) { uint32_t temp; uint8_t vbus_val; @@ -85,8 +84,7 @@ /* just forward it */ vbus_val = at91_pio_gpio_get(VBUS_BASE, VBUS_MASK); - (sc->sc_dci.sc_bus.methods->vbus_interrupt) - (&sc->sc_dci.sc_bus, vbus_val); + at91dci_vbus_interrupt(&sc->sc_dci, vbus_val); } static void @@ -145,9 +143,12 @@ sc->sc_dci.sc_pull_down = &at91_udp_pull_down; sc->sc_dci.sc_pull_arg = sc; + /* initialise some bus fields */ + sc->sc_dci.sc_bus.parent = dev; + sc->sc_dci.sc_bus.devices = sc->sc_dci.sc_devices; + sc->sc_dci.sc_bus.devices_max = AT91_MAX_DEVICES; + /* get all DMA memory */ - - sc->sc_dci.sc_bus.parent = dev; if (usb2_bus_mem_alloc_all(&sc->sc_dci.sc_bus, USB_GET_DMA_TAG(dev), NULL)) { return (ENOMEM); @@ -205,12 +206,6 @@ } device_set_ivars(sc->sc_dci.sc_bus.bdev, &sc->sc_dci.sc_bus); - err = usb2_config_td_setup(&sc->sc_dci.sc_config_td, sc, - &sc->sc_dci.sc_bus.bus_mtx, NULL, 0, 4); - if (err) { - device_printf(dev, "could not setup config thread!\n"); - goto error; - } #if (__FreeBSD_version >= 700031) err = bus_setup_intr(dev, sc->sc_dci.sc_irq_res, INTR_TYPE_BIO | INTR_MPSAFE, NULL, (void *)at91dci_interrupt, sc, &sc->sc_dci.sc_intr_hdl); @@ -224,10 +219,10 @@ } #if (__FreeBSD_version >= 700031) err = bus_setup_intr(dev, sc->sc_vbus_irq_res, INTR_TYPE_BIO | INTR_MPSAFE, - NULL, (void *)at91_vbus_interrupt, sc, &sc->sc_vbus_intr_hdl); + NULL, (void *)at91_vbus_poll, sc, &sc->sc_vbus_intr_hdl); #else err = bus_setup_intr(dev, sc->sc_vbus_irq_res, INTR_TYPE_BIO | INTR_MPSAFE, - (void *)at91_vbus_interrupt, sc, &sc->sc_vbus_intr_hdl); + (void *)at91_vbus_poll, sc, &sc->sc_vbus_intr_hdl); #endif if (err) { sc->sc_vbus_intr_hdl = NULL; @@ -241,7 +236,7 @@ goto error; } else { /* poll VBUS one time */ - at91_vbus_interrupt(sc); + at91_vbus_poll(sc); } return (0); @@ -305,8 +300,6 @@ sc->sc_dci.sc_io_res); sc->sc_dci.sc_io_res = NULL; } - usb2_config_td_unsetup(&sc->sc_dci.sc_config_td); - usb2_bus_mem_free_all(&sc->sc_dci.sc_bus, NULL); /* disable clocks */ ==== //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/ehci2.c#2 (text+ko) ==== @@ -44,7 +44,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/usb2/controller/ehci2.c,v 1.6 2009/01/04 00:12:01 alfred Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb2/controller/ehci2.c,v 1.8 2009/01/13 19:03:12 thompsa Exp $"); #include <dev/usb2/include/usb2_standard.h> #include <dev/usb2/include/usb2_mfunc.h> @@ -52,14 +52,11 @@ #include <dev/usb2/include/usb2_defs.h> #define USB_DEBUG_VAR ehcidebug -#define usb2_config_td_cc ehci_config_copy -#define usb2_config_td_softc ehci_softc #include <dev/usb2/core/usb2_core.h> #include <dev/usb2/core/usb2_debug.h> #include <dev/usb2/core/usb2_busdma.h> #include <dev/usb2/core/usb2_process.h> -#include <dev/usb2/core/usb2_config_td.h> #include <dev/usb2/core/usb2_sw_transfer.h> #include <dev/usb2/core/usb2_transfer.h> #include <dev/usb2/core/usb2_device.h> @@ -99,7 +96,6 @@ extern struct usb2_pipe_methods ehci_root_ctrl_methods; extern struct usb2_pipe_methods ehci_root_intr_methods; -static usb2_config_td_command_t ehci_root_ctrl_task; static void ehci_do_poll(struct usb2_bus *bus); static void ehci_root_ctrl_poll(ehci_softc_t *sc); static void ehci_device_done(struct usb2_xfer *xfer, usb2_error_t error); @@ -975,7 +971,7 @@ return; } /* put transfer on interrupt queue */ - usb2_transfer_enqueue(&xfer->udev->bus->intr_q, xfer); + usb2_transfer_enqueue(&xfer->xroot->bus->intr_q, xfer); /* start timeout, if any */ if (xfer->timeout != 0) { @@ -1139,7 +1135,7 @@ static usb2_error_t ehci_non_isoc_done_sub(struct usb2_xfer *xfer) { - ehci_softc_t *sc = xfer->usb2_sc; + ehci_softc_t *sc = EHCI_BUS2SC(xfer->xroot->bus); ehci_qtd_t *td; ehci_qtd_t *td_alt_next; uint32_t status; @@ -1243,7 +1239,7 @@ #if USB_DEBUG if (ehcidebug > 10) { - ehci_softc_t *sc = xfer->usb2_sc; + ehci_softc_t *sc = EHCI_BUS2SC(xfer->xroot->bus); ehci_dump_sqtds(sc, xfer->td_transfer_first); } @@ -1295,7 +1291,7 @@ ehci_check_transfer(struct usb2_xfer *xfer) { struct usb2_pipe_methods *methods = xfer->pipe->methods; - ehci_softc_t *sc = xfer->usb2_sc; + ehci_softc_t *sc = EHCI_BUS2SC(xfer->xroot->bus); uint32_t status; @@ -1525,7 +1521,7 @@ DPRINTF("xfer=%p\n", xfer); - USB_BUS_LOCK_ASSERT(xfer->udev->bus, MA_OWNED); + USB_BUS_LOCK_ASSERT(xfer->xroot->bus, MA_OWNED); /* transfer is transferred */ ehci_device_done(xfer, USB_ERR_TIMEOUT); @@ -1735,11 +1731,11 @@ DPRINTFN(9, "addr=%d endpt=%d sumlen=%d speed=%d\n", xfer->address, UE_GET_ADDR(xfer->endpoint), - xfer->sumlen, usb2_get_speed(xfer->udev)); + xfer->sumlen, usb2_get_speed(xfer->xroot->udev)); temp.average = xfer->max_usb2_frame_size; temp.max_frame_size = xfer->max_frame_size; - temp.sc = xfer->usb2_sc; + temp.sc = EHCI_BUS2SC(xfer->xroot->bus); /* toggle the DMA set we are using */ xfer->flags_int.curr_dma_set ^= 1; @@ -1767,7 +1763,7 @@ temp.auto_data_toggle = 1; } - if (usb2_get_speed(xfer->udev) != USB_SPEED_HIGH) { + if (usb2_get_speed(xfer->xroot->udev) != USB_SPEED_HIGH) { /* max 3 retries */ temp.qtd_status |= htoehci32(temp.sc, EHCI_QTD_SET_CERR(3)); @@ -1898,12 +1894,12 @@ EHCI_QH_SET_ENDPT(UE_GET_ADDR(xfer->endpoint)) | EHCI_QH_SET_MPL(xfer->max_packet_size)); - if (usb2_get_speed(xfer->udev) == USB_SPEED_HIGH) { + if (usb2_get_speed(xfer->xroot->udev) == USB_SPEED_HIGH) { qh_endp |= (EHCI_QH_SET_EPS(EHCI_QH_SPEED_HIGH) | EHCI_QH_DTC | EHCI_QH_SET_NRL(8)); } else { - if (usb2_get_speed(xfer->udev) == USB_SPEED_FULL) { + if (usb2_get_speed(xfer->xroot->udev) == USB_SPEED_FULL) { qh_endp |= (EHCI_QH_SET_EPS(EHCI_QH_SPEED_FULL) | EHCI_QH_DTC); } else { @@ -1926,8 +1922,8 @@ (EHCI_QH_SET_MULT(xfer->max_packet_count & 3) | EHCI_QH_SET_CMASK(xfer->usb2_cmask) | EHCI_QH_SET_SMASK(xfer->usb2_smask) | - EHCI_QH_SET_HUBA(xfer->udev->hs_hub_addr) | - EHCI_QH_SET_PORT(xfer->udev->hs_port_no)); + EHCI_QH_SET_HUBA(xfer->xroot->udev->hs_hub_addr) | + EHCI_QH_SET_PORT(xfer->xroot->udev->hs_port_no)); qh->qh_endphub = htoehci32(temp.sc, qh_endphub); qh->qh_curqtd = htoehci32(temp.sc, 0); @@ -1955,7 +1951,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200901132215.n0DMF8NS017431>