Re: VL805 USB 3.0 does not see connected devices (only on x86_64) (x86 is ok)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/12/2016 03:56 AM, Mathias Nyman wrote:
> On 10.09.2016 17:19, Greg KH wrote:
>> On Sat, Sep 10, 2016 at 04:33:05PM +0300, c400 wrote:
>>> my DMESG file
>>
>>> [   13.331618] usb 3-1: device descriptor read/64, error -110
>>> [   28.535180] usb 3-1: device descriptor read/64, error -110
>>> [   28.737931] usb 3-1: new high-speed USB device number 3 using
>>> xhci_hcd
>>> [   33.840034] usb 3-1: device descriptor read/64, error -110
>>> [   49.043616] usb 3-1: device descriptor read/64, error -110
>>> [   49.246347] usb 3-1: new high-speed USB device number 4 using
>>> xhci_hcd
>>> [   65.941816] xhci_hcd 0000:02:00.0: Stopped the command ring
>>> failed, maybe the host is dead
>>> [   65.965209] xhci_hcd 0000:02:00.0: Host not halted after 16000
>>> microseconds.
>>> [   65.965211] xhci_hcd 0000:02:00.0: Abort command ring failed
>>> [   65.965213] xhci_hcd 0000:02:00.0: HC died; cleaning up
>>> [   65.965264] xhci_hcd 0000:02:00.0: Timeout while waiting for setup
>>> device command
>>
>>
>> This is the bad part.
>>
>> Mathias, any ideas?  I feel like we fixed something like this in the
>> past for 64bit systems...
>>
> 
> There was at least xhci controllers on  R-car SoCs that didn't support
> 64bit DMA even if they claimed to.
> 
> This could be 64bit DMA related as well. Before the usb device
> descriptor read errors there is this in the lod:
> 
> [   10.124261] ioatdma: Intel(R) QuickData Technology Driver 4.00
> [   10.124425] ioatdma 0000:00:04.0: channel error register unreachable
> [   10.124427] ioatdma 0000:00:04.0: channel enumeration error
> [   10.124430] ioatdma 0000:00:04.0: Intel(R) I/OAT DMA Engine init failed
> [   10.124582] ioatdma 0000:00:04.1: channel error register unreachable
> [   10.124583] ioatdma 0000:00:04.1: channel enumeration error
> [   10.124586] ioatdma 0000:00:04.1: Intel(R) I/OAT DMA Engine init failed
>  (for all channels up to 0000:00:04.7)

At least for this part is due to you don't have access to the extended
PCI config space. The older kernels have a config option I believe and
the newer kernels this should be by default enabled. I doubt they are
related to your USB issues though.


> 
> Could you (c400?) try forcing xhci to use 32bit DMA? it can be done by
> setting XHCI_NO_64BIT_SUPPORT flag.
> add 0x800000 to quirks module paramterer when re-loading xhci.
> In your case, load xhci with:
> 
> sudo modprobe xhci_hcd quirks=0x00800090
> sudo modprobe xhci_pci
> 
> Just to see if we can narrow it down to a 64 bit DMA related issue.
> 
> I Added ioatdma people to cc in case those errors are relevant.
> 
> Also adding extra xhci debugging could help pinpoint this:
> echo -n 'module xhci_hcd =p' > /sys/kernel/debug/dynamic_debug/control
> 
> -Mathias
--
To unsubscribe from this list: send the line "unsubscribe dmaengine" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux