Re: DM3730 + MUSB host mode + DMA + USB Ethernet dongle = Fail

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

 





On 05/07/15 16:26, Tim Nordell wrote:
Hi Felipe -

On 05/07/15 16:21, Bin Liu wrote:
I'm sorry if you are already aware of this information.
Just wanted to share my experience.

AFAIK, there is a hardware bug with MUSB Host controller.
See ARM_MPU.KERNEL.39 at
http://processors.wiki.ti.com/index.php/Sitara_SDK_6.00.00_Release_Notes
I assume it is common across AM335x and DM3730.

No, it is not.

One thing I just found errata advisory 1.81 for the DM37x indicating
that "USB OTG DMA May Stall Under Specific Configuration".  Does the
MUSB driver account for this advisory?  If not, maybe all DMA requests
for the MUSB port could be queued for the DM37x so that they're
guaranteed to be one at a time?  If double buffering enabled in the
FIFO, it should permit fast bursts of data in and out of the MUSB driver.


Comparing the errata to the code, it appears to be utilizing the workarounds listed in the errata. It looks like commit c0f1f8e38f committed the larger burst rates, and it also checks for addresses being aligned to 4-bytes wide already. So that errata probably isn't applicable (or at least, the given errata workarounds are definitely in the current kernel).

I'm going to try another test which limits the TX or RX activity to PIO mode only just to see what happens if I avoid the trigger listed in that specific errata (despite the workaround for the errata being present).

- Tim


--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux