From owner-freebsd-usb@FreeBSD.ORG Tue Oct 22 19:22:11 2013 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id AF2B322A for ; Tue, 22 Oct 2013 19:22:11 +0000 (UTC) (envelope-from dwhite@gumbysoft.com) Received: from carver.gumbysoft.com (carver.gumbysoft.com [66.220.23.50]) by mx1.freebsd.org (Postfix) with ESMTP id 9B2BC2152 for ; Tue, 22 Oct 2013 19:22:11 +0000 (UTC) Received: from kruse-235.2.ixsystems.com (unknown [69.198.165.132]) by carver.gumbysoft.com (Postfix) with ESMTPSA id 4D2E4C5743; Tue, 22 Oct 2013 12:22:05 -0700 (PDT) Subject: Re: xhci on Intel Lynx Point still broke Mime-Version: 1.0 (Apple Message framework v1085) Content-Type: text/plain; charset=us-ascii From: Doug White In-Reply-To: <5260D409.5070906@bitfrost.no> Date: Tue, 22 Oct 2013 12:22:04 -0700 Content-Transfer-Encoding: quoted-printable Message-Id: <88AA7F2E-5C4F-416F-8737-35A51FDC7715@gumbysoft.com> References: <7CFE54E6-7FD5-40C5-B1FC-BBF46134A6AE@gumbysoft.com> <525F7B60.6030102@bitfrost.no> <5260D409.5070906@bitfrost.no> To: Hans Petter Selasky X-Mailer: Apple Mail (2.1085) Cc: sarah.a.sharp@linux.intel.com, freebsd-usb@freebsd.org X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Oct 2013 19:22:11 -0000 Hello, I did a build this morning from HEAD with the XHCI change committed the = other day and no change in status. The machine doesn't react at all to = plug/unplug events. I read through the XHCI spec and noticed that it allows MSI-X = configuration but the current driver is MSI-only -- maybe this is = related? vmstat -i might help give an idea: interrupt total rate cpu0:timer 26368 22 irq264: xhci0 1 0 On Oct 17, 2013, at 11:24 PM, Hans Petter Selasky wrote: > On 10/18/13 03:23, Doug White wrote: >>=20 >> On Oct 16, 2013, at 10:53 PM, Hans Petter Selasky wrote: >>=20 >>> Is the problem fixed if you set: >>>=20 >>> hw.usb.xhci.xhci_port_route=3D-1 >>>=20 >>> in /boot/loader.conf >>=20 >> No, no change in (lack of) functionality. >>=20 >> I uploaded these bootverbose-enabled dmesg outputs: >>=20 >> With XHCI Mode =3D Disabled in BIOS (reverts ports to EHCI control): >>=20 >> http://people.freebsd.org/~dwhite/dmesg.xhci_off_in_bios.20131017 >>=20 >> With XHCI Mode =3D Enabled in BIOS and with tunable = hw.usb.xhci.xhci_port_route=3D-1 set: >>=20 >> http://people.freebsd.org/~dwhite/dmesg.xhci_on.with_routing.20131017 >>=20 >>> XHCI is a more high-level controller, and I suspect that the makers = have added some propritary glue to switch ports back and forth between = XHCI and EHCI which is not documented anywhere. >>=20 >> On the first board (X10SLM-F), XHCI Mode is a BIOS setting and = affects all USB ports. I haven't experimented with settings on the Atom = yet. The Atom uses a Renesas chip for its USB ports, though, and no USB = from the SoC itself, that I can tell. >>=20 >=20 > Hi Doug, >=20 > It looks like the XHCI controller is not getting any port events, like = it should. Basically the XHCI controller you've got does not behave like = I would expect, according to the XHCI specification from INTEL. >=20 > I've CC'ed Sarah Sharp @ Intel which is working on the Linux XHCI = driver. >=20 > --HPS >=20 > Hi Sarah! >=20 > We FreeBSD guys have seen several oddities regarding the Lynx Point = Intel based controllers, and would like to know if some additional = datasheets exist regarding how ports switch actually works. >=20 > The last issue on the block was that the Lynx Point's returned a = invalid parameter error on the set address command which configures the = device context (no set address sent), if a USB device was plugged into = the XHCI controller, and the port routing was enabled. If the command = was issued when no USB device was plugged in by faking a port connection = status change, then it would succeed. >=20 >> = http://svnweb.freebsd.org/base/head/sys/dev/usb/controller/xhci.c?r1=3D255= 356&r2=3D255768 >=20 > I'm sorry to say I fear this extra magic about the port routing for = Lynx Points is not working like expected. Sarah, do you have any more = clues for us FreeBSD USB guys? >=20 > Thank you! >=20 > --HPS