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

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

 



On Fri, May 8, 2015 at 9:24 PM, Tim Nordell <tim.nordell@xxxxxxxxxxx> wrote:
> On 05/07/15 17:12, Tim Nordell wrote:
>>
>> On 05/07/15 16:41, Tim Nordell wrote:
>>>
>>> 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).
>>
>>
>> The system survives this.  I'm not sure if it's just because of
>> different usages of the system, or if because there is still an issue
>> with TX/RX DMA at the same time despite the advisory for the hardware
>> still being followed.
>>
>
> I was wrong about the MUSB code implementing the advisory correctly.  I
> misread the advisory as saying 32-bit aligned when in fact it says 32-byte
> aligned.  The additional constraints for the DMA advisory on the DM37x
> states that for Tx DMA packets, the data should be 32-byte aligned (Rx can
> go to any alignment still).  It also has payload size constraints for both
> Rx and Tx which aren't checked in the existing MUSB driver.
>
> Doing some testing, the USB networking stack isn't sending 32-byte aligned
> buffers so I can't double check to see if this completely fixes it or if
> it's just masking it by adding some additional checks.  For our system,
> we're going to leave the Tx DMAs completely disabled.
>
> At some point a patch should be developed which follows Advisory 1.81 for
> the DM3730 part.

Well, in MUSB driver we already have a code that prepares 4-bytes
aligned buffers
for new DMA engines. Please look at musb_host.c around
musb_{un}map_urb_for_dma()
that do that preparation.
When I was impelenting that few years ago I was aware only about OMAP4
MUSB DMA issue
so feel free to update it for DM37x as well.
Networking layer sends 2-bytes shifted buffers that's why it's failing.
Try to change MUSB_USB_DMA_ALIGN to 32 and see if it helps.

Good luck

Ruslan Bilovol
--
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