Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Oct 2013 12:22:04 -0700
From:      Doug White <dwhite@gumbysoft.com>
To:        Hans Petter Selasky <hps@bitfrost.no>
Cc:        sarah.a.sharp@linux.intel.com, freebsd-usb@freebsd.org
Subject:   Re: xhci on Intel Lynx Point still broke
Message-ID:  <88AA7F2E-5C4F-416F-8737-35A51FDC7715@gumbysoft.com>
In-Reply-To: <5260D409.5070906@bitfrost.no>
References:  <7CFE54E6-7FD5-40C5-B1FC-BBF46134A6AE@gumbysoft.com> <525F7B60.6030102@bitfrost.no> <F5752726-258A-4744-A6C2-CF998EA7EBDD@gumbysoft.com> <5260D409.5070906@bitfrost.no>

next in thread | previous in thread | raw e-mail | index | archive | help
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?88AA7F2E-5C4F-416F-8737-35A51FDC7715>