From 8d7845fd770d4f2e89eaf7c6acd6ee8711a4bf3a Mon Sep 17 00:00:00 2001 From: Yojiro Uo Date: Sun, 29 Jun 2008 10:04:16 +0000 Subject: add usb2.0 to usb1.1(ohci/uchi) handover request to usb subsystem. add new quirk entry for uvideo which is required isoc transfer. Some usb2.0 devices use isochronous transfer but current usb subsystem does not support isoc transfer in ehci(usb2.0) bus. This patch introduce new psuedo usb hub request UHF_PORT_DISOWN_TO_1_1 to handover the device to ehci to usb1.1 bus(ohci or uhci). ok mglocker@ deraadt@ fgsch@ --- sys/dev/usb/ehci.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'sys/dev/usb/ehci.c') diff --git a/sys/dev/usb/ehci.c b/sys/dev/usb/ehci.c index 360797439b0..da641102b1d 100644 --- a/sys/dev/usb/ehci.c +++ b/sys/dev/usb/ehci.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ehci.c,v 1.83 2008/06/26 05:42:18 ray Exp $ */ +/* $OpenBSD: ehci.c,v 1.84 2008/06/29 10:04:15 yuo Exp $ */ /* $NetBSD: ehci.c,v 1.66 2004/06/30 03:11:56 mycroft Exp $ */ /* @@ -1897,6 +1897,12 @@ ehci_root_ctrl_start(usbd_xfer_handle xfer) case UHF_PORT_SUSPEND: EOWRITE4(sc, port, v | EHCI_PS_SUSP); break; + case UHF_PORT_DISOWN_TO_1_1: + /* enter to Port Reset State */ + v &= ~EHCI_PS_PE; + EOWRITE4(sc, port, v | EHCI_PS_PR); + ehci_disown(sc, index, 0); + break; case UHF_PORT_RESET: DPRINTFN(5,("ehci_root_ctrl_start: reset port %d\n", index)); -- cgit v1.2.3