PERFORCE change 156118 for review
Robert Watson
rwatson at FreeBSD.org
Tue Jan 13 14:15:11 PST 2009
http://perforce.freebsd.org/chv.cgi?CH=156118
Change 156118 by rwatson at 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 at 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) <<<
More information about the p4-projects
mailing list